我正在使用RAD Studio 10.3(C ++构建器)创建一个非常简单的应用程序。我决定添加语言支持。我找到了TLang组件-正是我想要的。它对所有“在窗体上”的组件(如Edit,Label,CheckBox等)都可以正常工作。但是不适用于主菜单(TMainMenu)。只是对语言切换没有反应。
以这种方式完成切换
void __fastcall TForm1::EnLang_menuClick(TObject *Sender)
{
LoadLangFromStrings(Lang1->LangStr["EN"]);
// Lang1->Lang = "EN" // I tried this way - same result
}
void __fastcall TForm1::RuLang_menuClick(TObject *Sender)
{
LoadLangFromStrings(Lang1->LangStr["RU"]);
}
我的猜测是TLang仅检查控件中的字符串开关,但TMainMenu不是TControl的子级。无论如何-如何使用TLang翻译主菜单?当然,我可以自己编写类似TLang的代码,并将其翻译为所需的任何组件,但这需要时间,所以我一直在寻找可以立即使用的东西。