使用Poedit从文本文档中提取文本

时间:2017-05-22 16:59:36

标签: python gettext poedit

我正在制作一个从文本文件中读取数据的测验应用程序。该应用程序工作正常,但我现在想将其翻译成英语(来自我的母语)。我可以为源文件(.py)中定义的字符串(例如按钮上的文本等)执行此操作,但是在提取需要从那些文本文档进行翻译的文本时会遇到麻烦。

我正在使用gettext模块Python并使用运算符__(来表示可翻译字符串(我在Poedit中设置属性 - 来源关键字)

我还将可翻译源的路径设置为.(该目录中的所有文件),甚至尝试将这些.txt文件专门设置为提取。

我的文本文件如下所示(一个文件中的一行):

_(Koliko je 2/0?);_(0):_(ni definirano):_(2);_(ni definirano)

我试图找到哪个文档类型的Poedit从中提取文本但除了“from source”之外没有找到任何内容 - 它是否能够从.txt文件中提取?如果没有,我该如何命名?

正如我所说,它确实从我的.py文件中提取字符串,所以它正在起作用。

2 个答案:

答案 0 :(得分:0)

Poedit无法神奇地了解您自己开发的文件格式的语法,因此只需添加.txt文件就无法做任何事情。您必须编写自定义提取程序(请参阅xgettext如何工作以供参考)或切换到某些标准语法:

  1. 与支持的编程语言(如C)充分相似(幸运的是,;:都是有效的语法元素,尽管使用例如{{1}而不是,会更安全):

    :

  2. 使用基于XML的格式,其中_("Koliko je 2/0?");_("0"):_("ni definirano"):_("2");_("ni definirano") 支持extraction rules described with ITS

答案 1 :(得分:0)

在尝试从WordPress插件中的options.txt文件中提取要翻译的字符串时,我遇到了同样的问题。我找到的唯一解决方案是将复制的options.txt文件复制到options.php,PoEdit能够搜索字符串。翻译操作完成后,可以删除options.txt文件。