打开 po 文件时 poEdit 编码错误
poEdit encoding wrong when opening po-files
我在工作中使用 poEdit,但我在 po 文件的编码方面遇到了问题。
我有 poEdit(版本 1.8.8)和 MacBook Pro(版本 10.11.4)。
我正在尝试将英语翻译成瑞典语,那里有旧的翻译。但是编码错误,所以我看不到 'ä'、'å' 和 'ö' 字符。
更新版本:
我使用 github 桌面,当我同步它们的文件时,github 桌面喜欢在我的文件中编写一些代码。而且我 100% 确定 github 桌面可以做到这一点,因为 .po 文件在同步之前工作正常,而且我无法从其他地方获得此代码。
这是 github desktop 在我的文件中写入的内容:
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,======= 和 >>>>>>>> origin/master?!?!?!?!?!??! ?!
为什么 github 桌面?
为什么 poEdit 不能使用它?
我删除了它,一切正常。
旧版本:
当我用 'Sublime text 3' 或 'textEditor' 等其他应用程序打开 .po 文件时,编码是正确的(UTF-8)和 'ä'、'å' 和 'ö ' 是可见的。但是如果我用 poEdit 打开同一个文件,编码将是 ISO-8859-1,这是 'ä','å,'ö' 的输出:
'ä' => 'ä',
'å' => '¥',
'ö' => 'ö'。
我试过更改 'Catalog -> Properties -> Charset' 中的编码,但没有任何改变。
我的问题是:
如何使用 poEdit 打开 .po 文件,使编码为 UTF-8。
目录 → 属性 → 字符集确实改变了一些东西:文件的编码。它不会更改 内容。
你的问题是你有一个损坏的 PO 文件(不是由 Poedit 或 sane gettext 工具创建的)与它的编码有关。字符集在 Sublime Text 中不是 "correct",它只是默认为 UTF-8。您未提供的文件必须对其编码撒谎,Poedit 信任它。换句话说,很好的旧垃圾输入,垃圾输出原则。
在文本编辑器中手动修复损坏的 PO Content-Type header 可能(!)UTF-8,一切都会正确。
我解决了,删除了我代码中放置的 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。
Poedit 似乎无法理解用 Notepad++ 生成的文件的编码,因此您可以尝试在文件顶部添加这四行,然后再用 poedit 打开它:
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"X-Poedit-SourceCharset: UTF-8\n"
我在工作中使用 poEdit,但我在 po 文件的编码方面遇到了问题。
我有 poEdit(版本 1.8.8)和 MacBook Pro(版本 10.11.4)。 我正在尝试将英语翻译成瑞典语,那里有旧的翻译。但是编码错误,所以我看不到 'ä'、'å' 和 'ö' 字符。
更新版本:
我使用 github 桌面,当我同步它们的文件时,github 桌面喜欢在我的文件中编写一些代码。而且我 100% 确定 github 桌面可以做到这一点,因为 .po 文件在同步之前工作正常,而且我无法从其他地方获得此代码。
这是 github desktop 在我的文件中写入的内容:
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,======= 和 >>>>>>>> origin/master?!?!?!?!?!??! ?! 为什么 github 桌面? 为什么 poEdit 不能使用它?
我删除了它,一切正常。
旧版本:
当我用 'Sublime text 3' 或 'textEditor' 等其他应用程序打开 .po 文件时,编码是正确的(UTF-8)和 'ä'、'å' 和 'ö ' 是可见的。但是如果我用 poEdit 打开同一个文件,编码将是 ISO-8859-1,这是 'ä','å,'ö' 的输出:
'ä' => 'ä',
'å' => '¥',
'ö' => 'ö'。
我试过更改 'Catalog -> Properties -> Charset' 中的编码,但没有任何改变。
我的问题是: 如何使用 poEdit 打开 .po 文件,使编码为 UTF-8。
目录 → 属性 → 字符集确实改变了一些东西:文件的编码。它不会更改 内容。
你的问题是你有一个损坏的 PO 文件(不是由 Poedit 或 sane gettext 工具创建的)与它的编码有关。字符集在 Sublime Text 中不是 "correct",它只是默认为 UTF-8。您未提供的文件必须对其编码撒谎,Poedit 信任它。换句话说,很好的旧垃圾输入,垃圾输出原则。
在文本编辑器中手动修复损坏的 PO Content-Type header 可能(!)UTF-8,一切都会正确。
我解决了,删除了我代码中放置的 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。
Poedit 似乎无法理解用 Notepad++ 生成的文件的编码,因此您可以尝试在文件顶部添加这四行,然后再用 poedit 打开它:
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"X-Poedit-SourceCharset: UTF-8\n"