个性化地汉化WordPress

使用WordPress有一段时间了,一直以来有一个困扰我很久的问题——该使用英文原版还是中文版。 经常换主题的朋友可能发现一点,有些主题如果是英文博客,看起来就挺不错的,可用到自己的网站上,当中文取代了英文,同一个主题怎么就那么难看呢?这是因为,目前WP圈子里流传的漂亮主题多是老外弄的,他们当然是按照英文站点来设计的,大家知道,英文字体比中文多很多,并且英文的字号大小都挺适合在屏幕上显示的,但中文就不同,默认字体也就宋体、黑体那么几个,字号太小了屏幕上看不清,太大了难看。 WP的管理后台也是如此,设计团队在设计时采用了不同的字体、字号,从而使后台看起来很舒服,如果换成中文,好么,清一色的宋体,或雅黑,能好看的了吗?英文原版的后台虽然保持了原汁原味,但也有缺点,对前台中文支持不好,比如月份,中文博客一般使用“2000年01月”,但英文却是“January 2000”,整个网页都是中文的,偶然冒出个英文显得不和谐统一,还有很多这样的例子。就由于对前台支持不够好,我一直以来用的是WP中文版,直到今天我发现了自己对WP汉化的方法。 网上的中文版本对WP汉化比较彻底,前后台一起汉化,而自己做的化,可以只汉化前台的,后台保留英文,两全其美。 WP的汉化,并没有修改核心文件,而是通过添加一个mo格式的语言文件,这样能保证中文版的稳定性和兼容性。也就是一种对比性文件,比如左侧是英文“Add new”,右侧中文“写新日志”,也就是做个表面功夫,那么如果只将前台的英文单词修改,后台的保留英文就可以实现,前台中文,后台英文了。 方法是,先安装中文版WP,mo文件存在于/wp-content/languages/zh_CN.mo,如果正在使用英文版,可下载一个中文版,将其中的mo文件放到相应的目录下,将wp-config.php文件中的define (‘WPLANG’, ‘’);改成define (‘WPLANG’, ‘zh_CN’);就可以使用zh_CN.mo中的中文了。 现在,要修改mo文件了,但这个文件是不能直接修改的,因为它是由一个zh_CN.po文件生成的,我们要做的就是修改po文件,重新生成一个mo文件就行了,po文件也在/wp-content/languages/里,修改它需要专门的软件,我推荐poedit这款软件。 下载并安装后,点击po文件就会打开poedit软件,你会发现左侧原文是英文,右侧是中文,默认是对所有英文进行翻译的,怎么不翻译呢,选中一行,按下Alt+C,会将英文原文复制到右侧的中文,这行就不会显示中文了,但是我发现,poedit不能将所有行的原文复制到中文,而又有这么多行,总不能按几千次Alt+C吧,别担心,一会我会介绍怎么样实现自动执行重复性工作,先跳过这一步。 poedit 当将所有行的原文复制到中文后,整个po文件就没有一个中文了,接下来要做的就是结合自己的需要将少数的几个再改回中文,比如我,我需要在前台显示月份就将第8011行的右侧改成了“01月”,当然要改12次了,还有第8151行的右侧改成了“星期一”,要改7次,还有AM改上午,PM改下午,我就改了这几个,其他的还是英文,如果你需要改其他的可以使用Ctrl+F搜索,找出在哪一行,然后修改就行了。将这个po文件另存为,在新的po文件同一目录下会生成一个新的mo文件,将其命名为zh_CN.mo上传覆盖旧的mo文件,就OK了。这样除了前台少数的几个地方会显示中文外,后台是全英文的。 怎么样实现自动执行重复性工作 下载AutoHotKey这个软件,安装后从开始菜单打开AutoScriptWriter,这是一个记录按键敲打、鼠标点击的工具,按下Record红色按钮,激活poedit窗口,点击其中的任意一行,按下Alt+C,再按下“下方向键”,点击屏幕左上角的stop按钮,回到AutoScriptWriter窗口,将其中的以MouseClick开头的行删除,以Sleep开头的行删除,在Send, {ALTDOWN}c{ALTUP}{DOWN}行之上插入Loop 300{,在其之下插入} 如果你将po文件放在了C:\zh_CN.po那么,最终的代码应该是这样的

WinWait, poEdit : C:\zh_CN.po, IfWinNotActive, poEdit : C:\zh_CN.po, , WinActivate, poEdit : C:\zh_CN.po, WinWaitActive, poEdit : C:\zh_CN.po, Loop 300 { Send, {ALTDOWN}c{ALTUP}{DOWN} }

其中300是每双击鼠标一次,Alt+C就要被自动重复按下300次,可根据需要自己改,我就很变态的改成了10000,爽! autohotkey 代码修改完后,点击AutoScriptWriter左侧的SAVE按钮保存成ahk格式的文件,名字随便起。然后双击执行新生成的ahk文件,瞧好吧!

0%