在使用Qt的QTranslator过程中发现,QTranslator对于Ui文件的字串及控件的字串翻译支持度非常好,但对于临时变量的字串就得通过以下的方法才能实现字串翻译
// 定义ts文件的节点
// 带分组名
char *texts[] = {
QT_TRANSLATE_NOOP("main","URL"),
QT_TRANSLATE_NOOP("main","Title"),
QT_TRANSLATE_NOOP("main","Publisher")
};
// 不带分组名
char *texts2[] = {
QT_TR_NOOP( "This is a very special string."),
QT_TR_NOOP( "And this is just as special.")
};
// 例子
QMessageBox::information( 0, qApp->translate("main",texts[2]), qApp->translate(0,texts2[1]) );