Eric @ EricBess WebHome

胜不骄,败不馁,胸有激雷而面如平湖

Chinese (Simplified) flagItalian flagKorean flagPortuguese flagEnglish flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flagCroat flagDanish flagFinnish flagHindi flagPolish flagRumanian flagSwedish flagNorwegian flagCatalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flagSlovenian flagUkrainian flagVietnamese flag
By N2H

WordPress 插件\主题 本地化

一旦你的插件编程工作已结束,另一个值得考虑的方面就是怎样将你的插件国际化(当然,这是建立在你想把你的作品发布给公众的前提上)。“国际化”就是一个建设你的软件使之能被本地化的过程;而“本地化”就是将你软件显示文本翻译成各种语言的过程。WordPress 已被来自全世界各个地方的爱好者使用,所以它以将国际化和本地化功能融入其结构,包括插件程序的本地化功能。想了解更多的 GNU gettext 本地化的背景知识,请参照翻译 WordPress

极力推荐你将你的插件进行国际化,这样来自五湖四海的用户名都可以本地化它。而且这整个过程也是十分直接明了:

  • 先给你的插件选一个翻译用的“文本域”名称。这一般同你的插件文件名称相同,当然不包括.php后缀名,而且必须是具有唯一性,至少保证不要同使用者已安装的其他插件同名。
  • 不管任何时候你的插件要使用文字来显示给网页读者(也即“信息文”),都尽量将它们嵌入在如下两个 WordPress gettext 函数程序段的任一之中。记住,不同于 WordPress 核心代码,在你插件里的国际化函数里你应该使用第二个参数来传递你自选的文本域。而在 WordPress 核心代码,这个参数默认为空。

__() 用来将 message 作为一个参数传递给另外一个函数。 _e() 用来直接把 message 写到页面上。

__($message, $domain) : 用本地化的语言为 $domain 翻译 $message 。输出的字符串可以继续被其他函数调用。
_e($message, $domain) :用本地化的语言为 $domain 翻译 $message ,然后显示到用户的屏幕。如果你的文字将直接显示给读者,就可以使用该函数。
  • 为你的插件创建一个 POT 文件 (这个一个列有所有文字条的翻译条目文件),随你的插件一起发布。插件用户将需要生成一个翻译本地化好的 MO 文件,然后把它放在你插件的同一文件夹里。并且这个 mo 文件的取名也有讲究,应该是象 domain-ll_CC.mo,这里 ll_CC 就是本地国家和语言代码(如 zh_CN)。参照 翻译 WordPress 上更多关于 POT 文件、MO 文件及本地化的信息。
  • 在你插件里加入一个 load_plugin_textdomain 子程序用以调用你的插件翻译。这个子程序一定需要在你 gettext 函数的前面,但最好是越晚越好(因为一些多语言插件在调用时会改变一些地域设置)。一个可行的方法就是在你所有插件的子程序前面增加一个初始子程序。例如,假设你的文本域叫 "fabfunc",则:

Click to continue reading

10月 27th, 2008 Posted by eric | WordPress, Wordpress Programming, 网站技术 | no comments

国际化Blog-Global Translator(翻译插件)

如果你想自己的Blog更为国际化不妨试试:Wordpress Global Translator Plugin,一个提供Blog翻译功能的插件,可结合 Google、Promt及Altavista Babel Fish等提供的翻译服务来为你的Blog文章进行翻译。

其实,该插件的功能远不止翻译那么简单,它还有助于SEO搜索引擎优化,它可以为每篇文章生成篇译文,并让搜索引擎收录,有助于增长流量,事实上我部署Global Translator一周后国际访问就大增。另外它还提供缓存功能(占用空间)及通过CSS来自定义翻译按钮的样式。

安装方法:

1、下载插件,上传到Wordpress插件目录,后台激活。进入选项->Global Translator菜单,选择翻译服务(我这边只有选Google Translation Services才能正常运行,不过你也可以试试其它),选择你的Blog语言,打开缓存选项,保存即可。

2、在模版(我在head.php)中插入如下代码。

1
2
3
4
5
< ?php>
if(function_exists("gltr_build_flags_bar")) {
gltr_build_flags_bar();
}
?>

Click to continue reading

05月 26th, 2008 Posted by eric | WordPress | no comments

《货币战争》——破译美元的“达芬奇密码”

《货币战争》 【转】
破译美元的"达芬奇密码"
宋鸿兵

为什么你不知道美联储是私有的中央银行?
谁拥有美联储?
谁控制着美国的货币发行权?
为什么美国总统遇刺的比例高于美军诺曼底登陆一线部队的伤亡率?
谁是这个世界真正的统治者?
当心"世界统一政府和世界统一货币"!
谁在做金融衍生产品市场的"霸盘生意"?
为什么房地产贷款增加越快,你手中的人民币就越不值钱?
为什么债务"货币化"与部分准备金制度注定了贫富分化?
为什么美国的国债和MBS 是在给中国人民"打白条"?
为什么要求人民币升值是声东击西?
他们将如何打垮中国的金融体系?
谁在"妖魔化"黄金?
为什么黄金是真正的"货币之王"?
为什么黄金是美元这个庞然大物的死穴?
战争已经开始,虽然看不见硝烟!

Click to continue reading

02月 9th, 2008 Posted by eric | Reading, 财金与投资 | no comments

