如何将po(gettext)转换为json?

时间:2015-03-26 06:44:42

标签: json gettext

我已经使用

安装了po2json
npm install po2json

我收到以下错误:

C:\windows\system32>po2json --errorlevel traceback fr.po fr.json
processing 1 files...

po2json: warning: Couldn't handle input file fr.po: Traceback (most recent call
last):

File "translate\misc\optrecurse.pyc", line 513, in recursiveprocess

File "translate\misc\optrecurse.pyc", line 417, in getoutputoptions
ValueError: don't know what to do with input format .po, no template file

我的fr.po文件在哪里

msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-03-23 22:15+0530\n"
"PO-Revision-Date: 2015-03-23 22:21+0530\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Last-Translator: \n"
"Language-Team: \n"
"X-Generator: Poedit 1.7.4\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: fr\n"

\#: text.js:794

msgid "Search Files"

msgstr "Search Files FRENCH"

1 个答案:

答案 0 :(得分:1)

这似乎使用Translate Toolkit,其中某些转换器(例如Changed)在没有模板的情况下无效。也就是说,json2po可以解析JSON对象,但po2json不知道如何创建JSON。虽然该联机帮助页具有误导性,将该模板标记为可选,但documentation对此非常清楚。

将未翻译的JSON文件指定为模板:

po2json

如果您的原始文件po2json -t english.json fr.po fr.json 不是纯JSON文件,可以作为单个JSON对象解码,您可以尝试使用po2txt。

test.js