2011-09-21 74 views
2

我的Qt Symbian应用程序支持多种语言,我已经设法翻译所有内容,但唯一不变的是菜单栏,即使当我改变手机语言环境时,它被命名为“选项”,菜单栏的名称仍然是相同。如何在Symbian应用程序中重命名“选项”菜单?

此外,当我打开菜单时,软键具有名称“选择”和“取消”,尽管这些名称在更改手机语言环境时会更改。

所以,我的问题是 - 是否有一种方法来重命名菜单栏,并更改软键时菜单打开,而无需更改电话区域设置?

编辑:或者,允许重命名左软键的Symbian本机代码,将会很好。

+0

当您更改手机的语言时,其他(非Qt)应用程序的行为如何? 我测试过一些诺基亚手机,当改变语言,然后重新启动后选项被正确翻译(像所有其他菜单)。 – Riho

+0

@Riho手机语言环境更改时,我的测试手机(E66和X6)上的“选项”文本不会更改。你测试过哪些手机?什么是你使用的Qt版本?我在4.7.3上。 – qrdl

+0

我用过E6。因此,即使使用内置应用程序(时钟,通讯录等),选项文本也会以英文显示? – Riho

回答

1

通常,选项和取消名称与电话的区域设置相匹配。如果你想将它们翻译成另一种语言,这里是如何在本地Symbian改变右软键在运行时:

// Change the Exit softkey to Hide 
HBufC* hideText(CCoeEnv::Static()->AllocReadResourceLC(R_MYAPP_HIDE)); 
TInt pos(Cba()->PositionById(EAknSoftkeyExit)); 
Cba()->RemoveCommandFromStack(pos, EAknSoftkeyExit); 
Cba()->SetCommandL(pos, EPodOClockCmdHide, *hideText); 
CleanupStack::PopAndDestroy(hideText); 

尝试EAknSoftkeyOptions改变左软键。

+0

谢谢,我会试一试 – qrdl

+0

我不是很擅长原生Symbian编码,你能帮我吗?我不知道需要包含哪些标题,以及要链接哪些库。 – qrdl

+0

搜索[Nokia开发人员](https://www.developer.nokia.com/)。 API库会告诉你需要哪些头文件和库。另请查看[this](http://www.developer.nokia.com/Community/Wiki/Change_softkeys_dynamically_(either_right_or_left_or_both)),其中说明您需要eikbtgpc.h和eikcoctl.lib。 – Hugo

相关问题