目标一:根据系统语言决定程序的显示语言
步骤
1、让程序支持语言替换:代码里用tr来标识要替换的语言资源
2、生成ts文件
1、在pro中添加要生成的ts文件名
TRANSLATIONS= myapp_zh_CN.ts \ += myapp_EN.ts
QTranslator appTranslator; QString fileName = "myapp_" + QLocale::system().name(); QString path = qApp->applicationDirPath(); //从外部文件中加载 check = appTranslator.load(fileName, path); qDebug() << check; a.installTranslator(&appTranslator);
void MainWindow::retranslateUi() { m_pbnTest->setText(tr("test")); }2、窗口构造的时候调用该函数
void MainWindow::on_click() { static bool flag = true; bool check; qApp->removeTranslator(&m_appTranslator); if(flag) { QString fileName = "myapp_" + QLocale::system().name(); check = m_appTranslator.load(QString(":translations/%1").arg(fileName)); flag = false; qDebug() << "Using chinese" << check; } else { QString fileName = "myapp_EN"; check = m_appTranslator.load(QString(":translations/%1").arg(fileName)); flag = true; qDebug() << "Using english" << check; } qApp->installTranslator(&m_appTranslator); retranslateUi(); }这段代码是测试用的,目的是点一下换一种语言。