如何高效的汉化Joomla扩展,我一直在思考这一问题,也在寻找解决方案!在2013年我曾经发布过一个叫做超级汉化的扩展,当时天真的以为从此大家不用再为查找汉化包而费心了。然而毕竟自己能力有限,加上工作调度(公司要求我重新负责c++项目),因此,超级汉化就一直没有更新!最后不了了之。在2015年专职做自己的公司后,就一直计划要解决这个问题,今天我想该交卷了!

前言:

      也许你觉得这什么也不是,也许你觉得这将是一个里程碑。不管如何,请为我们敢于改变现状而喝彩!

历史:

     Joomla在2015年迎来了它十岁的生日,在2016年Joomla3.5即将推出。Joomla的前景一片大好。然而,反观Joomla在中文网的发展,真是大跌眼睛。与其兄弟wordpress相比,其在中文网市场的占有率和知名度简直都可以到了忽略不计的地步!可悲可叹....作为一名Joomla从业人员,对此现象感到十分痛心。痛定思痛,什么原因导致这种现象的发生。大概总结了4点。其中很重要的一点就是Joomla扩展的中文化,简称汉化。说到Joomla扩展的汉化,不得不提的是Joomla之门,在此感谢老白这么多年对joomla的贡献。

改变:

    在众多提供汉化包下载的网站中,Joomla之门是比较成功的。在Joomla之门,汉化包的下载是需要收费的。这个也怨不得站长,都是为了生存。但我个人觉得汉化是一项十分低端的产品,如果低端的产品都收费,说明这个行业已经到了濒临灭绝的危险。这个行业需要改变了。

问题:

    如何来改变,以及要改变什么?首先我们需要理解过去生产汉化包存在的问题:

  • 生产率低:
    • 在以前Joomla扩展汉化包的产生都是由个人完成的,然而,一个人的精力是有限的。因此,在这十年间大概被汉化的扩展不超过80个。
  • 参入人员少:
    • 在国内Joomla用户的层级大多处于使用阶段。很多人觉得汉化是一件很神秘的事情。然而,事实是汉化不需要任何的编程基础。只需要对照着翻译就能完成。
  • 生产工具落后:
    • 产生汉化包大多数就是使用google或者百度翻译工具对词条进行机器翻译,然后人工矫正。当然国外也有人开发过一款汉化组件,然而毕竟是国外开发的。可操作性上有待考证
  • 语言包不规范:
    • 由于制作汉化包的人员并不是专业的Joomla扩展开发人员,并不十分了解Joomla的汉化机制。很多时候,大家直接修改语言文件来达到汉化的目的。这使得已经翻译过的汉化包的流通出现了很大的问题
  • 商业模式:
    • 目前有部分网站或者个人靠出售汉化包来作为盈利点。这使得能够自由流通的汉化包更加的少了。

  针对上面的一些问题,我们提出了解决方案:我们需要开发一个免费的汉化平台,该平台需要提供一种高效的翻译方式(目前使用机器翻译,然后人工审核),并且该平台需要处理产生汉化包的所有过程,除了人工审核部分以外。当然,平台产生的语言包必须是标准的Joomla语言包。必须易于传播。因此,所有的汉化包都必须是免费的。

方案:

Joomla的汉化其实非常的容易,就是词条的替换而已。如下:

COM_ADMIN="管理 - 系统信息"
COM_ADMIN="Administrator - System Information"

程序在编码过程中都是用一个大写的字符串来代表一个需要翻译的字符,然后Joomla在运行时依据当前系统的语言设置动态的调取翻译就行了。因为对于标准的Joomla扩展都会提供因为语言包,也即是上面的 COM_ADMIN="Administrator - System Information"。而对于翻译人员来说,只需要将英文"Administrator - System Information"”的翻译写到在对于的位置即可。就是这么简单。 

大家不难想到,如果能够使用google或者百度提供的翻译功能,那不是就可以自动的产生一个语言包了吗?的确是这样的。当然,这里需要解释一下,产生一个完整的Joomla语言包还需要做很多的编码工作的。

随着而来的一个问题就是,使用自动翻译的准确度不高的问题该如何解决?唯一的解决方案就是人工审核,进行再次校正。

.........待完成.......

实现:

 那么看一下系统的具体实现:

 1,用户上传其需要搜索语言包的扩展

     在以往,我们都是通过扩展的名称来进行检索语言包的。ZMAX汉化平台中提出了一种更加友好的方案,用户只需要将其需要查询的扩展上传到我们的系统,系统经过分析后就可以进行检索了。因为是直接分析安装包,因此,检索的结果将大大的提高准确度(即使你不清楚这个扩展叫什么名字,系统照样可以工作正常)。

实现界面截图:

未上传之前

上传之后

2,执行流程

    当用户上传一个扩展后,系统将会对其进行分析并且检索汉化库,如果库中已经存在了该扩展的语言包,那么系统将自动前往该扩展语言包的下载页面。如果该扩展的语言包不存在,那么系统将会启动自动汉化引擎对其进行自动汉化,完成后,跳转到该扩展语言包的下载界面。

实现截图:

系统自动汉化界面截图:

自动汉化完成截图:

编辑汉化包截图:

3,创建自己的汉化包

    如果你对我们现有的语言包的翻译并不太满意,你可以对其进行修改,修改后点击“生成新的语言包”,你就可以获得你刚刚修改后的扩展了。

 

4,翻译共享。

    对于同一个词条,如果有其他的用户也对其进行了翻译,系统会提示你是否使用其他用户的词条

 

5,组队汉化

      对于大型项目,你也可以组队汉化,系统将会自动对项目进行切割,当翻译完成后系统将小组中每一个成员的汉化结果进行汇总,以此来产生新的安装包。

6,系统维护的库的成长与更新

  后台管理员将会看到前台用户对哪一些词条进行了修改。如果多个用户都对该词条进行了修改,那么表明当前版本的词条翻译可以有误,系统管理员将决定是否依据前台用户的翻译对数据库中的语言包进行更新。发布新的版本的语言包。利用,这种机制,我们可以保证系统产生的语言包都是在向正确的方向发展。 

 后台实现截图:

 

 7,汉化包的使用和分发

为汉化之前的截图:

安装语言包

汉化之后的结果:

卸载语言包:

卸载之后的结果:

作者: 樱木花道

Joomla程序员,从J1.5到J4.x始终都在做Joomla相关开发定制工作,有超过10年行业经验,国内Joomla扩展开发商ZMAX团队的核心成员

作者网站:ZMAX程序人

评论 (0)

  • 最新在前
  • 最佳在前