问题标签 [xgettext]

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 投票
2 回答
866 浏览

localization - 如何使用gettext从文件夹中的所有c文件中提取字符串

我正在尝试本地化一个“C”项目,但我不知道如何通过 xgettext 提取字符串。而且项目有这么多的C文件,所以一个一个提取是不可行的。S 是否可以一次从所有文件中提取字符串。还是有其他方法?

提前致谢

0 投票
2 回答
693 浏览

json - How do I get strings from a JSON file?

I'm writing a internationalized desktop program written in Vala where a use an extern JSON file to store a list of languages.

I'm using gettext for l10n so if I get the string from the json file and I do something like _(string_var) I could get the translated string. The problem is that I don't know how can I add the string to the pot file using xgettext or some similar tool.

Any idea??

0 投票
1 回答
833 浏览

poedit - POedit/xgettext:创建特定于上下文的 .po 文件/字符串导入

POedit/xgettext:创建特定于上下文的 .po 文件/字符串导入

使用 POedit 我想使用 2 个单独的语言文件,因此翻译人员只需编辑一个特定于客户端的语言文件,而系统特定的语言文件保持不变。

这是我的 xgettext 调用:

但是,这个How to get (translatable) strings from specific domain with POEdit获取所有可翻译的字符串。

现在,我想创建一个 .po 文件,其中仅包含与特定上下文匹配的字符串。这是我的PHP:

如何仅导入与 imlang_ext 上下文匹配的值?

0 投票
2 回答
918 浏览

php - xgettext --join-existing 在我的 pot 文件中产生多个评论

我有一个构建脚本,它扫描源目录(PHP)并执行xgettext --join-existing ...更新的翻译并保存到一个 pot 文件中,例如

不知道为什么,经过几次代码重构和构建,pot文件会有这样的东西

  1. 为什么评论中有两行source/line?(我想这是因为我们在源中移动了消息。)

  2. 那么,如果同一个文件有更新的内容,如何让 xgettext 忽略呢?

  3. 还是我不建议--join-existing在构建脚本中使用?(但有时我们在pot文件中有手动项,那么如何解决?)

0 投票
2 回答
379 浏览

internationalization - 使用 ICU4C 和 XLIFF 进行本地化

使用 ICU 进行本地化建议将可本地化的数据保存为 XLIFF 格式。

所以我使用 GNUxgettext提取字符串来gettext格式化文件,然后将它们转换为带有po2xliff.

最后我尝试使用XLIFF To ICU ResourceBundle Format Converter将它们转换为 ICU 资源格式,在我发现它不起作用之前。它抱怨错误:

几年前报告了几乎相同的错误,但尚未修复。

糟糕的 XLIFF 文件的第 2 行是:

好吧,我根据 Localizing example.xlfwith ICU 页面(示例文件中有很多拼写错误)编辑了该行,重试,结果如下:


那么使用 ICU4C 和 XLIFF 进行本地化的最佳实践是什么?

0 投票
3 回答
233 浏览

javascript - 从 cli args 中提取 xgettext 函数名称和参数的正则表达式

我正在开发一个 CLI 应用程序,它允许用户使用函数名称和参数指定参数。它实际上使用与 相同的语法xgettext,例如:

--keywords=__,dgettext:2,dcgettext:2,ngettext:1,2,dpgettext2:2c,3

我需要找出一个正则表达式,将其分解成这样的数组:

我该怎么做(例如在 Javascript 中)?

这是我到目前为止所拥有的:

显然这有一个问题:它每次都会捕获逗号。知道我怎么能把它排除在外吗?

0 投票
1 回答
515 浏览

java - Windows 7 下的 gettext for java 项目返回“错误的文件描述符”

我正在尝试在 java 项目中使用gettext来提供不同语言的翻译。

我的工作站运行 Windows 7,因此我希望能够在其上完成整个构建过程(包括密钥生成和翻译更新 - 全部来自 gradle 脚本)。

但是msgfmt工具返回错误:'Bad file descriptor'没有任何附加信息...

我无法通过 Internet 找到任何有用的信息。有人遇到了类似的问题,名叫 Daiki Ueno 的人提出了一个补丁,但我想它没有进入官方gettext版本,因为问题仍然存在......

请参阅:https ://lists.gnu.org/archive/html/bug-gnulib/2013-09/msg00049.html

脚步

在项目中创建java文件列表

创建翻译目录

创建一个包含所有本地语言字符串的 pot 文件

替换 keys.pot 文件中的 CHARSET 以更正编码名称“utf-8”

...手动步骤...

创建带有内容描述的翻译文件

将键合并到本地化 po 文件中

创建默认 ResourceBundle 类文件 << 失败并出现错误(见下文)

我尝试了以下gettext的实现:

  • GetGnuWin32-0.6.3
  • MinGW-0.18.3
  • gettext-tool-windows-0.18.3
  • gettext-tool-windows-0.19.4
  • gettext-iconv-windows-0.19.4

第一个在 Windows 7 64bit 中崩溃

其余的msgfmt给出以下输出:

任何人都可以帮助它工作吗?

0 投票
0 回答
46 浏览

php - 我可以在多语言环境应用程序中使用带有 dgettext 的域数组吗?

我有一个多语言环境应用程序,我想将由 xgettext 生成的翻译 POT 文件呈现给每个语言环境的翻译。

我目前可以使用以下代码执行此操作(请注意,这只是示例代码,而不是实际的国家/地区特定要求):

我希望能够做到以下几点:

并为每个国家生成 POT 文件。

问题:

是否有一种 gettext 方法来处理“域”数组,还是我需要扩展 gettext 库?

当我为 xgettext 指定域 (-d) 标志时,“地址 1”是否包含在 POT 文件中,或者我是否需要另一个标志来包含 gettext 和 dgettext 包装字符串?

0 投票
3 回答
1933 浏览

javascript - Django makemessages javascript (xgettext)

我想使用 django i18n 支持来翻译我的 javascript 文件。我有以下 javascript 文件:

现在我运行 djangos makemessages 命令:

我希望创建的翻译文件有四个条目('example'、'button text'、'SOME TEXT'和'MORE TEXT'),因为gettext在 js 文件中出现了 3 次。但是创建的语言环境文件只有两个“示例”条目:

我也收到此警告。但不知道这是什么意思(文件只有 32 行)

有谁知道为什么 django 忽略其他条目?可能是因为我使用了 jsx 语法还是因为我使用了 es6 类?

更新:

我发现这不是 django 的问题,而是xgettext. Djangoxgettext使用以下命令调用:

那么有没有xgettext高手可以帮帮我?

0 投票
1 回答
1145 浏览

wordpress - xgettext 不提取 HTML 属性中的字符串

我正在使用 Timber 作为模板引擎(Wordpress 的树枝)在 Wordpress 网站上工作。我想通过 PoEdit 使用 Wordpress gettext 机制翻译界面(使用 xgettext)。

模板片段:

我正在使用 PoEdit 从 *.twig 文件中提取字符串。

如果我将{ { __('City, region, ZIP', text_domain) }}放在模板中的单独行上,它就可以工作,但是放在输入占位符中时它不起作用,如上面的代码片段所示。

我按照此处的说明配置了 PoEdit:https ://github.com/jarednova/timber/wiki/Text-Cookbook#generating-po-files-using-poedit

有人知道为什么会这样吗?xgettext 是否忽略 HTML 属性中的字符串?

另一个例子:

在以下情况下,将提取字符串进行翻译:

但不是在以下情况下: