php 使用gettext实现国际化有关问题! 用过的进来讨论一下撒~

WBOY
Release: 2016-06-13 13:36:13
Original
856 people have browsed it

php 使用gettext实现国际化问题! 用过的进来讨论一下撒~~
我的环境:ubuntu server +xampp 套件

php代码中的输出是使用简体中文来输出的,现在 要将简体中文的输出转换成英文,和繁体中文。
使用gettext 来做。

现象 : 无法转换!
  但是, 如果吧代码中得中文换成英文字符,然后在 .po文件中更新一下,再生成.mo文件后,则能够正常转换!


也就是说 当po文件中的需要转换的字符串为中文的时候 则不能转!

即 中文 --》 其他语言 ,不成功!
  英文 --》 其他语言 ,则能够成功!!


请大家来讨论下这是为什么?!



------解决方案--------------------
下载地址:
http://sourceforge.net/projects/gnuwin32/files/gettext/0.14.4/gettext-0.14.4-src.zip/download

PHP code

第一步:撰写PHP程序
<?php putenv("LANG=zh_CN");
setlocale(LC_ALL, "zh_CN");

bindtextdomain("test", "./locale");
textdomain("test");

echo gettext("Hello!");
echo gettext("World!");
echo gettext("Hello World!");
?>
第二步:
xgettext.exe -d test -L PHP --from-code=utf-8 index.php

第三步:
修改test.po为:

#: ../index.php:8
msgid "Hello!"
msgstr "你好!"

#: ../index.php:9
msgid "World!"
msgstr "世界!"

#: ../index.php:10
msgid "Hello World!"
msgstr "你好,世界!"

第四步:
msgfmt -o zh_CN/test.mo zh_CN/test.po
生成test.mo文件
第五步:
创建locale\zh_CN\LC_MESSAGES目录,将test.mo放入该目录中
第六步:
重启apache,访问index.php即可看到效果
<br><font color="#e78608">------解决方案--------------------</font><br>
编码用utf-8试试 <div class="clear">
                 
              
              
        
            </div>
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template