【问题标题】:QT How to find untranslated stringsQT如何查找未翻译的字符串
【发布时间】:2019-01-17 20:17:13
【问题描述】:
我正在测试我正在国际化的 QT 应用程序。我想我已经找到了所有需要通过 tr() 或 ::Translate() 处理的字符串。我想我已经处理了所有事件。
我已经拿回了第一轮翻译(通过 Qt 语言学家工具完成)。
通过 QA 测试,我想确保所有字符串都已翻译,如果可能的话,我想轻松识别任何未翻译的内容以及原因。
有哪些可用的工具或方法?
【问题讨论】:
标签:
c++
qt
localization
internationalization
【解决方案1】:
我发现了
lrelease -markuntranslated <prefix>
这将获取 .ts 文件中未翻译的任何字符串并在 prefix 前面添加
如果标签“现在就做”在 .ts 文件中并且它没有在 Qt 语言学家中翻译,那么如果你运行 lrelease 与
-markuntranslated NT-
然后,您将在运行应用程序时看到显示的标签为“NT-do it now”。
这让任何正在测试的人都清楚,问题是一个已通过 ::Translate() 或 tr() 处理但尚未在 QT 语言学家中翻译的字符串。
因此,正在运行的应用程序的 UI 中的任何完全原始的字符串都必须完全不受任何 QT 翻译机制的影响。
请参阅lrelease -help 了解更多信息。