先出效果圖。
閑聊幾句:qt這個(gè)翻譯很方便,能直接導(dǎo)出項(xiàng)目里所有文字。
具體步驟如下:
在Qt中,我們可以使用QTranslator類來實(shí)現(xiàn)多語言切換。以下是一般步驟:
1. 在你的源代碼中,所有需要翻譯的字符串都需要使用 `tr()` 函數(shù)包裹,例如 `tr("你好")`。
2. 在項(xiàng)目文件 (.pro) 中添加翻譯文件,例如:
? ?```
? ?TRANSLATIONS += myapp_zh_CN.ts
? ?TRANSLATIONS += myapp_en_US.ts
? ?```
? ?這里的`myapp_zh_CN.ts`和`myapp_en_US.ts`是你的翻譯文件,你需要根據(jù)你的應(yīng)用程序?qū)嶋H情況來命名。
3. 使用Qt Creator的lupdate工具生成翻譯文件。這可以在Qt Creator的"工具" -> "外部" -> "Qt Linguist" -> "Update Translations (lupdate)"中完成。這將生成一個(gè).ts文件,其中包含所有需要翻譯的字符串。
4. 使用Qt Linguist工具打開.ts文件并進(jìn)行翻譯。Qt Linguist是一個(gè)翻譯工具,可以在Qt Creator的"工具" -> "外部" -> "Qt Linguist" -> "Open Qt Linguist"中打開。在這個(gè)工具中,你可以為每個(gè)字符串添加翻譯。
? ? ? ?
5. 使用lrelease工具將.ts文件轉(zhuǎn)換為.qm文件。這可以在Qt Creator的"工具" -> "外部" -> "Qt Linguist" -> "Release Translations (lrelease)"中完成。
6. 在程序中加載翻譯文件。你可以使用QTranslator類來加載.qm文件,例如:?? ?
? ?```
? ?QTranslator translator;
? ?translator.load("myapp_zh_CN.qm"); //.qm文件要拷貝到相對(duì)路徑下
? ?a.installTranslator(&translator);
? ?```
? ?這段代碼需要放在main函數(shù)的開始部分。
7. 在程序中切換語言。你可以通過重新加載不同的翻譯文件來實(shí)現(xiàn)語言切換,例如:
? ?```
? ?QTranslator translator;
? ?translator.load("myapp_en_US.qm");
? ?qApp->installTranslator(&translator);
? ?```
? ?這段代碼可以放在你的語言切換函數(shù)中。
注意事項(xiàng):
2 在ui界面上的文字可以不管。但是后臺(tái)代碼中的文字,要使用QObject::tr("") ?來包裹. 例如:
?? ?1) label->setText(tr("上等"));
?? ?2) ?static const char* const flowers[]={
?? ??? ?QT_TR_NOOP("上等"),
?? ??? ?QT_TR_NOOP("中等"),
?? ??? ?QT_TR_NOOP("劣等"),
?? ? ? ?}; ? ?
?? ? ? ?this->ui->cbox0->addItem(tr(flowers[i]));
3 添加翻譯文件時(shí),只在(.pro)文件中添加語句。也就是確保源碼目錄下沒有.ts文件存在。文章來源:http://www.zghlxwxcb.cn/news/detail-690154.html
4? qt?creater?中默認(rèn)沒有Qt Linguist工具。需要手動(dòng)添加。路徑在 Qt\Qt5.9.0\5.9\msvc2017_64\bin\linguist.exe.? ? 根據(jù)各自安裝不同,路徑有所不同。文章來源地址http://www.zghlxwxcb.cn/news/detail-690154.html
到了這里,關(guān)于qt creater11 翻譯國際化教程教程:的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!