Parlez-vous Francais? 你说法语么? -------软件的国际化

我们中的大多数人用不着说很多种语言,但是我们写的软件有的时候却需要支持多种语言。   

每个人都有误译的时候,我的第一次错误来自肺呼吸机领域(Word of Lung ventilators)。短语“压力支持--pressure Support”应该是提供更大空气压力的意思,一个西班牙翻译人员将它翻译成“压力照”。虽然这中翻译可能会令人振奋,但是这些错误必须在产品正式发布之前被修正。如果你正销售你的产品到某个国家,你的生意至少要与一个对你的系列产品足够熟悉的本地人保持联系,由他来对翻译进行评价。然而如果产品的展现是图形化的或者是基于文本的,需要翻译的字符串数可能很轻易就达到数百之多,本地的专家可能没有时间或者工具来完成这些翻译。

通常由专业的翻译公司执行翻译工作,本地专家则凭借他对产品和本地市场的了解对翻译进行校验。这些专业的翻译人员和将要翻译你的用户手册的人最好是同一批人,因为保持产品和手册中术语的一致性是非常重要的。你也许会认为保持两者的一致是很容易做到的,但是当你开始管理十多种语言和多个软件版本的时候,头痛是显而易见的。

通常情况下,产品的最终版本由本地专家来进行检查,以保证那些专业的翻译人员在产品专有项中使用了适当的术语。如果我们希望将产品翻译到10种语言,那么我们需要组织20个人:10个翻译人员和10个本地专家。假设这些人员不会彼此接触,所以需要有一个人来保持跟这些人的联系。而工程师负责将最终的翻译嵌入到产品中,我曾经不止一次得执行过这样的协作任务,这些包括许多职员和技术文档。

字符串管理

在行动之前,让我们来定义几个术语。“代码文件”是指包含特定语言字符串(通常是一组C字符串声明)的原代码文件,代码文件一般不适合发送给翻译人员。“翻译文件”是指包含英文字符串的,并且有一列是翻译目标语言(假定原始的版本是用英文开发的)。当翻译文件被创建好以后,其他语言那一列应该是空的。这样做的目的:1、由翻译人员填写那一列;2、新的字符串可以被重新插入到你的源代码中。我通常使用一个电子表格来做为翻译文件,这使得创建列变的容易,像英语,外语,注释,或者字体之类,指示特殊属性的标记。电子表格也很容易计算出字符串的长度,这点通常需要被重点考虑。

一些图形化的工具包含一些有助于翻译的图元,如果你正在使用这样的产品,那么这里提到的这些图元应该引起你的注意。很可能,你不得不自己来构思解决方案。这里提供一种可行的字符串管理问题的方案,请参考Nigel Jones' article

我第一次翻译经验中包括使用一个基于HD44780的液晶显示器。在另外一个项目中,我们使用了图形化的显示,我们也可以控制字体,从而提供更多的灵活性,但是这也引入了更多的挑战,每个字符串中空格的数量不再固定。为日本市场,我们提供了日文字符集,这也意味着不得不引入双字节字符。

你需要一个清晰的过程,通过它你可以将为数众多文字片断从代码中提取出来进行翻译,并且当需要的时候可以将翻译好的文字重新插入到代码中。、一个需要工程师键入所有的外语译文的过程,很可能会被错误所充斥。如果从源代码到翻译文件的每一部份转换都经过手动完成,你将不得不考虑当一切都要重新来过的时候,会发生什么?那么在什么情况下你需要重新进行转换?很明显,如果这个产品升级的同时增加了新的字符串,你就需要这么做,当然还存在其他的情况。翻译流程的第一步是由专业的翻译人员来执行的,第二步由本地专家来执行。将产品提交给本地专家最理想的方法是用最初的翻译做成产品原型,这样他可以在特定的上下文中查看翻译后的字符串。在本地专家决定修改的时候,他可以对翻译文件进行编辑,当然编辑必须基于对产品的观察,而不是仅仅只是阅读翻译文件。有的时候,在译文最终确定之前,专业翻译和本地专家之间会出现很多分歧。 

好的翻译服务是很重要的,一个好的翻译公司通常都拥有丰富的经验,无论是翻译用户手册还是基于PC的应用程序或者是网页。但是对于他们来说,在嵌入式产品有限的用户界面上, 翻译字符串的所代表的概念就显得十分新奇。字符串长度的限制,或者字符集的限制必须跟他们解释清楚。而如果要限制字符变量的长度的时候,事情往往变得更加复杂。在一个2 x 20 的字符显示器上(由HD44780驱动的那种),那么我就必须告诉翻译人员,字符串的长度必须保持在20个字符以内。如果换成一个小的图形化屏幕,并且是用了一种均衡字体(proportional font),那么显示字符的个数取决于字符本身,“ill”比“wow”来的窄,就好比在本文中你看到的一样。

说明特定字符串使用的上下文也是很有帮助的,但是有些时候这需要一个产品示例,给一个世界另一头的人提供这样一个示例是有一些小麻烦的。

另外,许多翻译公司会阻碍客户与翻译人员的联系。他们担心翻译人员和客户之间的托延邮件及电话会导致翻译工作比预算花费更多时间。这就意味着你需要将任何特殊的翻译说明写成文当,这样翻译公司的客户经理才可以将这些转到翻译人员手里。而翻译人员的疑问也须经由翻译公司的代表反馈回来,他们甚至有可能都不展现翻译人员的姓名。因为翻译流程和产品都可能是相当复杂的,所以我已经适应了这个惯例,那就是所有的翻译人员都不会返回关于翻译的任何问题,而只是在遇到疑惑的时候胡乱猜测一番,而这些问题都必须要由本地专家在最后的复查中来纠正。

如果你的翻译程序有如下这些要点,那么就可以缓和前面所述的那些问题。    

  • 独立管理每一种语言。
  • 所有的源文件和翻译文件都包含版本号。
  • 每一个源文件和翻译文件都包含原始的英文字符串。
  • 所有的源文件到翻译文件的转换及转回必须处理任何可能出现的字符编码的问题。
  • 必须提供一些手动的或者自动的测试,以便能运行足够多的状态,一步步地检查每一个字符串在其适用的上下文中的准确性。
  • 如果可能的话,一个基于PC的产品原形可以用来复查翻译。
  • 下面让我们依次看看每一个要点,并来探讨一下为什么他们是如此重用。

     

     

     

     

     

    -----------------To be continued

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值