PHP gettext 用法

  Gettext 用于系统的国际化(I18N)和本地化(L10N),可以在编译程序的时候使用本国语言支持(Native Language Support(NLS)),其可以使程序的输出使用用户设置的语言而不是英文.跟其他程序语言一样,在 PHP 也可以利用 gettext 套件写作 i18n 程序,实现 NLS(Native Language Support) 国际化支持,具体请参考官方文档http://www.gnu.org/software/gettext/manual/gettext.html

  实现流程:程序设计者在程序码中写入所要显示的信息,在运行程序时并不会直接显示程序设计师所写的信息,而会先去找一个所设置语系的信息档。如果未找到,才会去显示程式码中的信息。 

一、安装设置gettext套件:

1) *NIX系统:

1、从 http://www.gnu.org/software/gettext/gettext.html 下载 gettext package,进行安装
2、编译PHP的时候加上“--with-gettext[=DIR]”,其中DIR为gettext安装的目录,缺省为:/usr/local
3、保存,然后 restart server。
  

Click to continue reading

02月 9th, 2008 Posted by eric | Coding | one comment

有趣的缩写I18N,L10N及延伸知识

什么是 I18N 和 L10N ?

I18N 是 internationalization 的缩写形式,意即在 i 和 n 之间有 18 个字母,本意是指软件的“国际化”;与之类似,L10N 是 localization 的缩写形式,意即在 l 和 n 之间有 10 个字母,本意是指软件的“本地化”。

I18N 和 L10N 从何而来?它们有何区别?

按照软件开发的惯例,最初的软件只有英文版本,根据需要,作者再把软件界面和文档翻译成不同国家、地区的语言版本。但是由于实现翻译的途径、翻译的工作效率、翻译的可重用性等因素各不相同,使翻译工作面临很大困境,也阻碍了软件的推广和应用。为了方便地将软件翻译成不同语言的版本,就需要一套翻译规范和通用工具,这就导致了“国际化”机制的出现。仅仅翻译是不够的,同一种语言在不同国家、地区可能存在多个支系,它们在表达习惯、语法结构甚至文字种类和编码上都有不同,方言更是千奇百怪,通用的翻译其质量肯定是不高的。涉及到计算机领域,还存在操作习惯上的差别,而且对某种语言提供完美的输入、显示、打印、保存、传输并非一件轻而易举的事,这就导致了“本地化”机制的出现。简而言之,“国际化”是“本地化”的一部分,主要是指国际化的实现机制和翻译工作, “本地化”包含“国际化”,是对“国际化”的补充和完善,它还包括为实现对某种特定语言良好的支持而进行的有针对性的翻译调整以及对软件进行的打补丁工作。

Click to continue reading

02月 5th, 2008 Posted by eric | Coding, 网站技术 | no comments

21世纪解读:《World is Flat》

   小时候我常听爸妈说:「儿子啊,乖乖把饭吃完,因为中国跟印度的小孩没饭吃。」现在我则说:「女儿啊,乖乖把书念完,因为中国跟印度的小孩正等着抢你的饭碗。」  这是比尔盖兹已经推荐过N遍的一本书。他说,这是一本所有决策者、企业员工都必须读的一本书。
  《BusinessWeek》说,所有的MBA都在读《世界是平的》。《财星》杂志说,全美国的州长、国会议员都在谈《世界是平的》。大学校长在毕业典礼建议,­进职场前应该先读《世界是平的》。有的商学院甚至要新生来报到前就先把《世界是平的》读过。
  只要有宽带,只要有雄心,不管你在哪里,都不会被边缘化。因为,竞争的立足点变平等了,小虾米和大鲸鱼可以平起平坐了。
  拜科技之赐,即使在家里开一个工作室,一个人也可以和大企业抢生意。同样的,大企业也可以比小公司更灵活,更细腻。从前做梦都没想到的,今天不只变可能,甚至是­必要了。
  抹平的世界,也是无限商机的世界。 网络刷新"全球化" 

■名词解释     弗里德曼的"三步"全球化 

1.0版的全球化,主要是国家的全球化,时间为1492年至1820年,即以达·伽马和哥伦布代表各自的国家远征世界为标志,这一轮全球化将世界从"大号"缩到­"中号"。 
2.0版的全球化,是公司的全球化,从二战后到2000年,这期间世界从"中号"缩为"小号"。 
3.0版的全球化,从2000年开始,将世界从"小号"缩为"极小号",这一阶段的驱动力则是软件和网络,主体则是个人,因此是个体的全球化,各种肤色的人都可­以加入进来。

人们通过数字电子的方式成为一个作者,在任何时间都可以发表,任何地点都可以送达,其中博客就是我们最为熟悉的一种方式。

作者简介 汤马斯.佛里曼(Thomas L. Friedman)

  在《世界是平的》出版之前,他已经是美国公认最有影响力的新闻工作者。《世界是平的》更奠定他趋势大师的地位。
  他经常被拿来与曾执舆论五十年牛耳的李普曼相提并论。不过他更胜过李普曼的,是影响力早已不限于美国。他在《纽约时报》每周三、五见报的国际事务专栏,透过纽时­供稿系统,固定被全世界七百多种报纸转载。转载之频之广,无人能出其右。
  他文体自成一家,速度与噱头兼具,因为易于辨认,网上甚至出现不少搞笑模仿。他很会讲故事,但总是很快讲到重点,绝不浪费读者的时间。他常为自己的观察铸造新词­,如本书中的「戴尔冲突防制理论」就已经广为流传。
  他太常得奖,如今已是普立兹奖的终身评审。他精通希伯来语和阿拉伯语,有五所美国大学的荣誉博士学位。新闻工作之余,他也是哈佛大学的客座教授,与哈佛校长萨默­斯与本书第四章出现的山达尔共同开一门「全球化」的课。

英文原版

07月 15th, 2006 Posted by eric | Reading | no comments