问题标签 [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 投票
1 回答
261 浏览

gettext - gettext 有什么好的介绍和资源吗?

我正在研究翻译框架,并且一直在考虑 gettext。因为它据说相当不错,而且很多项目都在使用它。现在我阅读了官方手册的一部分,但它很烂。我有点知道它现在是如何工作的,但我不知道从哪里开始。

特别是我的项目跨越 C++、Lua 和 Javascript,所以我希望能够用一个工具来统一 i18n,但我也没有运气找到 gettext 对 Lua 或 Javascript 的良好支持,它们是否支持,有有人用这些gettext吗?

谢谢。

0 投票
1 回答
578 浏览

php - c 文件不是从 tsmarty2c.php 命令生成的

我正在使用 smarty gettext 插件来国际化 windows 上的 smarty 模板。但是当我运行命令 tsmarty2c.php 时,创建了 c 文件但字符串不在文件中。C 文件为空。

我正在使用 PHP 5.2.9 和 smarty gettext 插件版本是 v 1.1。感谢任何帮助。

0 投票
1 回答
4806 浏览

internationalization - 如何迭代地使用 xgettext 更新 .po 文件进行翻译

我正在考虑使用xgettext来帮助翻译大型代码库,我有两个问题:

  • 如果我每种语言都有一个 .po 文件,是否有一种简单的方法可以使用代码库的单个 xgettext 扫描来更新它们,或者我必须为每种语言运行一次 xgettext?
  • 如果我使用poedit将目标语言添加到 .po 文件头,xgettext 似乎会用默认头文件覆盖它。我怎样才能阻止这个?

也许我使用了错误的工具,在这种情况下,欢迎提出建议。我想要的是能够扫描代码并使用任何新字符串更新 .po 文件,但保持任何标题信息不变。

编辑:我知道 poedit 可以扫描代码,但我希望找到一个命令行应用程序来执行扫描以更轻松地自动化该过程。

0 投票
3 回答
4975 浏览

c# - 使用 GNU Gettext 本地化 ASP.NET MVC 网站?

这可能是一个不寻常的问题,但是否有任何框架或至少一些帮助类可以帮助我使用 GNU Gettext 本地化 C# ASP.NET MVC 网站?我一直在以前的(托管代码)项目中使用 Gettext,并且非常感谢使用 PoEdit 翻译资源的可能性。

我想这意味着编写一些可以从 Gettext 中提取资源字符串的 HtmlHelper 扩展方法。甚至似乎有某种 C# gettext 包装器,但我找不到手册或教程。任何指针将不胜感激。

谢谢,

阿德里安

0 投票
1 回答
1712 浏览

python - 如何生成 gettext 复数形式表达式的示例?在 Python 中?

给定一个 gettext Plural-Forms 行,每个n. 我希望我的网站翻译人员的 Web 界面具有此功能,以便他们知道将哪种复数形式放在哪里。例如,给定:

"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"

...我希望第一个文本字段标记为“1, 21..”,然后是“2, 3, 4...”,然后是“5, 6...”(不确定这是否完全正确,但你明白了。)

现在我能想到的最好的办法是以某种方式解析表达式,然后将 x 从 0 迭代到 100 并查看它产生的 n。这不能保证有效(如果某些语言的最低 x 超过 100 怎么办?)但它可能已经足够好了。有更好的想法或现有的 Python 代码吗?

0 投票
2 回答
8085 浏览

php - PHP中多语言支持的最佳系统?

我有一个想要本地化的 PHP 应用程序。目前,我这样做的方式是一种非常丑陋的方式: $loc['hello'] = "Hello", echo $loc['hello']; 将显示Hello,您可以更改文件以更改语言。我想要的是一种更好的方法和更快的方法,我正在考虑:

  • 1个包含所有页面语言数据的XML文件(它会很慢,因为每个页面都会加载整个站点的语言数据)
  • 多个文件,每个页面一个 xml 文件(帮助不大,因为它和旧系统一样混乱)
  • gettext() (这似乎是最好的方法,但我今天才发现它,所以从我现在的系统改成这个会很难吗?快吗?)

总而言之,哪种方式最快、最干净、最容易从我目前的方式转移到新的方式。谢谢。

0 投票
1 回答
637 浏览

perl - 如何使用 gettext 在 HTML::Template[::Compiled] 中执行 I18N?

我目前正在尝试将 Web 项目从自定义 i18n 系统移动到gettext,但是我还需要为 i18n 准备HTML::Template::Compiled模板,但还不知道该怎么做。我的模板存储在单独的文件中,因此我不能使用 Perl 的字符串插值,我也想_()在模板中使用 gettext-typical 语法。

知道如何正确实施吗?

0 投票
3 回答
859 浏览

php - 如何说服其他程序员使用 Gettext?

我在我参与过的许多项目中都成功地使用了 GNU Gettext,但在我最近的工作中,我突然发现自己被迫使用一个非常尴尬的本地化系统。

当前系统将翻译存储在数据库中,添加新翻译的过程如下:

  • 将带有翻译键的函数调用添加到源代码,例如print translate('foo');
  • translations.sql向文件中添加一些 SQL INSERT 语句。
  • 用名字创建文件(current revision nr + 1).sql
  • 在数据库中执行 .sql 文件。
  • 提交您的更改(在其他人设法提交和更改当前修订号之前)。

所有这些过程都是完全手动的,即使您需要修复一个小错字,您也必须重复几乎所有的过程。不支持复数形式。整个翻译数据库非常混乱,因为翻译几乎从未被删除 - 只是添加和更新。

我尝试了几种论点来说服其他开发人员(尤其是一个特定的开发人员):

  • 我已经谈到 Gettext 正在成为标准,并且有许多工具可用于处理 PO 文件。
  • 我试图解释在数据库中存储翻译与将它们存储到文本文件相比没有任何好处——我们只是通过密钥从数据库中检索翻译,仅此而已。
  • 另一位开发人员正在开发我们应用程序的 PHP 部分,PHP 内置了 Gettext。我在 JavaScript 方面工作,它不支持 Gettext,但我过去已经为它构建了自己的工具。
  • 我们的应用程序不是很大,即使手动完成从旧系统转换到 Gettext 也需要很长时间,我很确定它可以很容易地自动化。
  • 我什至成功地将 Gettext 用于我们公司的一个较小的应用程序。

但人们仍然不相信。我可能做错了什么?

编辑:

在发布这个问题几个月后,我们现在终于过渡到 Gettext。当我们需要支持两种以上的语言时,我们当前系统的缺点对那些迄今为止抵制它的人来说更加明显。

0 投票
2 回答
864 浏览

c++ - 获取文本和语言环境

我从一个相对可靠的消息来源听说 gettext 不需要系统语言环境就可以工作。但是我已经尝试了一些教程,除非我有 locale-gen'd (in arch) fi_FI.utf8,否则我无法显示任何翻译。

0 投票
1 回答
1985 浏览

php - 将 smarty 默认变量修饰符与 gettext 一起使用

我目前正在将 smarty 与 zend 框架一起使用,并且我已经设置 smarty 以通过以下方式使用 gettext:

这可以正常工作,但是在尝试将其与 smarty 默认变量处理程序一起使用时遇到了问题。我想做这个:

但这只会打印“gettext”。关于如何做到这一点的任何建议。甚至可能吗?