使用Poedit确定“源文本”在哪里

时间:2015-11-11 10:42:27

标签: wordpress gettext poedit

我对Poedit很新,但我正在尝试翻译Wordpress主题。我想我慢慢开始理解整个I18n,l10n和po,pot和mo的事情。

我购买了Poedit许可证,然后尝试创建一个新的底池文件。当我选择我要翻译的文件夹时,它会自动将我试图翻译的语言设置为英语(我没有选择它)。这是一个古老的主题,我已经修改和使用过,所以这张图片上的一些单词是英文的,但主题实际上是丹麦语。

那么我在哪里更改Poedit认为我正在翻译的语言?

enter image description here

2 个答案:

答案 0 :(得分:2)

gettext翻译系统假定源文本始终为英文。这有很好的理由,包括它是计算的通用语言,并且为任何源语言设计复数形式处理将是疯狂的。您可以做的绝对最好的事情是用英语开发代码。

因此,PO文件格式(不是Poedit,但是标准的东西)无法编码源语言 - 没有必要,它被称为英语。

一些开发人员坚持使用非英语源文本,反对他们更好的判断(这在德国由于某种原因相对常见)。为了适应这种情况,Poedit使用CLD2从1.8开始自动检测语言(即与Chrome使用的相同)。没有办法覆盖这个,因为......好吧,见上文。

换句话说,在您的情况下,Poedit将来源视为英语,因为 主要是英语。如果是丹麦语,Poedit会发现这一点。一个很好的例子:您的整个屏幕截图(除了可能只有一个单词)是英文而不是丹麦文,就像您说文件一样。

对于错误检测的源语言没有负面影响,除了次优建议。别担心。

答案 1 :(得分:1)

由于回答了这个问题,因此可以使用PO Header中的自定义标题字段来告诉Poedit源语言。 (自1.8.10开始)

Kernel

请参阅:Kernel#trap