您的位置:首页 > 编程语言 > PHP开发

利用gettext来实现PHP的国际化编程

2012-02-14 11:27 447 查看
<?php

$domain = 'myapp';

echo bindtextdomain($domain,
'/usr/share/myapp/locale');

?>

This will output:

/usr/share/myapp/locale


hello.php

<?php

// I18N 程序范例开始

define('PACKAGE', 'hello'); // 定义要用的mo文件名称,常规来说,我们都把PACKAGE的名称定义和程序名称相同。

putenv('LANG=zh_TW');

setlocale(LC_ALL, 'zh_TW'); // 指定要用的语系,如:en_US、zh_CN、zh_TW

bindtextdomain(PACKAGE, '/apache/htdocs/locale');

textdomain(PACKAGE);

// The .mo file searched is:

// /apache/htdocs/locale/en/LC_MESSAGES/hello.mo

echo gettext("Hello World!");

?>


在IE中输入:http://localhost/hello.php,输出结果为:“Hello World!”

note:按照 GNU package 里面的习惯,可以使用 _(...) 来代替 gettext(...) ,这样就可以少打很多 gettext 了。

四、接下来设置gettext po档:

1、创建目录结构,如下所示:

bindtextdomain's dir

/language

/LC_MESSAGES

domain.po

domain.mo


其中 bindtextdomain's dir 为 bindtextdomain() 所用的目录,language 为要用

的语系,domain 为 PACKAGE 名称。

以上面为例:

/locale

 /zh_TW

/LC_MESSAGES

 hello.po

 hello.mo
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php domain output 编程 file ie