Windows上的PHP gettext

axs*_*uul 10 php windows gettext

有一些关于gettext(w/Poedit)的教程......不幸的是,它主要用于UNIX环境.更不幸的是,我在Windows XP上运行我的WAMP服务器(但我正在为UNIX环境开发),并且没有一个教程可以让gettext正常工作.在手册页(http://us3.php.net/manual/en/book.gettext.php)中,它似乎是Windows环境中的不同进程.我已经在评论中尝试了一些解决方案,但我仍然无法让它工作!拜托,我花了很多时间在这上面,希望有人可以指出我正确的方向让这个东西上班!(而且我确信还有其他人与我分享我的挫折感).到目前为止,我的设置,我只输出"Hello World!" 而我应该得到翻译的字符串.

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

<?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"); 

?>
Run Code Online (Sandbox Code Playgroud)

文件夹结构

root:     C:\Program Files\WampServer 2\www
test.php: C:\Program Files\WampServer 2\www\site
.po:      C:\Program Files\WampServer 2\www\site\locale\deu_DEU\LC_MESSAGES\greetings.po
.mo:      C:\Program Files\WampServer 2\www\site\locale\deu_DEU\LC_MESSAGES\greetings.mo

请指教!谢谢你的时间 :)

wes*_*mly 6

我在本地机器上使用gettext时遇到了问题,经过一些搜索,我发现这个页面解决了我的问题:http: //www.kipras.com/getting-gettext-to-work-in-apache-on-窗户/ 96

我在网页上引用:

在Linux服务器(或除Windows之外的任何其他服务器)上,执行此操作的方法是:

setlocale(LC_MESSAGES, “en_US”);
Run Code Online (Sandbox Code Playgroud)

在Windows上设置位置的正确方法是:

putenv(“LC_ALL=en_US”);
Run Code Online (Sandbox Code Playgroud)


axs*_*uul -3

这是因为我没有安装语言环境。