3

我在工作中使用 poEdit,但我在 po 文件中的编码有问题。

我有 poEdit(1.8.8 版)和 MacBook Pro(10.11.4 版)。我正在尝试从英语翻译成瑞典语,那里有旧的翻译。但是编码是错误的,所以我看不到“ä”、“å”和“ö”字符。

更新后的版本:

我使用 github 桌面,当我同步它们的文件时,github 桌面喜欢在我的文件中编写一些代码。而且我 100% 确信 github 桌面可以做到这一点,因为 .po 文件在同步之前运行良好,而且我无法从中获取此代码。

这是 github 桌面在我的文件中写的:

blabla

<<<<<<< HEAD 

"POT-Creation-Date: 2016-07-23 00:13+0000\n"
"PO-Revision-Date: 2016-08-03 17:23+0300\n"

=======

"POT-Creation-Date: 2016-08-11 18:37+0000\n"
"PO-Revision-Date: 2016-08-11 18:37+0000\n"

>>>>>>> origin/master

blabla

Sooo,<<<<<<< HEAD,======= 和 >>>>>>> 起源/大师?!?!?!?!?!??!?!为什么选择 github 桌面?为什么 poEdit 不能使用它?

我删除了它,一切正常。

旧版:

当我使用“Sublime text 3”或“textEditor”等其他应用程序打开 .po 文件时,编码正确(即 UTF-8)并且“ä”、“å”和“ö”可见。但是如果我用 poEdit 打开同一个文件,编码将是 ISO-8859-1,这是 'ä','å,'ö' 的输出:

'ä' => 'ä',

'å' => 'Ã¥',

'ö' => 'ö'。

我尝试更改“目录-> 属性-> 字符集”中的编码,但它没有改变任何内容。

我的问题是:如何使用 poEdit 打开 .po 文件,以便编码为 UTF-8。

4

3 回答 3

5

Poedit 似乎在理解使用 Notepad++ 生成的文件的编码方面存在一些问题,因此您可以尝试在文件顶部添加这四行,然后再使用 poedit 打开它:

msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"X-Poedit-SourceCharset: UTF-8\n"
于 2017-11-03T16:43:53.457 回答
1

Catalog → Properties → Charset 确实改变了一些东西:文件的编码。它不会改变内容

您的问题是您有一个损坏的 PO 文件(不是由 Poedit 或健全的 gettext 工具创建的),它的编码存在问题。Sublime Text 中的字符集“正确”并不是真的,它只是默认为 UTF-8。您未提供的文件必须在其编码方面撒谎,并且 Poedit 信任它。换句话说,旧的 Garbage In, Garbage Out 原则。

在文本编辑器中手动修复损坏的 PO 的 Content-Type 标头可能是(!)UTF-8,一切都会正确。

于 2016-08-15T21:26:49.393 回答
0

我解决了它,删除了我的代码中放置的 github 桌面。

这个:

blabla

<<<<<<< HEAD 

"POT-Creation-Date: 2016-07-23 00:13+0000\n"
"PO-Revision-Date: 2016-08-03 17:23+0300\n"

=======

"POT-Creation-Date: 2016-08-11 18:37+0000\n"
"PO-Revision-Date: 2016-08-11 18:37+0000\n"

>>>>>>> origin/master

blabla

变成这样:

blabla    

"POT-Creation-Date: 2016-07-23 00:13+0000\n"
"PO-Revision-Date: 2016-08-03 17:23+0300\n"

blabla

不需要双倍的 POT-Creation-Date 和 PO-Revision-Date。

于 2016-08-16T15:30:59.867 回答