StatPressCN,1.7.0.2版本

功能开发:

  1. 添加卸載功能;
  2. 对选项页面重新排版,按照类型归类显示:前端设定、后台设定、系统设定;
  3. 丰富了移动来访的定义规则,新增了Google的两个mobile搜索;
  4. 修正了初次安装时lastmonth显示错误的bug,感谢Lucky朋友的提醒。

代码改进:

  1. 更新了部分本地化语言。

下载升级:

  • 请到wordpress官方插件网址下载最新版本,ftp到服务器上去;
  • 或者,如果您的wordpress是2.7版本以上的,那就耐心等段时间(大约几个小时吧),管理后台会自动提示升级的;
  • 提示:升级至本版本不会影响数据库中的数据记录。

升级需做:

  • 无。

开发笔记

lastmonth的错误原因在于没有考虑关键点、变化点的处置,一般来讲,变化点会出现在首次安装使用,月份变迁、年份变迁,停止使用等。这些时候,都要认真评估可能产生的影响和变化,否则就会犯错。

卸载功能的提供是为了做一个负责任的、真正方便使用者的插件。可以做到完全不留任何垃圾数据的卸载,可以通过设定清理掉option中的所有相关数据,甚至包括整个统计数据表都可以被drop掉,干干净净,彻彻底底。感觉将来有一点,wordpress会规范卸载功能的,而不像目前这样,随大家的意思来,可以做也可以不做,对用户不好,因为会莫名其妙的留下一下垃圾,并且几乎没有机会清除掉。

wordpress汉化使用和技巧

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

一、如何使用wordpress的中文包

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

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

二、如何汉化主题或插件

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

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

三、注意事项和技巧

翻译的时候不需要规规矩矩,可以有些个性化的甚至俏皮的翻译,比如me对自己开发的StatPressCN中文化时,就把TOP DAY翻译成了“洪水泛滥的日子”,呵呵。

四、me汉化的主题和插件中文语言包(暂缺

主题

插件

五、更多资源

如果有兴趣,您可以看看下面这些文章,讲理论还是比较系统的。

汉化WordPress教程

WordPress汉化手册

正确使用gettext来翻译Wordpress主题

关于WordPress的插件开发

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

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