对软件的多语言化方法的一点看法

帮LP找了一个osCommerce做网上商店,给自己在家里的机器上装了一个Plog写日记;都是基于PHP+MySQL的开源项目,在Windows下运行都很顺利,而且都找到了简体中文语言包,用起来很方便。

工作中还用到了TortoiseCVS、Mantis、CommunityServer等开源软件,有些有现成的简体中文语言包,有些需要自己手工修改,有些则只能使用英文版的软件(只能对源代码进行翻译;虽然有源代码,但是对源代码进行一点点的翻译工作量太大,而且这种翻译方法在源代码升级后就又要重新来过);

使用开源项目的时候发现一个很有趣的情况,就是很多不基于DotNet的开源项目(比如osCommerce、Plog、Mantis等基于PHP+MySQL的Web程序)都提供了很好的多语言化机制,一般会提供文本格式的语言文件,Translater只要用记事本就可以直接翻译,即使是象TortoiseCVS这样用C++编写的EXE文件,也提供了一个.po文件,可以直接翻译;而相对来说,基于DotNet的开源项目则从来没有见过这样简单的机制,大多数都象CommunityServer一样,除非修改其源代码,否则很难彻底汉化,略好一点的象SharpDeveloper,提供了resx资源文件,也需要专门的工具进行编辑;这一点不知道是DotNet本身的机制限制呢,还是这些开源工具的开发者从来就没有想过要这样实现;

最让我觉得恼火的是NDoc,这个软件是最应该提供多语言接口的(最终生成的文档应该是本地化的而不是全英文的),但是它的翻译方法只能是自己手工去修改源代码中的xslt文件,然后再重新编译,否则;

我更喜欢第一种方式,毕竟Translater和Developer是不一样的,有可能Translater对于程序的使用很精通很感兴趣,但对于程序开发根本就一窍不通,所以把翻译工作做的最为简单最好的。

你可能感兴趣的:(多语言)