我目前正在尝试将英语转换为中文单词。这些是我的代码。
<?php
$language = "zh_CN";
putenv("LC_ALL=$language");
setlocale(LC_ALL, $language);
$domain = "messages";
bindtextdomain($domain, "Local");
bind_textdomain_codeset($domain, 'UTF-8');
textdomain($domain);
echo _("HELLO_WORLD");
?>
这是输出。它应该显示你好世界!而不是Hello World!
我测试了英文转换,它工作正常。但是,当我将$language = "en_US"
替换为$language = "zh_CN"
并重新启动apache时,它仍会显示英文翻译字。
我打印了putenv和setlocale的值,得到putenv = 1和setlocal = empty。
我正在使用
Window 10单一语言。
Xampp 5.6.12
PHP Version 5.6.12
这是我的目录
Local----->en_US ----->LC_MESSAGES ----->messages.mo
----->messages.po
----->zh_CN ----->LC_MESSAGES ----->messages.mo
----->messages.po