首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用xgettext和msginit生成.po文件时出现msgfmt错误

使用xgettext和msginit生成.po文件时出现msgfmt错误
EN

Stack Overflow用户
提问于 2021-04-16 08:52:19
回答 1查看 446关注 0票数 0

当使用以下命令生成.po文件时:

xgettext test.js -o test.pot -L JavaScript --from-code=UTF-8

msginit -i test.pot -o de.po --locale=de

我得到以下标题:

代码语言:javascript
运行
复制
# Copyright (C) 2021 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# test <test@test.com>, 2021.
#
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-04-16 11:39+0300\n"
"PO-Revision-Date: 2021-04-16 11:40+0300\n"
"Last-Translator: test <test@test.com>\n"
"Language-Team: German\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ASCII\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

在使用msgfmt -cv /dev/null de.po检查此文件时,我会得到以下错误

代码语言:javascript
运行
复制
msgfmt: /dev/null: warning: PO file header missing or invalid
                   warning: charset conversion will not work
msgfmt: found 1 fatal error

我在文件charset=ASCII中将charset=UTF-8更改为de.po,但得到了相同的错误。我正在使用UbuntuServer20.04和gettext-tools版本0.19.8.1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-27 08:05:54

如果您调用msgfmt -cv /dev/null de.po,那么/dev/null是第一个输入文件,这不是您想要的。但难怪/dev/null不包含有效的PO头。

您可能想要的是:msgfmt -cvo /dev/null de.po

-o意味着/dev/null是输出文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67122100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档