iconv and gettext implement step
来源:互联网 发布:三星4321网络扫描 编辑:程序博客网 时间:2024/05/22 03:31
refer to http://www.onlamp.com/pub/a/php/2002/06/13/php.html
1. Install iconv and gettext module and make configure on server
Download libiconv-1.9.1.tar.gz, gettext-0.12.1.tar.gz, apache_1.3.22.tar.gz, php-4.2.tar.gz [libiconv] [apache] /usr/local/APACHE/bin/apachectl start |
2. gettext implement step
1) Write PHP file using gettext function
For example:
<?
$language = 'zh_CN';
putenv("LANG=".$language);
putenv("LANGUAGE=".$language);
$newLocale=setlocale(LC_ALL, $language);
echo "current Locale: ".$newLocale."<BR>";
// Set the text domain as 'messages'
$domain = 'messages';
bindtextdomain($domain, "./locale");
textdomain($domain);
echo gettext("Hello everyone");
print(_("Hello World"));
?>
2) Setting Up the Gettext locale directory
/locale
/en
/LC_MESSAGES
messages.po
messages.mo
/zh_CN
/LC_MESSAGES
messages.po
messages.mo
3) extracts translatable strings and generate *.po files to translate
$ xgettext -n *.php
message.po:
# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE packag # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION/n" "Report-Msgid-Bugs-To: /n" "POT-Creation-Date: 2004-01-16 03:28+0000/n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE/n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>/n" "Language-Team: LANGUAGE <LL@li.org>/n" "MIME-Version: 1.0/n" "Content-Type: text/plain; charset=CHARSET/n" "Content-Transfer-Encoding: 8bit/n" #: gettext.php:23 msgid "Hello everyone" msgstr "" #: gettext.php:24 msgid "Hello World" msgstr "" |
4) Fill translation of msgid into msgstr and convert *.po to *.mo
$ msgfmt messages.po
$ cp messages.mo locale/zh_CN/LC_MESSAGES/
5) Maintain translation message file—msgmerge
For example:
|
- iconv and gettext implement step
- GetText
- Step Detector and Step Counter
- DataCenter----Designing and Implement
- Step-by-step OpenLDAP Installation and Configuration
- iconv
- iconv
- iconv
- iconv
- iconv
- iconv
- iconv
- iconv
- OOA and OOD basic step
- getText()和getText().toString()
- Assembly Language Step-by-step: Programming with DOS and Linux
- Step-by-step Introduction to Delegates and Lambda Expressions
- Assembly Language Step-by-step: Programming with DOS and Linux
- 我的第一本磁芯大战书(My First Corewar Book) 第一章
- ADO 物件的方法與屬性
- 蔡学镛:编译、反编译、反反编译
- 蔡学镛[散文随笔]:从A到E+
- Servlet/JSP配置入门(转)
- iconv and gettext implement step
- gettext简介
- 邮件相关协议
- 进军海外第一篇,共享软件怎样收钱
- 进军海外第二篇,慎重初战
- 软件界面的重要性
- 共享软件,做Nagware还是Cripple ware?
- 搜索引擎营销,Internet营销之首选
- 搜索引擎营销:你选什么作为关键词