自从放出了中文翻译测试包之后,网友普遍反应质量不过关。因为这段时间因为比较忙,我只管自己埋头做事,没有和大家交代清楚这个中文翻译包的开发流程和局限性,造成了不小的误会。我在这里大概说明一下我的思路。
PuppyLinux所特有的很多工具比如pmount、petget等都是用bash脚本语言所写的。使用bash脚本的好处很多,它体积小、灵活、会使用的人多。但Puppy中大部分的bash脚本都没有考虑国际化的问题,汉化基本有两条路可以走
我觉得应该利用现成的gettext技术来尽可能节约大家的劳动。于是我决定采用第二种方案。它的基本的流程是:
目前标记可翻译字符串这个工作完全由我一个人来做。上万行的代码我不可能一行一行的去读,于是我自己写了一个半自动的标记程序辅助我完成这个工作。但这个程序并不完美,常会漏掉一些可翻译字符串,另外某些形式的字符串它也完全没有办法识别。于是我面临这三种选择:
考虑到尽快做出可以给大家翻译的po文件,我选择了最后一种方法。于是便有了开头所说的翻译不完整、质量差的问题。因为从根本上说这个放出来的中文翻译测试版就是为了帮助我找问题的,而不是给大家用的。想想WINE项目开发了15年才出了第一个稳定版本。现在这个项目只是处于初级阶段,目前的测试版有很多问题并不让人惊奇,它离稳定还有很长的路要走,但我认为目前所遇到的技术困难都是可以解决的。
PuppyLinux所特有的很多工具比如pmount、petget等都是用bash脚本语言所写的。使用bash脚本的好处很多,它体积小、灵活、会使用的人多。但Puppy中大部分的bash脚本都没有考虑国际化的问题,汉化基本有两条路可以走
- 直接在bash脚本中将英文字符串替换成中文;
- 使用gettext技术,标记出bash中的可翻译字符串,然后翻译相应生成的po文件。
我觉得应该利用现成的gettext技术来尽可能节约大家的劳动。于是我决定采用第二种方案。它的基本的流程是:
- 标记出bash中的可翻译字符串;
- 生成po文件,并用机器自动翻译;
- 上传到开发者之家网站上;
- 网友下载po文件,用poedit等工具翻译;
- 收集大家翻译好的po文件,做出中文翻译包。
目前标记可翻译字符串这个工作完全由我一个人来做。上万行的代码我不可能一行一行的去读,于是我自己写了一个半自动的标记程序辅助我完成这个工作。但这个程序并不完美,常会漏掉一些可翻译字符串,另外某些形式的字符串它也完全没有办法识别。于是我面临这三种选择:
- 仔细检查每一个程序,保证正确标记所有可翻译字符串;
- 标记所有的有英文的字符串,等以后发现问题再去修改;
- 忽略程序无法识别和不确定的字符串,等以后发现问题再去修改。
考虑到尽快做出可以给大家翻译的po文件,我选择了最后一种方法。于是便有了开头所说的翻译不完整、质量差的问题。因为从根本上说这个放出来的中文翻译测试版就是为了帮助我找问题的,而不是给大家用的。想想WINE项目开发了15年才出了第一个稳定版本。现在这个项目只是处于初级阶段,目前的测试版有很多问题并不让人惊奇,它离稳定还有很长的路要走,但我认为目前所遇到的技术困难都是可以解决的。
- 8734 次点击
发表新评论