安装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
  

php gettext的更多相关文章

  1. jQuery的getText()方法源码

    /** * Utility function for retrieving the text value of an array of DOM nodes * @param {Array|Elemen ...

  2. php gettext 多语言翻译

    1.在window与linux下的多语言切换有些区别,主要putenv的设置区别. 参考链接:http://www.cnblogs.com/sink_cup/archive/2013/11/20/ub ...

  3. php gettext 注释

    //setlocale(LC_ALL, "en_US.UTF-8"); setlocale(LC_ALL, "zh_CN.UTF-8"); bindtextdo ...

  4. 已解决:Ubuntu php gettext 无效

    使用gettext做多文字国际化,按PHP官方文档,在CentOS上OK,在Ubuntu上不行,调试了快1天,试了网上提供的无数方法,终于有一个OK了…… 看到此文的同学别再被坑了…… 感谢:http ...

  5. Selenium2学习-013-WebUI自动化实战实例-011-WebElement.getText()值为空问题探索及解决

    今天有个朋友在群里问 WebElement.getText() 值为空,当你发现取到的值为空的时候,会不会郁闷呢?明明看到的值不为空,脚本看着也没有问题啊,为何取到的值为空呢!!!万千纠结啊,若是长时 ...

  6. Python本地化例子 - gettext 模块

    关键字:Python 3.4,gettext,本地化,Localization OS:Windows 7,Mac 1. 创建一个locsample.py文件,文件内容如下,把所有需要本地化的字符串放到 ...

  7. ActionSupport.getText()方法 以及 js中:<s:text name="" />

    下面略述com.opensymphony.xwork2.ActionSupport.getText()方法 public String getText(String aTextName) 说明:Get ...

  8. c#开发之多国语言解决方案gnu.gettext + poedit

    1.工具简介 1.1.关于i18n i18n其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数是“国际化”的简称. i10n为资源本地化,全称为Locali ...

  9. 转 delphi SelText,GetText,SetText用法

    转自:http://blog.163.com/wll_009/blog/static/1173731172009102452632968/ 这几个都跟选区有关的,就是选中一串字符串,选中的会变蓝色Se ...

  10. CharSequence的getText()与String的getString()(转)

    CharSequence的getText()与String的getString()『Android系列七』 曾经在学习中碰见两种获取常量的方式: CharSequence chrs = getText ...

随机推荐

  1. dirname(__FILE__)

  2. [ES]elasticsearch章2 ES查询过程解析

    es服务端是准确知道每个document分布在哪个shard上: search一个比较复杂的执行模式,因为我们不知道那些document会被匹配到,任何一个shard上都有可能,所以一个search请 ...

  3. tomcat与jmeter

    jmeter无法提取出Tomcat之外的其他服务器的指标. 为了克服这一现状,研发了一个服务器代理,jmeter通过这个代理来获取性能数据. 代理使用的是sigar开源库,他是一个java通过部分和一 ...

  4. js Array 方法总结

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. Windows server 2008 被ntlmssp安装攻击 解决

    进行NTLM策略控制,彻底阻止LM响应

  6. Elastix GOIP 网关配合

    方案一 Gateway disallow=allallow=alaw&ulawcanreinvite=nodtmfmode=rfc2833host=192.168.1.108insecure= ...

  7. JS高级-***Function- ***OOP

    1. ***Function 作用域(scope): 什么是: 一个变量的使用范围 为什么: 避免函数内外的变量间互相影响 包括: 2种: 1. 全局作用域: window 保存着全局变量: 随处可用 ...

  8. ThinkPHP getBy动态查询

    getBy动态查询 ThinkPHP getBy动态查询是一个魔术方法,可以根据某个字段名称动态得到对应的一条数据记录. 根据用户名(username)查询对应的用户资料记录: public func ...

  9. hdu-1034(模拟+小朋友分糖)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1034 参考文章:https://blog.csdn.net/zyy173533832/article/ ...

  10. $.cookie is not a function的错误原因

    网上说的原因是:“手残导入2次jquery库文件 ” 是的,就是这个原因.引入了两次jquery.js