linux 下PHP使用多语言

首先确保安装了php扩展gettext,然后根据编辑生成po文件default.po。

在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");

浏览网页,显示“你好”,即可。

时间: 2024-08-09 22:01:50

linux 下PHP使用多语言的相关文章

Linux下more命令C语言实现实践

1. more第一版 实现基础功能,显示每一页固定24行文本,"q Enter"退出, "Enter" 下一行, "space Enter"下一页. /************************************************************************* > File Name: more01.c > Author: qianlv > Mail: [email protected] &

LINUX下QT与C语言通过网卡名获取网卡IP与MAC

1.QT下 QString RuntimeConfig::ipAddress(QString network) { QList<QNetworkAddressEntry> list; QString localIPaddress; QNetworkInterface interface = QNetworkInterface::interfaceFromName(network); list = interface.addressEntries(); if (!list.isEmpty())

linux下怎样用c语言调用shell命令

C程序调用shell脚本共同拥有三种法子 :system().popen().exec系列数call_exec1.c , system() 不用你自己去产生进程.它已经封装了,直接增加自己的命令 exec 须要你自己 fork 进程,然后exec 自己的命令 popen() 也能够实现运行你的命令,比system 开销小 方法一.system()的使用.我直接上代码吧 int system(const char *command); 我在/home/book/shell新建一个test.sh文件

在linux下Lua调用C语言的两种方法

一.c语言作为应用程序的一部分 #include <stdio.h>#include <string.h>#include <lua.hpp>#include <lauxlib.h>#include <lualib.h> //待Lua调用的C注册函数.static int add2(lua_State* L){ //检查栈中的参数是否合法,1表示Lua调用时的第一个参数(从左到右),依此类推. //如果Lua代码在调用时传递的参数不为number

linux下ping的C语言实现

1 #include <stdio.h> 2 #include <signal.h> 3 #include <arpa/inet.h> 4 #include <sys/types.h> 5 #include <sys/socket.h> 6 #include <unistd.h> 7 #include <netinet/in.h> 8 #include <netinet/ip.h> 9 #include <

初识Linux下的C语言

最近在复习C语言的相关知识,发现自己从来没有在Linux下使用过C语言,因此在慕课网上找到了相关的教程,学习了在Linux环境下运行C程序的基础知识. 记录如下: 首先准备好Linux环境,并安装好Vim编辑器.gcc编译器,使用 apt-get install 命令安装: sudo apt-get install vimsudo apt-get install gcc 在home目录下创建一个用于保存C程序的目录并进入该目录: cd ~mkdir cworkspacecd cworkspace

linux下gdal的搭建

[源码编译] 前期准备: 确认电脑上安装好g++等开发环境,否则执行 sudo apt-get install build-essential 2.  确认电脑上已经安装好svn以便下载最新的源代码,否则执行 sudo apt-get install subversion 3.  确保proj4的安装 $ curl -O http://download.osgeo.org/proj/proj-4.8.0.tar.gz $ tar xvfz proj-4.8.0.tar.gz $ cd proj-

LINUX下C语言编程基础

实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用gdb调试技术 6. 熟悉makefile基本原理及语法规范 7. 掌握静态库和动态库的生成 二.实验步骤 1. 快捷键 Ubuntu中: 2. vim VIM是一个非常好的文本编辑器,很多专业程序员使用VIM编辑代码,即使以后你不编写程序,只要跟文本打交道,都应该学学VIM,可以浏览参考一下普通人

Linux下C语言的调试 - gdb

调试是每个程序员都会面临的问题. 如何提高程序员的调试效率, 更好更快地定位程序中的问题从而加快程序开发的进度, 是大家共同面对的问题. 可能Windows用户顺口就会说出:用VC呗 :-) , 它提供了设置断点, 单步跟踪等的图形界面, 使调试起来直观易用. 但Linux用户可能要生闷气了 O:-) : 难道我们Linux程序员就只能使用原始的调试方法, 在代码中加入printf信息吗?难道Linux下就没有好的C语言调试工具吗? 当然不是了. GNU早就组织开发了一套C语言编译器(Gcc)和