QT 如何查找未翻译的字符串

QT How to find untranslated strings

本文关键字:翻译 字符串 查找 何查找 QT      更新时间:2023-10-16

我正在测试一个正在国际化的 QT 应用程序。我想我已经找到了所有需要通过 tr() 或 ::translate() 处理的字符串。我想我已经处理了所有事件。

我已经找回了第一轮翻译(通过Qt语言学家工具完成)。

通过QA测试,我想确保所有字符串都被翻译,如果可能的话,我想轻松识别任何未翻译的字符串以及原因。

有哪些工具或方法可用于此?

我发现

lrelease -markuntranslated <prefix>

这将采用 .ts 文件中未翻译的任何字符串,并带有前缀prefix 如果标签"立即执行"在 .ts 文件中并且未在 Qt 语言学家中翻译,那么如果您运行 lrelease

 -markuntranslated NT- 

然后,您将看到运行应用程序时显示的标签为"NT-do it now"。

这使得任何正在测试的人都很明显,问题是通过::Translate()tr()处理的字符串,但尚未在QT语言学家中翻译。

因此,正在运行的应用程序的 UI 中的任何完全原始字符串都必须完全不受任何 QT 翻译机制的影响。

有关详细信息,请参阅lrelease -help