More work to get better i18n support.

This commit is contained in:
Martín Lucas Golini
2024-02-09 22:39:19 -03:00
parent f875672a3d
commit 9c2822e3d6
26 changed files with 572 additions and 236 deletions

View File

@@ -165,8 +165,7 @@ class UITerminal : public UIWidget {
virtual int getContentSize() const;
UIMenuItem* menuAdd( UIPopUpMenu* menu, const std::string& translateKey,
const String& translateString, const std::string& icon,
UIMenuItem* menuAdd( UIPopUpMenu* menu, const String& translateString, const std::string& icon,
const std::string& cmd );
virtual bool onCreateContextMenu( const Vector2i& position, const Uint32& flags );

View File

@@ -536,13 +536,14 @@ void UITerminal::createDefaultContextMenuOptions( UIPopUpMenu* menu ) {
auto sel( mTerm->getTerminal()->getSelection() );
if ( LuaPattern::matches( sel, LuaPattern::getURIPattern() ) ) {
menuAdd( menu, "open_link", "Open Link", "earth", "terminal-open-link" );
menuAdd( menu, i18n( "uiterminal_open_link", "Open Link" ), "earth",
"terminal-open-link" );
}
}
menuAdd( menu, "copy", "Copy", "copy", "terminal-copy" )
menuAdd( menu, i18n( "uiterminal_copy", "Copy" ), "copy", "terminal-copy" )
->setEnabled( mTerm->getTerminal() && mTerm->getTerminal()->hasSelection() );
menuAdd( menu, "paste", "Paste", "paste", "terminal-paste" )
menuAdd( menu, i18n( "uiterminal_paste", "Paste" ), "paste", "terminal-paste" )
->setEnabled( !getUISceneNode()->getWindow()->getClipboard()->getText().empty() );
}
@@ -553,12 +554,10 @@ Drawable* UITerminal::findIcon( const std::string& name ) {
return nullptr;
}
UIMenuItem* UITerminal::menuAdd( UIPopUpMenu* menu, const std::string& translateKey,
const String& translateString, const std::string& icon,
const std::string& cmd ) {
UIMenuItem* UITerminal::menuAdd( UIPopUpMenu* menu, const String& translateString,
const std::string& icon, const std::string& cmd ) {
UIMenuItem* menuItem =
menu->add( i18n( "uiterminal_" + translateKey, translateString ), findIcon( icon ),
mKeyBindings.getCommandKeybindString( cmd ) );
menu->add( translateString, findIcon( icon ), mKeyBindings.getCommandKeybindString( cmd ) );
menuItem->setId( cmd );
return menuItem;
}