问题标签 [gettext]

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 投票
11 回答
8119 浏览

php - Gettext:消息 ID 是英文文本是个好主意吗?

我们正准备将我们的 PHP 网站翻译成各种语言,PHP 中的 gettext 支持看起来是可行的方法。

我看到的所有教程都建议使用英文文本作为消息 ID,即

gettext("你好!")

但这真的是个好主意吗?假设营销人员想要将文本更改为“Hi there, y'all!”。那么您是否不必更新所有语言文件,因为该字符串(实际上是消息 ID)已更改?

拥有某种通用 ID(例如“hello.message”)和英文翻译文件会更好吗?

0 投票
2 回答
1892 浏览

python - 我可以同时调用和设置库中的 Python gettext 模块和使用它的模块吗?

我正在编写一个包含我需要翻译的文本反馈的库。

我将以下几行放在_config.py我在我的应用程序中随处导入的模块中:

我有*.mo文件,./locale/lang_LANG/LC_MESSAGES我将_()函数应用于所有需要翻译的字符串。

现在我刚刚为用户(据说是程序员)添加了一项功能,以便能够创建自己的消息。我不希望他关心底层实现,所以我希望他能够让它变得简单,比如:

我使用属性使其干净,但是如果我的用户要翻译他自己的代码(使用我的)并执行以下操作怎么办:

这是个问题吗 ?我可以做些什么来避免麻烦而不打扰我的用户?

0 投票
6 回答
8384 浏览

html - 您如何处理带有标记的文本翻译?

我正在为我们的网络应用程序开发多语言支持。我们在gettext库周围使用Django 的助手。一切都出乎意料地简单,除了如何处理包含重要 HTML 标记的句子的问题。这是一个简单的例子:

以下是我能想到的方法:

  1. 更改链接以包含整个句子。不管在这种情况下改变是否是一个好主意,这个解决方案的问题是,当两者在理想情况下独立时,UI 变得依赖于 i18n 的需求。

  2. 将上面的整个字符串标记为翻译(包括格式)。然后,翻译字符串也将直接包含 HTML。问题在于更改 HTML 格式需要更改所有翻译。

  3. 紧密耦合多个翻译,然后使用字符串插值来组合它们。例如,短语“请 %s 继续”和“登录”可以分别标记为翻译,然后合并。“登录”被本地化,然后包装在 HREF 中,然后插入到翻译的短语中,这使 %s 保持在翻译中以标记链接应该去哪里。这种方法使代码复杂化并破坏了翻译字符串的独立性。

还有其他选择吗?其他人是如何解决这个问题的?

0 投票
1 回答
676 浏览

vb6 - 如何在 VB6 中使用 GNU gettext?

我一直在几个私人项目中使用 gettext,现在我想使用 gettext 来翻译 Visual Basic 6 应用程序的字符串。

我检查了 GNU gettext 包,似乎我必须编写一些样板代码才能让它与 VB6 一起使用,我担心我的老板不会允许它。

  • VB6 是否有一些开箱即用的软件包?(像 dxgettext 这样的东西将是一个梦想!)
  • 你做过类似的事情吗?
  • 甚至可能吗?
  • 我从哪说起呢?
0 投票
3 回答
3799 浏览

web-applications - 合并 2 个 GetText 文件

我有两个中型 Web 应用程序,我将它们合并为一个。它们都是本地化的GetText并且有大量的公共字符串,所以手动合并它们会非常烦人。合并这两个PO文件的最快方法是什么?

0 投票
8 回答
42000 浏览

translation - Poedit 有什么好的替代品?

我正在寻找 .po/.mo 编辑器。我正在使用 gettext 翻译文件,但不太喜欢 Poedit。它必须在 Windows Vista 上运行,如果它内置到 Visual Studio 2008 中会更好,这样我就可以开发和翻译。

我真的想要一些可以帮助我翻译并使翻译更容易的东西。我想要建议和拼写检查。

【没有选择?如果真的没有选择,我还不如做一些事情并编写一些代码,以便再次轻松翻译。您甚至可以集成 http://dict.leo.org 或查看 Google 翻译为查询提供的内容。]

0 投票
1 回答
395 浏览

perl - 如何结合 Catalyst 和 ngettext?

我正在尝试使用 Catalyst 了解 i18n。据我了解,使用 Perl 进行翻译有两种方法:MaketextGettext。但是,我需要支持 gettext 的.po格式,所以基本上我会使用 gettext。

现在,我找到了 Catalyst::Plugin::I18n 和 Locale::Maketext::Lexicon,它大部分时间都能满足我的需求。但是,它不会生成正确的复数形式,即正确写入msgid_pluralmsgstr[x]写入.pot文件。这可能是因为 Maketext 依赖于它的括号符号[quant,_1...],因此在翻译中必须具有相同的符号。

另一个解决方案可能是使用一些直接的 gettext 端口,例如 Locale::Messages,但这意味着重写 C::P::I18n。

除了重写几个模块之外,是否有人对这个问题有适当的解决方案?任何将适当的 gettext 与其所有功能和 Catalyst 相结合的东西都可以。

0 投票
2 回答
6407 浏览

java - 用于国际化的 Java 和 GNU gettext

有没有人有过使用 GNU gettext 开发大型 Java 应用程序以实现国际化的经验?我发现我真的很喜欢在我的源代码中包含英文文本,但我想确保我所做的对于我参与的相对较大的软件项目来说是实用的。

如果您有这方面的经验,您使用什么来查找 Java 中的资源?我目前正在尝试 Gettext Commons ( http://code.google.com/p/gettext-commons/ ),到目前为止它似乎运行良好。

将原始文本保留在源代码中的 gettext 的任何替代方法?Windows 上支持的类似工具会很棒。

0 投票
2 回答
1596 浏览

winapi - 在 Win32 上使用 GNU gettext

我正在编写一个主要面向 GNU/Linux 和 Mac OS X 系统的游戏,但我一直在我的大部分代码中保持相当可移植的内容。

我已经将几乎所有特定于操作系统的东西都移植到了 Windows 上。唯一剩下的是i18n。

我的问题是这个

我应该如何将 Win32 的setlocale()功能与 gettext 一起使用?

到目前为止,我一直在使用 ISO 638/ISO 3166 代码(例如de_DE.utf8),但这些代码似乎不适用于 Windows。

我尝试了 setlocale(LC_ALL, "German"),它成功了,但是 gettext 无法正确找到翻译后的字符串,即使在使用 bindtextdomain 之后也是如此。

有什么提示吗?我想坚持使用 GNU gettext 以避免重写大量代码。

0 投票
2 回答
2281 浏览

php - 如何在 centOS 上启用 locale en_EN 以使 i18n gettext 正常工作

我有我的 PHP 网站的开发版本,当我将它移动到我在 centOS 操作系统上的生产服务器时,我发现我的语言环境版本的 en_EN 不起作用。

你能告诉我是什么导致了这种情况以及如何使这项工作正常进行吗?我使用 setlocale 和 gettext 在 PHP 中使用 i18n。