Articles of gettext

Gettext将始终使用系统默认的语言环境

我需要本地化一个仅限于Windows的PHP Web应用程序,并且正在评估gettext扩展,但是我正在尝试使其在Windows 7开发框中工作最困难。 我已经与stream程监控器一起使用试错法来克服可怜的和不准确的文档,我设法使_()显示string从* .po目录对应于计算机的默认语言环境(在我的情况下,现代西class牙语) 。 我所有尝试设置不同的语言环境都被忽略了。 我写了一个testing脚本,有很多冗余的东西: <dl><?php define('DIR_LOCALE', __DIR__ . DIRECTORY_SEPARATOR . 'locale'); bindtextdomain('general', DIR_LOCALE); bind_textdomain_codeset('general', 'UTF-8'); textdomain('general'); if(!defined('LC_MESSAGES')){ define('LC_MESSAGES', 5); } $pruebas = array( 'enu', 'es_ES', 'en_GB', 'english-uk', 'Spanish_Spain.1252', 'esn', 'spanish', 'spanish-modern', ); foreach($pruebas as $locale){ putenv("LC_ALL=$locale"); setlocale(LC_ALL, $locale); putenv("LC_MESSAGES=$locale"); setlocale(LC_MESSAGES, $locale); putenv("LANGUAGE=$locale"); putenv("LANG=$locale"); ?> <dt><?=htmlspecialchars($locale)?></dt> <dd><?=_('codigo_idioma')?></dd> <?php } ?> </dl> 就我而言, […]

PHP的Gettext – 没有翻译

我正在尝试使用PHP gettext扩展来翻译一些string。 所有函数似乎都返回正确的值,但是调用gettext() / _()仅返回原始string。 PO / MO文件似乎是正确的,我相信我已经正确地设置了目录。 我在Windows上使用PHP 5.3.10运行WAMP Server(也尝试运行5.3.4和5.3.8,因为我已经安装了)。 首先看/new2/www/index.php : $locale = 'esn'; # returns Spanish_Spain.1252 in var dump putenv("LC_ALL={$locale}"); // Returns TRUE setlocale(LC_ALL, $locale); // Returns 'Spanish_Spain.1252' $domain = 'messages'; bindtextdomain($domain, './locale'); // Returns C:\wamp\www\new2\www\locale bind_textdomain_codeset($domain, 'UTF-8'); // Returns UTF-8 textdomain($domain); // Returns'messages' print gettext("In the dashboard"); // Prints the original […]

.PO到.MO – 编程转换(PHP)

我打算允许用户通过PHP用户界面生成.POT文件/ .PO文件,作为CMS解决scheme的一部分。 一旦生成这些文件(简单的位),我想让我的系统自动将这些文件转换成.MO文件以响应用户(POST)请求。 我已经看到了关于SO的以下问题: .po到.mo转换器在PHP? 我知道我可以通过使用PHP的exec()函数来运行msgfmt ,但是如果我正确的话,那似乎只是一个Linux的解决scheme? 我如何在其他操作系统上执行此操作? 如果有人愿意示范,那么在实践中如何做到的一些示例代码也是非常有用的。 这与我平时的工作完全不同! 这只是目前的一个概念,但我希望我能沿着正确的路线前进。 如果您对此方法有任何其他想法/build议,我很乐意听到他们的意见。 背景信息如下。 其他背景信息 – 不需要: 我通过parsing简单的模板文件来检索原始的英文文本,这些文件只包含基本的HTML,并调用<?php _('the gettext method'); ?> <?php _('the gettext method'); ?> 。 这些模板在编辑/保存时被parsing,并且语言条目被检索。 .POT文件将被生成。 用户现在必须手动编辑翻译(通过简单的界面,而不是直接)来更新/准备所有的.PO文件。 一旦完成,我需要能够将它们转换为.MO文件,就像我的问题的标题一样。

找不到msguniq。 Django 1.8,Windows 7 64位

我已经成功地安装了msguniq(可以检查它的版本),我试图改变兼容性到Windows XP并运行它作为pipe理员,但我仍然得到这个错误: CommandError:找不到msguniq。 确保你有GNU gettext工具0.15或更新的安装。 我真的很困惑,因为我已经完成了这个答案 。 我真的出来的想法,我怎么能修复它(也试图改变gettext.exe和xgettext.exe到Windows XP兼容性)。

完整的C ++ i18n gettext()“hello world”的例子

我正在寻找一个完整的i18n gettext()你好世界的例子。 我已经根据G. Mohanty的使用GNU gettext的“ 母语支持教程”开始了一个脚本。 我正在使用Linux和G ++。 码: cat >hellogt.cxx <<EOF // hellogt.cxx #include <libintl.h> #include <locale.h> #include <iostream> #include <cstdlib> int main (){ char* cwd = getenv("PWD"); std::cout << "getenv(PWD): " << (cwd?cwd:"NULL") << std::endl; char* l = getenv("LANG"); std::cout << "getenv(LANG): " << (l?l:"NULL") << std::endl; char* s = setlocale(LC_ALL, ""); std::cout […]

Windows上的PHP gettext

有一些教程用于gettext(w / Poedit)…不幸的是,这主要是针对UNIX环境。 更不幸的是,我正在Windows XP上运行我的WAMP服务器(但是我正在为UNIX环境开发),而且没有任何教程可以使gettext正常工作。 从手册页( http://us3.php.net/manual/en/book.gettext.php )看来,这是Windows环境中的一个不同的过程。 我已经尝试了一些在评论中的解决scheme,但我仍然无法得到它的工作! 请,我已经花了很多时间在这个,希望有人可以指出我正确的方向来得到这个东西的工作! (我敢肯定,还有其他人分享我的挫折)。 到目前为止我的设置,我只得到输出“Hello World!” 而我应该得到翻译的string。 这是我的设置/代码到目前为止: <?php // test.php if (!defined('LC_MESSAGES')) { define('LC_MESSAGES', 6); } $locale = "deu_DEU"; // apparently the locales are different on a WINDOWS platform putenv("LC_ALL=$locale"); setlocale(LC_ALL, $locale); bindtextdomain("greetings", ".\locale"); textdomain("greetings"); echo _("Hello World"); ?> 文件夹结构 根目录:C:\ Program Files \ WampServer 2 \ […]

如何在Windows 7上安装GNU gettext?

我需要安装GNU的gettext 0.15或更高版本,以便我可以使用一些与Django的国际化的feateres。 我已经下载了: http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.3.1.tar.gz 从https://www.gnu.org/software/gettext/ 但是,我不知道如何安装它,他们的网站上没有安装指南。 我怎样才能安装它?

Python:gettext不会在Windows上加载翻译

这段代码在Linux上运行得非常好,但在Windows上却不行: locale.setlocale(locale.LC_ALL, '') gettext.bindtextdomain('exposong', LOCALE_PATH) gettext.textdomain('exposong') 代码从这里 即使我指定locale.setlocale (我尝试不同的格式)的区域设置它不起作用。 一个问题可能是环境variables中没有设置语言环境(但是我使用德语Windows版本;在XP和Vista上testing)。 如果我在命令行上"Set Lang=de_DE" ,一切都按预期工作。 有任何想法吗?