阿帕奇 2.4 + PHP 5.5
putenv('LC_ALL=ru_RU');
setlocale(LC_ALL, 'ru_RU');
bindtextdomain('mydomain', '/absolute/path/to/messages');
textdomain('mydomain');
我绝对确定,比mydomain.po
我mydomain.mo
在/absolute/path/to/messages/ru_RU/LC_MESSAGES/
.
我还把这些文件给了我在 OS X Maverics 上的同事 - 工作得很好。
我不能让 php gettext 工作。
我已经在 Google/stackoverflow 上搜索了大约几个小时,尝试了各种解决方案 - 仍然无法正常工作。我做错了什么?
每次更改某些内容以确保重新加载 gettext 文件时,我都会重新启动 apache。
这是我的locale -a
输出:
miraage@ubuntu:~$ locale -a
C
C.UTF-8
....
en_GB.utf8
....
POSIX
ru_RU.utf8
ru_UA.utf8
另一个 cmd 输出:
miraage@ubuntu:~$ sudo locale-gen ru
Generating locales...
ru_RU.UTF-8... up-to-date
ru_UA.UTF-8... up-to-date
Generation complete.
好吧,我想通了:
sudo locale-gen ru_RU
(添加了新的语言环境,但不同的字符集)然后setlocale(LC_ALL, 'ru_RU.UTF-8');
完成了所有工作。
感谢帮助。