0

我有一个运行多语言的程序。平台。当用户选择一种语言时,它会更改程序的整个语言,主要是字符串,并将其保存以供用户下次使用应用程序时使用。问题是如果用户更新了语言并且没有关闭应用程序,那么绘图的语言不会更新。它的方式是我的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 changes

m_main 是 MainAPP

我也是入门级和新的 QT GUI,如果您需要额外的信息,我很乐意提供

4

1 回答 1

0

哪个部分没有用新语言更新?我不能清楚地理解它。你在 UpgradeLang() 中做了什么?

但我认为这个材料对你很有用:

http://qt-project.org/wiki/How_to_create_a_multi_language_application

上面的文章有足够的信息。

当用户触发设置时,只需使用 QTranslator 和 QApplication 来卸载旧的翻译文件并加载新的翻译文件。

于 2012-10-16T15:21:42.907 回答