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

php - 如何在 PHP 中使用 gettext 加载语言?

我在 poedit 中创建了一个语言文件以使用 PHP gettext 函数,现在在我尝试对其进行测试的页面上,我无法找到/加载我创建的 .po 或 .mo 文件,有人看到吗我做错了什么?

即使我正在尝试加载默认的英语语言文件,我已经更改了文件中的一些文本以确保它正在从语言文件中读取,并且目前它只显示默认文本而不进行翻译,我想我有错误的路径可能

0 投票
4 回答
692 浏览

php - 最好使用多个语言文件还是 1 个?

根据您的经验,使用 gettext 扩展名在 PHP 项目中为每种语言使用 1 个语言文件还是多个较小的语言文件更好?我什至不确定是否可以使用多个文件,因为服务器缓存了语言文件,所以我很难测试。

我在一个社交网站上做多种语言,到目前为止,只有注册页面大约是 200 页中的 1 页,它有 35 个要翻译的文本字符串,以这种速度,每种语言的语言文件会非常大,所以我在想也许为不同的页面或论坛部分和博客部分等部分制作不同的语言文件会更好,但如果没有区别,那么我宁愿不要浪费时间为每种语言制作多个较小的文件。

我意识到每种情况都是不同的,唯一真正的答案是测试它,但我希望这次能避免这种情况,只是得到一些更有经验的人的意见,这是我第一次使用 gettext,谢谢

0 投票
4 回答
4739 浏览

php - php 源代码到 PO 文件生成器

我必须将我的所有回显/打印字符串从我的php 源代码文件转换为PO 文件(用于语言翻译),是否有任何可用的批处理对流器。

0 投票
6 回答
14686 浏览

php - Windows 上的 PHP 获取文本

有一些关于 gettext 的教程(使用 Poedit)......不幸的是,它主要用于 UNIX 环境。更不幸的是,我在 Windows XP 上运行我的 WAMP 服务器(但我正在为 UNIX 环境进行开发),并且没有任何教程可以让 gettext 为我正常工作。从手册页看来,它在 Windows 环境中是一个不同的过程。我已经在评论中尝试了一些解决方案,但我仍然无法让它发挥作用!我已经花了很多时间在这上面,希望有人能指出我正确的方向来让这个东西工作!(而且我敢肯定还有其他人与我一样感到沮丧。)到目前为止,我的设置,我只得到输出“Hello World!” 而我应该得到翻译后的字符串。

到目前为止,这是我的设置/代码:

文件夹结构

0 投票
2 回答
196 浏览

php - 用gettext中的链接做文本的好方法?

我目前正在使用 PHP 使用 gettext 进行国际化。我想知道这个例子是否有任何好的方法:

对于 en_US,这句话将遵循这样的格式。但是,在另一种语言中,“使用条款”链接可能位于句子的开头。有没有一种优雅的方式来做到这一点?谢谢你的时间。

0 投票
1 回答
348 浏览

gettext - 在使用 GNU Autotools 的项目中,是否有启动 xgettext 的任务?

概括 :

我有一个使用 GNU Autotools 的项目。我有一个锅文件。我需要更新它。有没有为我运行 xgettext 的神奇“制作”任务(我很懒?)

详细版本:

你好

我正在尝试使用 GNU autotools 和 gettext 设置一个项目。

我正在尝试遵循“懒惰”的路径(即只编写 configure.ac、Makefile.am 等,并让工具尽可能为我生成其余部分)。

我在我的包上使用了一次 gettextize,所以我创建了一个 package.pot 文件,并派生了一个 fr.po 文件(我正在尝试翻译法语)。

我从来没有设法翻译我的代码,但我发现这可能是因为代码不在正确的位置。翻译后的字符串在 lib 而不是 main 中,文档很不清楚在这种情况下我必须做什么。如果我的 main 调用了 lib 中的函数,并且 lib 中的函数正在使用 _()。在这种情况下我应该使用 dgettext 的 gettext 吗?我的库只是为了组织目的而在这里,所以我可以使用相同的域(整个应用程序只有一个 package.pot 文件)。

所以,为了尝试一些更简单的事情,我把我的字符串移到了 main (目前它实际上只是一个 hello world)。所以我需要更新 package.pot 文件,至少,要意识到字符串位置发生了变化,需要吗?在这种情况下,我会手动使用 xgettext(痛苦地将所有有趣的 cpp 文件的列表传递给它,当我有多个文件时,这将是一件很痛苦的事情),还是在某个地方有一个“做任何事情”任务我能跑 ?

这可能看起来很愚蠢,但我一直无法找到它。

此外,欢迎任何有关查找我的代码未翻译原因的帮助任何不在http://www.gnu.org/software/gettext/FAQ.html#integrating_noop中的内容)都是受欢迎的!

谢谢

酸碱度

0 投票
3 回答
23181 浏览

translation - 是否可以将两个 .po 翻译文件组合在一起?

我们有两个 .po 文件,每个文件来自一个软件的不同分支。

我们需要将它们组合成一个 .po 文件。

两个文件之间存在重复,理想的处理方式是(一致地)偏爱一个文件的字符串。

我们有一个 SUSE 系统,所以根据我从网络搜索中找到的手册页,--output-file 似乎没有忽略/合并 Sun 版本所具有的重复项的行为。(我们手边没有 Sun 机器!)

0 投票
2 回答
1786 浏览

localization - gettext:将 dgettext() 字符串提取到 domain.po 文件中

我有多个域的程序,一些源文件包含具有不同文本域的 dgettext() 调用。

如何将 gettext-strings 提取到多个 .po 文件中?例如,呼叫dgettext('one', 'Hello')应转到 one.po 和dgettext('two', 'Bye')two.po。xgettext 只是忽略文本域并将所有内容放在单个文件中。

0 投票
2 回答
2418 浏览

php - i18n 与 gettext 但没有语言环境的麻烦?

我正在寻找一种符合标准的方式来存储 Web 应用程序的多语言内容。到目前为止,我使用了自己的“translate()”函数从文件或数据库中的字典表中读取数据。但是,如果您使用 Web 应用程序的不同副本,则使数据库表中的字典保持最新是非常麻烦的。

我喜欢 gettext,因为有很多工具可供它使用。但是,我为不同平台开发应用程序。我绝对不愿意处理 setlocale() 和 consorts 的蹩脚方式 - 即几十种不同的语言环境字符串变体,这些变体因系统而异,您需要提供这些变体才能使其正常工作。永远不能。我有一组语言——比如 de、en 和 es——我想加载适当的字典并使用 _() 而不接触 setlocale() 或 bindtexdomain() 一次。

使用 gettext 有可能吗?或者有人知道另一种简单、小巧、快速(!)i18n 的 PHP 解决方案,它可以处理 .po/.mo 文件,最好不需要 PHP 扩展?

0 投票
2 回答
717 浏览

php - 获取文本,不显示

我正在尝试使用以下代码加载我的 .mo 翻译,但它不起作用。我有 php gettext 分机。在我的 phpinfo() 中启用并安装了所有必需的语言环境。我错过了什么吗?

我的 .mo 文件位于./locale/en_US/messages.mo