1

我使用 pylupdate4 创建的 .ts 文件的一部分如下所示:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS><TS version="2.0">
<context>
    <name>Main</name>
    <message>
        <location filename="Main.py" line="2369"/>
        <source>Translate me to Ukululu</source>
        <translation type="unfinished"></translation>
    </message>

两个问题:

1:翻译在<translation>-tags之间,对吧?

2:翻译似乎需要主文件中要插入翻译的行(“line = 2369”)。但是每次我修改代码时,行都会改变。因此,我是否必须创建一个新的翻译文件,我必须再次在标签之间手动插入所有(未更改的)翻译?这似乎是一项疯狂的工作。如果我错了,请纠正我或请解释它是如何工作的(更好)!

4

1 回答 1

1

你说的对。原始文本出现在标签中<source>,而翻译出现在标签中<translation>。翻译完成后,该属性type="unfinished"也将被删除。

通常您不会手动编辑 ts 文件,而是使用 QtLinguist 工具。我从不手动编辑它们,因为 QtLinguist 非常易于使用......

无论如何,当您更改源代码时,您只需运行

pylupdate4 your_project.pro

这将更新对 ts 文件中行的所有引用,并保持翻译已经完成。即使您将它们移动到不同的源文件,更新翻译也足够聪明。

您可以在此处获取更多信息

http://pyqt.sourceforge.net/Docs/PyQt4/i18n.html

http://qt-project.org/doc/qt-4.8/linguist-manager.html

希望这可以帮助

于 2013-09-23T19:47:56.700 回答