1

我正在使用 Qt4 开发一个多语言应用程序,除了中文翻译外,一切都很好:我的所有文本都按我想要的方式翻译,但 Windows 标题不起作用。

当我在 Qt Linguist 中编辑 cn.ts 文件时,它会显示中文字符,但在 lrelease 和应用程序运行后,我的所有 Windows 标题都显示小矩形,因为它无法识别字符,只有 Windows 标题无法正常工作(消息文本按钮文本...)工作正常。

任何帮助将不胜感激。

4

3 回答 3

0

我有同样的问题。我的代码是这样的:

setWindowTitle(self.tr("Pocess B for A ")+str(self.A[0])))

我将其替换为:

setWindowTitle(self.tr("Pocess B for A %1").arg(self.A[0]))

一切都很好。

于 2013-11-26T08:24:18.100 回答
0

要么 1. 您的桌面环境设置为使用不支持您尝试使用的字符的字体,要么 2. 您正在通过导致非 Unicode 文本编码的方法将文本输入到 Linguist 中。

在 1 的情况下:

  • 尝试更改窗口标题的桌面字体
  • 使用其他汉字测试不同的标题
  • 使用已知支持中文的字体测试这些字符串,例如QLabel
  • 使用运行您的应用程序-locale cn

如果是 2:

  • 尝试使用您知道支持 Unicode 的输入法将汉字输入 Linguist
  • 询问您的翻译人员是否将文本复制并粘贴到 Linguist 中或直接输入
于 2013-11-26T09:43:18.497 回答
0

我也有同样的问题。我的代码是这样的:

giFaceCompareGUIClass->setWindowTitle(QApplication::translate("giFaceCompareGUIClass", "欢迎", 0));

我将其替换为:

giFaceCompareGUIClass->setWindowTitle(QApplication::translate("giFaceCompareGUIClass", QString::fromLocal8Bit("欢迎").toStdString().c_str(), 0));

一切都很好。

于 2015-08-05T10:29:26.017 回答