首頁 >後端開發 >php教程 >php 使用gettext实现国际化有关问题! 用过的进来讨论一下撒~

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

WBOY
WBOY原創
2016-06-13 10:15:20848瀏覽

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程序<?phpputenv ("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:8msgid "Hello!"msgstr "你好!"#: ../index.php:9msgid "World!"msgstr "世界!"#: ../index.php:10msgid "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>
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn