问题标签 [msgfmt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
9316 浏览

bash - 如何将 .po 文件编译为 .mo 文件,msgfmt 不起作用

我必须使用 msgfmt 将文件 .po 编译为 .mo,因此我安装了 gettext(最新版本)并对chmod 777我的整个文件夹执行此操作。

当我编译文件时:

没有错误,没有生命信号,什么都没有。

我该如何解决?

0 投票
2 回答
303 浏览

gnu - msgfmt 返回错误的行并出现错误

今天我有问题。我故意创建了一个.po有错误的文件。我希望回溯错误出现在39字符串上。相反,验证器显示

test.po:1: missing 'msgstr' section- 表示验证器在第一行发现错误

附加文件

请帮忙

0 投票
3 回答
2003 浏览

git - 不使用 gettext 编译 Git

我正在尝试在 Debian(Linux 的 Windows 子系统)上编译静态 Git 2.17.1:

但我得到了错误

NO_GETTEXT我从配置文件中获得的信息:

还需要msgfmt吗?

0 投票
1 回答
192 浏览

php - 如何在 php 中使用 exec 运行 msgfmt?

我正在尝试在 PHP 中使用 exec 命令,如下所示:

exec("msgfmt /locale/2019_11_26_17.po -o /locale/file.mo")

它不允许我这样做。但是,如果我使用终端运行此命令,它就可以工作。

请帮我弄清楚出了什么问题?

谢谢你,特鲁蒂

0 投票
0 回答
236 浏览

xml - 使用 msgfmt 将 PO 文件转换为 XML:未找到 ITS 规则

我尝试将我从 XML 文件创建的 PO 文件转换回带有翻译的 XML 文件。但似乎 msgfmt 没有选项告诉它在哪里可以找到它的规则文件(在 xgettext 中有一个选项 --its)。我的问题是如何告诉 msgfmt 它的规则位置?或如何将 PO 文件转换回已翻译的 XML 文件。

PS:我在 Windows 上使用 mingw64

谢谢马贝南

0 投票
1 回答
532 浏览

r - PO 文件头丢失或无效

我正在尝试将en_SG翻译添加到 R 包中,但遇到了 gettext 错误,并且我没有看到任何有关问题的来源:

有输出:

我到底错过了什么?

0 投票
0 回答
43 浏览

php - PHP 上的奇怪字符翻译

我有一个用 PHP 制作的应用程序,在这个应用程序上,我可以选择用某些语言翻译页面,但是如果我尝试将带有重音符号的字符翻译成西班牙语,则会显示一个问号符号 (�),例如:acci�n .

要生成翻译文件,我使用以下命令:

在我的文件 .po 上,从上到下具有以下结构:

在树枝上:

我的 mysql 设置为 UTF-8(但在这种情况下,我没有使用数据库中的信息),我所有的 .php 文件都设置为 UTF-8 编码,我的 html 页面也是如此。我不明白为什么会这样?会不会是nginx配置?

0 投票
1 回答
75 浏览

internationalization - 是否有从多个 .po 文件生成所有 .mo 文件的命令?

我在 GNU gettext 的标准目录结构中有多个 .po 文件:

我知道我可以编写一个脚本,用于msgfmt从这些 .po 文件生成 .mo 文件。就像是:

但是,为我从事的每个项目编写这个脚本有点乏味。这种用例是否有现成的脚本?

0 投票
1 回答
136 浏览

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

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

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

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

我得到以下标题:

使用检查此文件时 msgfmt -cv /dev/null de.po 出现以下错误

我在文件中更改了charset=ASCIIto但得到了同样的错误。我正在使用 Ubuntu Server 20.04 和 gettext-tools 版本 0.19.8.1charset=UTF-8de.po