> 백엔드 개발 > PHP 튜토리얼 > php 使用gettext实现国际化有关问题! 用过的进来讨论一下撒~

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

WBOY
풀어 주다: 2016-06-13 13:36:13
원래의
878명이 탐색했습니다.

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>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