选择了Perl和Google翻译做.properties文件的汉化

最近要汉化一款Java应用软件,一个重要部分是汉化properties和xml文件。

从本地化角度,这类任务具有如下特点:

  1. 每年有2-4个版本推出,应适应快速迭代;
  2. 有大段的帮助和细碎的菜单等需要翻译;
  3. 对一些专用词汇,处理应符合当前习惯,这里往往没有成熟的标准。

选择编程语言的考虑:

  1. 在字符串操作和properties,xml文件操作方面,语言的表达能力强,效率高;
  2. 语言成熟,稳定,环境依赖小,容易获得;
  3. 最好是脚本式语言,方便调试和快速开发;
  4. 开发人员比较容易上手或已经比较熟悉;

当前,选择了古老的perl;

试举两例:

1,过滤掉所有非ascii字符,只保留ascii字符;

$tt =~ s/[^[:ascii:]]//g;

2,加载 properties文件并取值

open THE_PROPS, "< ".$theFile   or die "unable to open the file";

my $the_properties = new Config::Properties();
$the_properties->load(*THE_PROPS);
close THE_PROPS;

$theV =  $the_properties->getProperty("error.invalid.username");

选择翻译引擎的考虑

比较 google, bing, youdao, baidu等常见的在线翻译工具。希望能具有下面特点:

1,使用书面化语言;有些搜索引擎,倾向使用生活用语。

例如View ,在 translate.baidu.com 上翻译为 "看法", 而在其他翻译引擎为 "视图",这个翻译比较熟悉;

2,对短字或词,翻译应标准一致。如果每次翻译的不一样,在界面上同样的菜单项有不同的译法,容易引起混乱;

3,翻译时,最好能设置翻译的场景。暂时还没找到设置方法,也不清楚是否可设置;

4,长句复合句的翻译要准确。这一点感觉google做的最好;

5,对于不会翻译的字词,大写的字词,如何处理?最好能原文保留,这涉及一些专用词汇,厂商名称等。感觉baidu翻译如baidu搜索一样,有过度处理的现象,例如“VMWare;” 翻译为 “虚拟机;”。

6,对于特殊字符,标点符号的处理应一致,这便于后期的再调整。

7,收费方式,bing的价格比较高,Google还是比较亲民的。

8,程序接口方便,google提供了最为丰富的支持语言,便于快速开工。

当前选择的是translate.google.cn。youdao也是不错的,在复合句的翻译上还是没有google准确。

猜你喜欢

转载自my.oschina.net/hyperichq/blog/1786649
今日推荐