我的项目文件夹当前的设置如下:
-root
---[source files]
---Translations
------app_en.ts
------app_en.qm
------app_fr.ts
------app_fr.qm
------app_jp.ts
------app_jp.qm我的.pro文件:
#-------------------------------------------------
#
# Project created by QtCreator 2014-03-18T15:15:40
#
#-------------------------------------------------
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = TestApp
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp
TRANSLATIONS=Translations/app_en.ts\
Translations/app_fr.ts\
Translations/app_jp.ts
CODECFORSRC = UTF-8
HEADERS += mainwindow.h
FORMS += mainwindow.ui在我的main.cpp中,我试图强制将其翻译为JP:
#include "mainwindow.h"
#include <QApplication>
#include <QTranslator>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTranslator translator;
translator.load("app_jp");
a.installTranslator(&translator);
MainWindow w;
w.show();
return a.exec();
}但主窗口仍以英文显示。也许我误解了文档,但是我们如何强制某个本地应用程序呢?我的构建输出文件夹中有.qm文件(我在构建输出文件夹的根目录中复制了它们)
发布于 2014-03-19 16:42:56
也许您提供了翻译,但没有标记为已完成。检查app_jp.ts (它是type="unfinished" ),您将使用type="unfinished"获得条目。清除这面旗子。也许您也可以通过Qt语言学家工具来完成这个任务(我不记得这个选项在哪里)。
检查本教程。
还添加一些日志(以验证是否正确加载了翻译器):
bool translatorLoaded = translator.load("app_jp");
if (!translatorLoaded)
qWarrning("Problem loading translation file");https://stackoverflow.com/questions/22511394
复制相似问题