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

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

WBOY
WBOYOriginal
2016-06-13 10:15:20793browse

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>
Statement:
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