自从放出了中文翻译测试包之后,网友普遍反应质量不过关。因为这段时间因为比较忙,我只管自己埋头做事,没有和大家交代清楚这个中文翻译包的开发流程和局限性,造成了不小的误会。我在这里大概说明一下我的思路。
PuppyLinux所特有的很多工具比如pmount、petget等都是用bash脚本语言所写的。使用bash脚本的好处很多,它体积小、灵活、会使用的人多。但Puppy中大部分的bash脚本都没有考虑国际化的问题,汉化基本有两条路可以走
- 直接在bash脚本中将英文字符串替换成中文;
- 使用gettext技术,标记出bash中的可翻译字符串,然后翻译相应生成的po文件。
第一种方案的好处是比较简单,使用也比较广泛,比如e-pup.5d6d.com上的中文e-pup 2.17和日文版的nop 3.01都是采用第一种技术。但它的缺点也很明显,它需要翻译者对bash有一定了解,另外如果官方升级了英文的脚本,很多翻译工作都需要重做,例如中文e-pup 2.17中的翻译工作到了Puppy 4.0后基本就白费了。
我觉得应该利用现成的gettext技术来尽可能节约大家的劳动。于是我决定采用第二种方案。