Qt:中文标题的应用程序翻译失败



我正在用Qt4开发一个多语言应用程序,除了中文翻译外,一切都很顺利:我可以随心所欲地翻译所有文本,但windows标题不起作用。

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

任何帮助都将不胜感激。

我也遇到了同样的问题。我的代码是这样的:

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

我将其替换为:

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

一切都很好。

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

在1:的情况下

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

在2:的情况下

  • 尝试使用您知道支持Unicode的输入法在语言学家中输入汉字
  • 询问你的翻译是将文本复制粘贴到语言学家还是直接打字

我也遇到了同样的问题。我的代码是这样的:

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

我将其替换为:

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

一切都很好。

最新更新