安装gettext:
ubuntu: apt-get install php-gettext, apt-get install gettext
window:开启扩展 修改locale :
$ /usr/share/i18n/locales //查看支持的语言
$ vi /etc/locale.gen //开启语言
$ locale-gen //是新设置的locale 生效
$ locale -a 查看目前支持的语言
example:

test.php:
<?php
  str='home';
xgettext -a test.php -o test.pot
exportLANG=zh_CN.utf8
msginit -l zh_CN.utf8 -i test.pot
生成了相应的zh_CN.po文件

将这两个文件,移动到对应的文件夹中
var/www/test/locale/LC_MESSAGES
index.php

  $lang = 'tw';
putenv('LANG=zh_TW');
setlocale(LC_ALL, 'zh_TW'); $lang = isset($_GET['lang']) ? $_GET['lang'] : 'tw'; if ('tw' == $lang) {
putenv('LANG=zh_TW');
setlocale(LC_ALL, 'zh_TW'); // bsd use zh_TW.UTF-8
} else if ('cn' == $lang) {
putenv('LANG=zh_CN');
setlocale(LC_ALL, 'zh_CN'); // bsd use zh_CN.UTF-8
} else if ('en' == $lang) {
putenv('LANG=en_US');
setlocale(LC_ALL, 'en_US');
} define('PACKAGE', 'hello'); // package其实是.mo文件的文件名称,比如是zj.mo那么我们写的时候只需要些(PACKAGE:zj) // gettext setting
bindtextdomain(PACKAGE, 'locale'); // or $your_path/locale, ex: /var/www/test/locale
textdomain(PACKAGE);//sets default domain ××我在这里栽了一个跟头,.mo的文件名称要和项目包的名称一样,这样才可以, // main program
echo gettext("Hello World!");
echo '<br>';
echo _("This is book.");
echo '<br>';
echo _("Hello World!");
1、string gettext ( string $message )
  looks up a message in the current domain
2、bool putenv ( string $setting )
Setting certain environment variables may be a potential security breach
3、string setlocale ( int $category , string $locale [, string $... ] )
string setlocale ( int $category , array $locale ) set locale information
  

最新文章

  1. IPv6实验准备
  2. NOIP模拟赛-征兵
  3. asp.net 网页抓取内容
  4. jquery相关校验以及jquery其他知识总结
  5. CF 369 B. Valera and Contest
  6. 正式软件工作第一天————MVC、ext JS、和clsa
  7. Css 外边距折叠(collapsed margin ) 浅析
  8. 动画(Animation) 它 (闪烁、左右摇摆、跷跷板等功效)
  9. 第3章 PCI总线的数据交换
  10. 冲刺NO.1
  11. vs2015第二次装安装不能选择路径问题解决方法
  12. 使用jquery.pjax实现SPA单页面应用
  13. 全系列Unity4.x.x到2017.1.1破解Win&amp;Mac!最新Unity2017.1.1p3&amp;4.7.2f1破解!
  14. 用PHP山寨一款软件
  15. 第三节:工厂+反射+配置文件(手写IOC)对缓存进行管理。
  16. Linux基础命令---检查密码文件pwck
  17. shell doc
  18. 【转】【WebStorm】利用WebStorm来管理你的Github
  19. imu标定 imu_tk
  20. GIS 地理坐标分类

热门文章

  1. swift 总结
  2. PostThreadMessage
  3. [Robot Framework] Robot Framework怎么调试?
  4. 学习python 多进程和多线程
  5. jdk8 tomcat7
  6. UGUI控制UI的显示层级
  7. Ubuntu18.04网易云音乐双击运行
  8. 58.UIScrollView XIB拖拽约束
  9. mysql之多表查询和pymysql模块
  10. 2019.01.23 ural1519 Formula 1(轮廓线dp)