【发布时间】:2017-09-23 20:40:41
【问题描述】:
我想在 Qt 应用程序中加载本地化字符串。为此,我遵循几个步骤。如果我错了,请纠正我。
注意:它适用于QString,但不适用于const char*
更新 pro 文件 翻译语言
使用 Qt 生成
.ts并编辑 语言学家。使用生成.qm文件 lupdate 和 lrelease。从特定的 位置。
这是我的const char* 的样子:
const char* sayHello = QT_TRANSLATE_NOOP("FriendlyConversation","hello");
LocalizationWithQT::LocalizationWithQT(QWidget *parent)
: QMainWindow(parent)
{
//ui.setupUi(this);
QString str = tr("say hello");
QPushButton *pushbutton = new QPushButton(tr(sayHello));
setCentralWidget(pushbutton)
}
这是我加载 .qm 文件的方式:
QApplication a(argc, argv);
QTranslator translator;
bool val = translator.load("c:\\Data\\test\\hellotr_la");
a.installTranslator(&translator);
LocalizationWithQT w;
w.showMaximized();
return a.exec();
问题是,如果我为“sayhello”提供任何替代拉丁字符串,它根本不会加载。
我不知道错误在哪里。
【问题讨论】:
标签: string qt localization qt4 character-encoding