i18n php_关于php程序国际化(i18n)的那些事

这事说起来也是老生常谈了,其实这事本来没什么意思,可是这回想用的时候才发现真不是这么回事,最主要的是我个人很习惯了WP的那种“_e”和“__”的本地化方式,可真的去试用gettext的时候,才发现那家伙真不是一般的麻烦,要为每一种语言都配置好目录和设置什么的,总之那是相当的麻烦……

可又确实想用,怎么办?唉,没办法,翻WP的原程吧,可是现在升来升去越来越繁复,于是想起初接触WP时的2.3.1版,网站上拿下,主要查“l10n”这个文件,在wp-includes文件夹里,于是从一个文件找到另一个文件,这样找齐了四个文件:

l10n.php / streams.php / gettext.php / plugin.php

……,可我总不能做一个程序就带着这四个累赘吧,唉,还是自己合并吧。于是得到了一个文件,我延续了WP的文件命名,将合并后的文件命名为:l10n.php

该文件内包函了需要使用的各函数,在输出时保持WP的原始风格,“_e”为直接输出显示,“__”为返回输出。在本地化文件命名上,我倾向于插件式命名,即:“程序名-zh_CN”,这个PO和MO可以用POEDIT去搞了,能看这篇文章的,我想不会不知道怎么弄吧,呵呵。

将以上文件都保存在程序目录下的“languages”目录下(个人习惯),然后在调用里进行如下代码设置:

define ('WPLANG','zh_CN');

require_once( 'l10n.php' );

load_plugin_textdomain('your programe name',

'languages');

以上完全按照WP的系统来写的,如果你有其它想法,请自己更改啦,好了,进行好如上这些,在代码里就可以将需要国际化的词句以“_e”或“__”方式来输出了。如果对于“define

('WPLANG','zh_CN')”中的“WPLANG”这个常量进行了其它命名,请修改“l10n.php”文件中的相应处(在编辑器里搜一下就可以,或查找文件中“get_locale()”函数,就在这里)。

对于懒得自己更改的朋友,请直接点击下面的链接进行下载:

http://xfuxing.com/wdp/wp-content/uploads/2010/08/l10n.rar

对于国际化有兴趣的朋友还可以访问下面的链接,这篇文章里利用了 l10n.php / streams.php /

gettext.php 三个文件再加上一些代码,可以将MO读取出来成为PO,也很有意思。文章链接如下:

http://comox.textdrive.com/pipermail/wp-polyglots/2006-July/000989.html

明天周日,公休(我每周只休一天的),网上也休息,下周一见。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值