问题标签 [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.
php - 递归xgettext?
如何.po
使用带有 PHP 文件的 xgettext 以递归方式编译文件?
我的 PHP 文件存在于层次结构中,直接xgettext
命令似乎没有递归挖掘。
php - i18n/gettext : web 应用程序中的 setlocale 配置
所以我开始胡闹,gettext
但我仍然对某些事情感到困惑,如果有人能帮助我并为我填补空白,那就太好了。
通常大多数实现只是
setlocale
基于语言参数调用。有没有我需要使用putenv
的情况,也许是 Windows 设置的边缘情况?我的 php 框架的默认语言是英语,UTF-8 - 所以我设置
LC_ALL
为en_US.utf-8
,因为en_US
是 ISO-8859-1/Latin1,显然它不如 UTF-8 支持?调用后有什么我应该知道的问题
setlocale(LC_ALL, 'en_US.utf-8')
吗?因为它改变了所有这些:LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME, and LC_MESSAGES
- 我是否必须更新任何脚本,例如,生成时间或类似的东西?假设一个新配置的服务器没有
es_ES.utf-8
配置语言环境,我知道如何生成语言环境,但如果它不可用,那么我应该在阵列中提供备份吗?如果有人可以提供一个实际示例,那就太好了,例如:setlocale( LC_ALL, array('es_ES.UTF-8', 'es_ES', 'es') )
是否有某种网站提供此类示例,或者人们通常会自己提出优先顺序?
我在某处读到
locale
ori18n
文件夹的通常结构如下所示。结构真的很重要吗?似乎正在发生的一切是当您
bindtextdomain('messages', 'locale')
递归搜索该目录时messages.mo
,我可能没有注意到,但它可能正在考虑目录。
我应该对结构有多严格?
6. 我是否应该尝试测试系统是否真的支持语言环境?因为例如,如果服务器没有语言环境并且我尝试对其进行设置,setlocale
它不会出错或其他任何东西,它只会默默地让它过去。
visual-c++ - 如何在 MS Visual C++ 中使用 GNU gettext?
是否可以将GNU gettext与 MS Visual C++ 一起使用?有人知道在哪里可以找到在 Visual C++ 下编译的示例项目吗?
更新: 感谢 Sorin Sbarnea 的评论,帮助我将所有部分放在一起:
我习惯了gettext 的 Delphi 版本,您只需在项目中编译单元 gnugettext.pas,这就是为什么我只是尝试使用我的 MSVC 项目编译 gettext.h。它可能适用于其他 C++ 编译器,但不适用于 MSVC。
GNU gettext的常见问题解答解释了如何通过使用预编译的 DLL 来使用 MSVC。但是没有指向 DLL 的链接,并且这些 DLL 不在主下载中。它们必须从ftp 站点单独下载。您将需要 2 个 dll 文件:
如果您需要工具从 exe 中提取字符串,您还需要:
我还没有用 MSVC 尝试过,但现在我认为它会起作用。
php - 使用 Gettext 和 Zend_Translate 的应用程序范围的语言环境?
我有一个自定义目录,例如/www/phpstuff
在我的include_path
. 这个phpstuff
目录里面是一个文件夹i18n
。它包含服务器端级别的.mo
文件。
Zend_Translate
让你在构造函数的第二个参数中指定一个目录,我真的做不到
它尝试从调用此脚本的目录中读取,是否有任何技巧我可以使用而不必/www/phpstuff/i18n
明确指定?原因是我正在使用的这个框架将在许多不同的平台上使用,并且在 include_path 中指定目录比在绝对路径中更容易。
我能想到的唯一解决方法是手动读取包含路径,按分隔符拆分,检查是否有任何目录被命名为“gettext”,然后获取找到的第一个目录的绝对路径并设置它。
localization - 是否有某种以 .mo 或类似格式存储的翻译字符串的开源存储库?
只是好奇,我认为我将不得不聘请一名翻译来手动处理我的 .mo 文件,但如果有某种资源的话会很棒。
抱歉,如果此问题不属于或不是“真实”问题,但它与 Web 应用程序本地化有关。
php - 什么 PHP 需要与 gettext 一起工作?
我有一个带有 PHP 的 linux 服务器。我没有gettext
在 PHPINFO 输出中看到,所以我假设gettext
没有启用或包含在 PHP 中。我已经gettext
在机器上安装了lib。
我还需要执行哪些其他步骤才能gettext
在我的 PHP 中启用?
我阅读了php.net文档,那里唯一一篇关于使用gettext
. 这是唯一的方法,还是有另一种更简单的方法?
internationalization - 用两个复数词国际化句子
使用 gettext 如何使具有多个数值变量的句子可翻译?ngettext 只接受一个数字作为复数参数。
以下句子中应允许的排列是“成人和儿童”、“成人和儿童”、“成人和儿童”和“成人和儿童”。
“从 #AVAILABILITYFROM 到 #AVAILABILITYTO,适用于 #NUMADULTS 成人和 #NUMCHILDREN 儿童”
gettext - 本地化应用程序的在线服务(Launchpad.net 替代方案)
我正在寻找类似http://translations.launchpad.net的服务,以便通过团队合作支持将我的应用程序本地化为不同的语言(基于 gettext)。
提前致谢。
python - 如何创建国际化的 Google App Engine 应用程序
我想以用户自己的语言提供我的 Python GAE 网站,仅使用 App Engine 中直接可用的工具。为此,我想使用 GNU gettext 文件(.po 和 .mo 文件)。
有人成功结合 Python Google App Engine和gettext文件吗?如果是这样,您能否提供您使用的步骤?
我已经在 GAE 的 Google 小组中开始了讨论,但无法从中提取我想怎么做:我不想添加外部依赖项,比如 Babel(在讨论中建议)。我想使用普通的 Google App Engine,所以不需要手动更新 Django 或这类东西。
一开始,我会开始使用浏览器发送的语言,所以不需要通过cookie等手动强制语言。但是,一旦基本的国际化工作,我可能会在以后添加一个语言更改功能。
作为背景说明,为您提供有关我正在尝试做的事情的更多详细信息,我想将Issue Tracker Tracker国际化,这是我在 Launchpad 上托管的一个开源应用程序。我打算使用 Launchpad 的翻译平台(解释我为什么要使用 .mo 文件)。您可以查看其 Bazaar 分支中的源代码(抱歉,由于新用户的 stackoverflow 垃圾邮件预防限制,没有链接......)
感谢您帮助我推进这个项目!
php - 我如何在 PHP4 中解析 gettext .mo 文件而不依赖 setlocale/locales?
我做了几个相关的线程,但这是我正在寻找答案的一个直接问题。如果 php 版本是 5,我的框架将使用Zend_Translate
,否则我必须模仿 4 的功能。
似乎几乎每个 gettext 实现都依赖于 setlocale 或 locales,我知道系统之间存在很多不一致,这就是我不想依赖它的原因。
我已经尝试了几次让textdomain
,bindtextdomain
和gettext
函数工作,但我总是需要调用setlocale
.
顺便说一句,所有的 .mo 文件都是 UTF-8。