我有一个运行多语言的程序。平台。当用户选择一种语言时,它会更改程序的初始语言,主要是字符串,并将其保存以供用户下次使用应用程序时使用。问题是,如果用户更新了语言,并且没有关闭应用程序,那么绘图的语言就不会更新。它的方式是我的selectLang。在我的main中,我指向mainApp,然后指向具有currentlang的lang类。请参阅main.cpp下面的代码
void MainWindow:: SelectLang(int lang)
{
m_mainApp->m_lang->currentLang=lang;
ui->m_actionEnglish->setChecked(lang==0);
ui->m_actionFrench->setChecked(lang==1);
ui->m_actionItalian->setChecked(lang==3);
ui->m_actionSpanish->setChecked(lang==2);
ui->m_actionRussian->setChecked(lang==4);
ui->m_actionGerman->setChecked(lang==5);
ui->m_actionPortuguese->setChecked(lang==6);
UpgradeLang();
}我的cplot文件
setAxisTitle(yLeft,(m_main->m_lang->strTab[m_main->m_lang->currentLang][45]));//this is temp c but wont translate when language changesm_main是MainAPP
即时通讯入门级和新的QT图形用户界面也,如果你需要额外的信息,我会很乐意提供
发布于 2012-10-16 23:21:43
哪一部分未使用新语言更新?我不能清楚地理解它。您在UpgradeLang()中做了什么?
但我认为这些材料对你很有用:
http://qt-project.org/wiki/How_to_create_a_multi_language_application
在上面的文章中有足够的信息。
这只是关于QTranslator和QApplication卸载旧的翻译文件,并在用户触发设置时加载新的文件。
https://stackoverflow.com/questions/12917149
复制相似问题