近期评论

 

2010 九月
« 八    
 12345
6789101112
13141516171819
20212223242526
27282930  

访问统计

自20090705起:
  • 当前页面共被访问0次
  • 当前有0位朋友正在访问,今天共有20位朋友来访,昨天有143位朋友,开启统计以来共有14958位朋友,其中有302(55)位订阅了此博
  • 今天站内博文共被访问135次,昨天200次,开启统计以来共计36342次
  • 此博共有文章774篇, 5个页面,评论数为869,留言人共342 个
  • 您来自美国,IP是38.107.191.87,浏览器是,操作系统是

技术支持来自 天高云淡

StatPressCN,1.7.0.2版本

四月 11th, 2009 | Tags: , , , , | Category: 网络技术, 软件开发 | Leave a comment

wordpress汉化使用和技巧

热度:

语言障碍是国内用户的普遍问题,这很要命,要知道按照我们国家目前的发展轨迹,我们非依赖欧美英语文化不可,因为我们好像一切都在学习他们,一切好东西好像都是那边传过来的。不懂英文就像是把窗户都关上了,唉,悲惨的很。要解决这个问题,不能要求中国像印度那样当回殖民地,那就只能全民学英语,效果又很差,咋办,把英文即时转成汉语就好了。说起来简单,做起来很难,因为这是个系统工程,所涉甚多甚广。教育线:原来从初中开始的英语课现在已经从幼儿园开始了,效果咋样确实难说,但现在很难找到工作的大学生英语水平普遍较差却是事实;专业线:外国语学院算是专业培养语言人才的了,但它们能做的事情仍然是影响所谓翻译界,圈子很小;技术线:Google的在线语言翻译蹒跚到现在中算小有所成,但和实用差距还不是一般的小,不知所云的翻译比比皆是,将来wiki方式的纳入可能会解决部分问题,但实用化仍很难,需要理论的突破和技术的积累;志愿者线:me刚加入的译言是典型,靠兴趣和志愿精神及时转化国外最新讯息,很难成规模;工具线:遍地开花的汉化网站好像都活的不错,实际情况是连me已经比较喜欢(这两年基本不去了)汉化新世纪也在逐步商业化庸俗化,不是能找来crack,估计去的人也不会多,但把一些实用的日常的工具中文化应该是比较现实也比较实用的。感慨发完,me来说说如何汉化wordpress这个最流行的blog工具系统。

一、如何使用wordpress的中文包

随着wordpress的流行,国内做汉化的还是很多,您可以在网上随便Google下就可以找到很多中文包,各个版本的都有。me这里讲讲如何使用。

得到特定版本wordpress的中文语言包。版本一定要对应,是2.6.3就是2.6.3,不可混用。得到的中文语言包应该是后缀名为mo的文件,名称一般是zh_CN.mo这样的。
把该文件上传到服务器blog安装目录(不见得是根目录哟)下的wp-includes/languages下。
修改blog安装目录下的wp-config.php,找到增加修改语句define (‘WPLANG’, ‘zh_CN‘);。注意到没有这个定义和语言包是对应的。
OK!再进入blog的管理后台就是中文界面了。当然,大家访问您的blog时会发现部分内容已经是中文了,比如分类标签之类的,但很不完全,这取决于您使用的主题是否汉化了。

二、如何汉化主题或插件

一般情况下,主题和插件都是英文的,因为是英语用户开发的,即使是中国人开发的,考虑到兼容沟通等问题,界面也一般是英文的。怎么办?首先我们要看看该主题或插件是否支持汉化(对我们是汉化,也可能是韩化或印度化,呵呵,其实这里是指国际化语言支持),标志是代码中是否有__($text)或_e($text)或__ngettext($single,$plural,$number),如果有这样的命令,有门,否则就算了吧,除非您确实懂php编程,那样的话您可以手工把上面修改成支持国际化语言的版本,呵呵。我们就按支持国际化语言的说吧。

下载poedit软件并安装,然后选择中文语言界面。
新建消息目录文档。填写相关信息:首先是工程信息,包括工程名称版本(自填,这里那akismet做例子)、团队(自填)、专用电子邮件(自填)、语言(Chinese)、国家(CHINA)、字符集(UTF-8,推荐选这个)、源代码字符集(一般也是UTF-8)、复数形式(这样写:nplurals=2; plural=1;)等;其次是路径,包括基本路径(这个很关键,是您要汉化的主题所在目录,不提供浏览功能,需要您手动记录并填写进去)和路径(填小数点.,是当前目录的意思);第三是关键字(加三个,分别是__、_e和__ngettext:1,2。
确定后会提示保存po文件。您要找到源文件的目录并把文件名称从default.po改为zh_CN.po,保存。
在消息目录文档管理员界面中找到akismet工程,双击刚才命名的那个akismet-zh_CN.po,进入翻译窗口。
翻译界面很直观,在左下角窗口写您的翻译,右下角窗口写注释(这个me一般没写,呵呵);逐条翻译后按第二个按钮保存。以后如果代码更新了(比如升级了版本之类的),只要名称未变,您按第三个按钮(就是那个互联网地球)可以更新需要翻译的语句。
翻译好了就保存吧。没其他工作了,您只需要把生成的akismet-zh_CN.mo上传到服务器上该插件目录就行了。

三、注意事项和技巧

翻译的时候不需要规规矩矩,可以有些个性化的甚至俏皮的翻译,比如me对自己开发的StatPressCN中文化时,就把TOP [...]

关于WordPress的插件开发

热度:

继续优化statpress过程中觉得有必要进一步了解wordpress的函数和相关开发知识,因为对很多语句有点读不懂啊。幸亏找到了一个好的针对wordpress源码的阐释网站(Xref可以译为交叉参考吗?),对所有函数都有交代,很不错,但是在自己本机实验的时候发现那个类似get_bloginfo之类的基础函数都无法起效。Google来Google去就找到了不少插件开发的相关文章。模拟wordpress默认提供的HellyDolly源码,自己试着写了几句代码进行测试,终于成功。几个关键点如下:

测试时通过http://localhost/wp-content/plugins/bai.php这样的方法是无法对wordpress支持函数测试的,因为直接调用完全没有进入wordpress的作用域和系统,当然无法识别get_bloginfo之类的函数了;
进入其作用域的方法要么是写一堆inclue,要么就是用wordpress方便第三方开发提供的接口:插件和模板;
插件开发中必须把action注册到特定的功能域才行。具体方法是写了一个function后使用add_action,后者的参数列表见Action List。还有一个方法是add_filter。
$wpdb是一个global函数,可以在整个wordpress域中执行SQL语句进行查询。$wpdb->query(‘query’);返回整数或false,说明此查询对多少条记录产生了作用。$name = $wpdb->get_var(“SELECT cat_name FROM $wpdb->categories [...]