0
我的項目文件夾是目前設置是這樣的:Qt的本地化的QMainWindow
-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文件(我將它們複製到編譯輸出文件夾的根目錄中)
我也將其標記爲已完成,當我添加了qWarning我永遠無法得到它是真實的: HTTP:/ /pastebin.com/L3L6TMTq – James
如果它永遠不會返回true,所以這意味着這些* .qm文件無法找到。我猜你使用Qt創建器時選中了「Build in different place」選項。確保這些文件位於可執行文件的相同位置(或禁用「在不同位置構建」)。 –
將qm文件添加到嵌入資源,現在可以正常工作 – James