#include<QApplication>
#include<QTranslator>
#include<QObject>
#include<QTextCodec>
#include<QWidget>
int main(int argc, char* argv[])
{
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
QApplication app(argc, argv);
QTranslator translator;
translator.load("app_zh_CN.qm");
app.installTranslator(&translator);
QWidget widget;
widget.setWindowTitle(QObject::tr("Hello World!"));
widget.show();
return app.exec();
}SOURCES += \
main.cpp
TRANSLATIONS += app_zh_CN.tsGui界面是“你好世界!”还有..。但在我的file.qm中被翻译成“你好!”(中文).前厅在哪里?谁能帮我..。
发布于 2012-02-10 13:57:33
如果我将.qm文件放在“正确”的位置,那么您的示例对我是有用的。(见下文)确保您正在执行所有步骤:
lupdate创建.ts文件。lrelease将.ts文件编译为.qm文件。H 210G 211我猜是4号变坏了。QTranslator::load的文档声明:
如果没有指定
目录,则使用应用程序可执行文件的目录(即applicationDirPath())。
但是,我必须将.qm文件放在文件夹中,而不是上面的可执行文件,以使其正常工作。除非我误解了这些文档,否则这是一个Qt错误,但它很容易解决。如果我显式地将目录命名为app.applicationDirPath,那么它可以在可执行文件夹中工作。您还可以指定一个单独的目录。例如:
translator.load("app_zh_CN.qm");与以下方面一起工作:
[MyApp]
app_zh_CN.qm
[debug]
MyApp.exetranslator.load("app_zh_CN.qm", app.applicationDirPath());与以下方面一起工作:
[MyApp]
[debug]
app_zh_CN.qm
MyApp.exehttps://stackoverflow.com/questions/9225779
复制相似问题