linux 下PHP使用多语言
2016-02-16 15:59
417 查看
首先确保安装了php扩展gettext,然后根据编辑生成po文件default.po。
在php工作目录下进入locale/zh_CN/LC_MESSAGES目录。
格式如下:
然后,生成对应的po文件。
(win环境可使用poedit来编辑生成po)
然后php代码调用:
浏览网页,显示“你好”,即可。
在php工作目录下进入locale/zh_CN/LC_MESSAGES目录。
格式如下:
msgid "" msgstr "" "Project-Id-Version: gst-time.HEAD\n" "POT-Creation-Date: 2009-04-11 15:45+0000\n" "PO-Revision-Date: 2016-02-16 10:49+0800\n" "Last-Translator: XXXXXX\n" "Language-Team: XXXXXX\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_CN\n" "X-Generator: Poedit 1.8.6\n" "X-Poedit-KeywordsList: XXXXXXXX\n" msgid "test" msgstr "测试" msgid "hello" msgstr "你好"
然后,生成对应的po文件。
(win环境可使用poedit来编辑生成po)
msgfmt -o default.mo default.po
然后php代码调用:
//定义要翻译的目标语言及po文件的编码 $locale = "zh_CN.utf8"; setlocale(LC_ALL, $locale); header("Content-type:text/html;charset=utf-8"); //设置翻译文本域,下面的代码就会让程序去locale/zh_CN/LC_MESSAGES/default.mo去寻找翻译文件 bindtextdomain("default", dirname(__FILE__)."/locale"); textdomain("default"); echo _("hello");
浏览网页,显示“你好”,即可。
相关文章推荐
- openfire在windows环境和linux环境下的配置
- linux小白学习笔记(二)设备文件
- Linux下的I/O复用与epoll详解 - junren
- CentOS6.5+mysql5.1源码安装过程
- linux_for_each_entry
- Linux 双链表 list_for_each_entry 实现
- linux小白学习笔记(一)常用基础命令
- linux select函数详解
- Linux常用命令之三
- 为什么要学习Linux?
- dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解
- Linux学习要点(转载自红联)
- VMware安装CentOS
- 为什么要学习Linux及其学习路线 (
- 在CentOS 6.5上安装python2.7
- LXC(Linux containers)快速入门
- 【linux】——cscope
- 使用密钥验证方式登录linux系统
- 解决虚拟机SSH失败或ifconfig无IP
- Linux下Gcc生成和使用静态库和动态库详解