当前位置: 首页 > 工具软件 > jCore > 使用案例 >

jCore中文本地化工作札记 - 1

丁兴德
2023-12-01

jCore简介

 

jCore是一套非常优秀的PHP开源CMS系统,虽然其市场占有率并不是很高,但开发工作进行得红红火火,最近版本已升级到0.8。jCore的架构由Server和Client组成,其中Server提供了各种功能的函数库和模块,Client则包含一些UI模板和用户自定义模块。因此,使用jCore在一台服务器上架构多个网站是极其方便的,Web性能表现也非常出色。

 

jCore除了提供基本的CMS功能外,还提供了B2C/C2C电子商务系统、站内搜索、影集、视频集合等功能模块。电子商务系统内建了PayPal、Invoice Customer等支付解决方案,能够为全球用户提供电子商务的结算服务。如果还需要其它功能,则可以安装第三方模块,或自己进行开发。

 

翻译进程

 

当我在jCore后台打开语言设置页面时,鲜艳的五星红旗闪耀在我眼前,但是却找不到中文的语言模块。于是,我的爱国主义热焰在心中燃起,决定自己翻译。

 

我从jCore官方站点中的Help->Translations中下载了po文件包,然后从第1个文件contact.po开始翻译,不到10分钟,文件中的30余行字符串就翻译完毕了。按照这种速度,10个po文件也不过一个多小时。

 

但谁知道,我被笼了进去。第2个文件100余行,第3个文件400余行,翻译到第4个文件message.po时,居然有4000多行。假若我先知道有这么多,绝对不做这吃力不讨好的事。

 

于是,每天茶余饭后,我就用空闲时间进行翻译。好在message.po是词条最多的一个文件,其它文件最多也就2000行。总共花去了我一个月的时间,终于全部翻译完成了。

 

开始我是用VIM这种原始的文本编辑器进行工作,翻译效率低,而且经常出错,翻译完还得自己生成mo文件。不久找到一个比较好用的工具Poedit,这个工具可以让我把注意力集中于词条的翻译,并且自动生成mo。

 

翻译原则

 

以前我曾将很多技术资料从英文译为中文,收一点翻译费。做汉译英主要是自己公司相关的业务需要,写些软件说明书和项目文书。

 

从事过翻译工作的人大多知道严复提出的“信”、“达”、“雅”三原则,“信”是指翻译要准确,不能违背原文的原意;“达”则体现我们中国人的聪明,只要意思能够表现原意即可,不用拘泥于原文的形式;“雅”则是指译文要美观、上口。

 

鸠摩罗什大师译《金刚经》,译出了一句“阿耨多罗三藐三菩提”,对佛教不是很有研究的人,恐怕理解不了这句话的意思。而玄奘译本中,对应译文为“如来应正等觉”,就比较容易让人从字面上理解了。

 

软件翻译中的“信”体现在短语和单词翻译上。我在进行jCore翻译时,主要的困难是有很多没有上下文关联的短语和单词不大好掌握意思。例如“item”,在表单设计模块中应译做“条目”,在电子商务模块应译为“商品”。再例如“checkout”,我们做程序开发的人首先会想到版本管理中的“签出”,但这里应是“结算”的意思。

 

“达”则要求进行翻译时,尽量要译做比较通行的中文。一些缩写如果不被国人了解,也应译为中文。例如“BCC Email”应译为“密件抄送Email”。一些国人熟知的缩写则不译,例如“jQuery”、“Email”。

 

“雅”另外一个非常重要的原则,在软件中的句子如果是否定式,尽量将否定语放在译文的开头,用户则可用最短的时间来理解。例如,“无法将……”、“未找到……”。

 

再论开源

 

我们中国人自古没有版权概念,不仅历史上无人靠版税过活,甚至为了让更多人读自己的书和文章,假托古人的名字,中医典籍《黄帝内经》就是汉代人编纂的。屈原的“骚体”犹如开源的形式,因此成就宋玉。唐宋诗词也从未设过限制,只让我写不让你写,符合格律就行,这都和开源的思想接近。开源软件在中国应该是有成长的土壤,也应该受到很大程度的欢迎。

 

但是,中国人很保守,喜欢秘不发丧,秘不示人。三国时的韦诞藏有蔡邕的《笔法》一书,钟繇无论如何哀求,也不能借得看一眼。直到韦诞死了,钟繇掘了他的墓才得到,此后钟繇的书法理论大有长进。中国人对技术的保护近乎疯狂,传儿不传女,以至于开源软件在中国走向了一个畸形的发展道路。

 

现在,我们国内的开发者不仅很少参与到开源项目中,也很难得到实惠。BSD、Andriod项目仅改了一点界面,就成了“国内首创、国际领先”的核心技术,一小撮人骗到纳税者的一大笔钱。多数普通开发者只能从国外的报表打印、数据压缩等开源技术中得到一点方便。

 

我有一个朋友的公司是做Web开发的,为政府和企业设计主页。当他们承接一套网站项目时,虽然不用完全从头开始工作,但客户提出的要求总会让他们对自己开发的CMS系统进行部分改动。每次改动后,都会形成一个独立分支,代码的可重用性极差。因此,他们公司长期需要聘用2名以上程序员,但业务的核心却又是美工所从事的页面设计工作。这些程序员由于长期在收入和技术上得不到提升,流动性很高,反过来又影响了公司的项目进度。

 

在中国这种公司数不胜数,几乎每家公司都有一套独立开发的CMS系统。此外,一些管理软件公司也存在相似的问题,大家都在重复进行一些基础工作,然后在市场上进行恶性竞争,难以成就大企业和优秀产品。

 

如果我们用开源开发来改变这些企业的流程,Web开发公司将程序员编制缩减一半,参与到开源CMS系统的开发与维护中,补充市场所需的功能模块,将更多精力集中于设计和服务,这样不仅节约了开发成本并保证了项目进度,同时也能够提高公司的服务质量。除了Web项目以外,CRM、CDM、ERP等更为复杂的项目也可以进行开源开发。

 

在国内关于开源技术的论述中,有一个非常错误的表达就是开源技术可以让客户对产品的知情权更为了解。这种表述实在荒谬,客户绝不关心产品的代码,而是关心服务质量。客户希望得到优质的代码,让产品能够稳定的运行。但客户更关心的是服务质量,在产品出现故障和遇到新的需求时能够得到及时响应。因此客户付的每一分钱,绝不是购买你的源代码,而是你的服务。

 

技术上的一贯保守并不会影响开源项目发展,全球化的大型软件企业其实也是非常保守的,但是在开源项目上的投入都是处于领导地位的。因为,开源项目可以降低他们的一些非核心技术开发成本,大量的投入使得这些开源技术处于他们的掌控中。例如微软开放了其Office产品的文件结构,将使得Office文件成为更为通行的文件标准成为可能,同时也降低Office支持其他办公软件产品文件格式的成本。

 

相关资源

jCore主页

http://jcore.net

 

中文语言包

http://forge.virtualdell.com/gf/download/frsrelease/103/20/jCore-Chinese-1.1.tar.gz

 类似资料: