自由/开源软件本地化的成本

Technically speaking, localizing FOSS costs about as much as localizing commercial software. Only the techniques of programming are significantly different, since the linguistic and operational challenges exist no matter what type of software is to be localized. To localize any software, the following are needed:

技术上说,自由/开源软件本地化的成本跟商业软件本地化的成本相同。明显不同的只有编程的技术手段,语言和运作方面的挑战不论对哪种软件的本地化都一样存在。要本地化任何软件,都需要如下的资源:

Office space.
Office equipment and tools.
Technical staff.
Access to technical information.
Access to linguists and translators.

  • 办公空间。
  • 办公设备和工具。
  • 技术人员。
  • 技术信息渠道。
  • 语言学家和翻译。

The largest cost will be staff salaries. The total cost of a project depends heavily on the wage expectations of local technical, translation, writing and testing staff, and their individual levels of experience with software localization, language and cultural issues.

最大的开支将会是工作人员的薪水。项目的总成本在很大程度上决定于本地技术、翻译、写作和测试人员的工资期望,以及他们个人的在软件本地化、语言和文化等问题上的经验。

The programmers and project managers probably require a higher-than-average education and salary, but most of the other staff utilizes skills that are not particular to software and can be found more readily in the general population.

程序员和项目经理可能需要高于常人的学历和工资,但其他工作人员使用的技能并不局限于软件,而且可以从一般的人群中获得。

Trainers are hired when the software is near finalization, and presumably remain employed in teaching new users, system administrators and developers how to use the software.

在软件接近完成时需要雇佣培训人员,此后他们可能要一直进行指导新用户、系统管理员以及开发者使用软件的工作。

For countries seeking independence from proprietary English language software, a permanent local office whose purpose is to train and disseminate technical information about localization could yield exponential savings. This establishment could be associated with a public library or university, where interested parties can access information at little or no cost.

对于希望不再依赖于私有英语软件的国家,为培训和传播本地化技术信息而设立的永久性当地办公室可以节省大量的开支。这个机构可以与公共图书馆或大学合作,让有关人员可以免费或接近免费地获取信息。

FOSS can often operate well on older computers. This offers advantages to both developed countries with an overstock of used computers they must dispose of, and developing countries that can configure these computers to operate FOSS in the local language.

自由/开源软件常常可以在旧计算机上很好地工作。这为有大量旧计算机需要处理的发达国家,以及能够配置这些计算机让它们使用本地语言自由/开源软件的发展中国家都有好处。

The total cost of localizing any particular piece of software is highly variable. Each project requires individual analysis for complexity, experience and availability of technical staff, and the characteristics of the local language.

本地化任何一个特定软件的成本都可能有高低之别。每个项目都需要专门分析其复杂性,技术人员的经验和数量,以及本地语言的特征。

Software cost and schedule estimating is not a simple calculation. In addition to a rough estimate based on the number of message strings to be translated, other factors must be considered.

软件成本和时间估计不是简单的计算。除了对需要翻译的信息字符串数量的粗略估计,还需要考虑其他因素。

Experience: Do the programmers, translators and testers have previous experience with this kind of work? If not, it will require extra time and effort to train them in the processes and standards of localization. But translators learn very quickly, and productivity increases dramatically after the first month or two. With a stable team, the members become very productive.

Environment: Does the staff have the tools and equipment needed to perform the work in a professional manner? Without modern office space, tools and techniques, it is unrealistic to expect the staff to perform at top efficiency.

Linguistic factors: How different is the local language from English? Translating from English to Swedish, for example, is fairly simple. The grammar, length of words and vocabulary is very similar. There is near universal fluency in English, and translators are easy to find. On the other hand, translating from English to Lao is very difficult. The grammar, spelling conventions, word length, collation, and other factors are not similar at all. So the size and position of user interface elements must be changed. In addition, a lack of experienced translators or even of a basic technical glossary means that projects would begin from practically nothing and take much more time and effort.

Scope: How much is enough? Is it acceptable to merely change the primary user interface menus and commands? Should the help files also be translated? What about documentation and user training materials? Are `'anglicisms''acceptable? How many new words will be introduced into the language? To avoid failure, a very clear definition of the project's scope is necessary.

Metrics: Professional software cost and estimating relies on the experience of previous projects for determining future schedules. If there is little heuristic evidence to rely on for estimating, the first few project estimates can only be educated guesses. After several projects have been completed, the actual time for completion can be compared to the initial estimates in order to refine future estimates. So it is important that accurate records of person hours, resources, experience and other factors are collected for future reference.

  • 经验:程序员、翻译和测试人员有过这类工作的经验吗?如果没有,将需要更多的时间和精力来进行工作流程和本地化标准培训。但是翻译的培训非常迅速,在头一两个月后效率就会大大提高。有了一支稳定的队伍,其成员会变得非常有效率。
  • 环境:工作人员是否拥有以专业方式工作所必须的工具和设备?没有现代办公空间,工具和技术,期望工作人员达到最高的效率是不现实的。
  • 语言因素:本地语言与英语的差别有多大?例如,从英语翻译成瑞典语是非常简单的。语法、词语长度和词汇表都非常类似。在瑞典能说流利英语的人几乎随处可见,翻译很容易找到。相比之下,将英语翻译成老挝语就非常困难。语法、拼写规则、词长、排序,以及其他的因素都完全不同。因此用户界面元素的大小和位置必须调整。此外,缺乏有经验的翻译人员甚至基本的技术词典都意味着项目几乎要从零开始,并需要多得多的时间和工作。
  • 范围:多少才算够?仅仅更换主要用户界面的菜单和命令就够了吗?帮助文件也要翻译吗?文档和用户培训材料呢?“英国腔”能接受吗?要在语言中加入多少新词?为避免失败,对计划范围的清晰定义是非常必要的。
  • 度量:专业的软件报价和估计依赖于过去项目的经验来决定未来的计划。如果估计缺乏根据,头几个项目的估计只能称为猜测。完成了几个项目之后,就可以比较估计的和实际的完成时间从而改善未来的估计。因此准确记录收集人时、资源、经验和其他因素的信息供今后参考是非常重要的。

With the points mentioned above in mind, consider the following formula as a very rough "rule of thumb" for estimating localization project schedules.

记住以上的要点,下面的公式可看成一个粗略的“经验公式”,用于估计本地化项目的进程。

(需要翻译的信息字符串数 x 翻译一条“一般”字符串估计需要的分钟数 x 翻译者的经验水平*) / (60** x “实际”的每人每周工作时间*** x 可用的人员数) + 10--20% 管理和培训时间 = 估计完成所需的周数

* 较少的经验需要较多的时间(没有经验: x 1.5,经验丰富: x 0.75)
** 换算为人时
*** 总是少于每周40小时,一般每周20小时左右

Example Case 1:
1. 10,000 message strings to be translated
2. 10 minutes per message string
3. Less than average experience with software localization translating tools and processes.
4. 10 staff members

示例1:

  1. 10,000 条需要翻译的信息字符串
  2. 每条信息10分钟
  3. 较少的软件本地化翻译工具和过程的经验
  4. 10名工作人员

Example Case 1 Estimate:
1. 10,000 x 10 minutes (divided by 60) = 1,666 person-hours
2. 20 "actual" man hours per week = 83.33 person-weeks
3. Add 16.66 man weeks for testing and editing = 99.99 person-weeks
4. Add 16.66 man weeks for management and training = 116.65 person-weeks
5. Multiply by 1.5 to reflect lack of experience = 174.97 person-weeks
6. Divide by 10 staff members = 17.4975 weeks

示例1估计:

  1. 10,000 x 10 分钟(除以60)= 1,666人时
  2. 每周20个“实际”人时 = 83.33人周
  3. 加上用于测试和编辑的16.66人周 = 99.99人周
  4. 加上管理和培训的16.66人周 = 116.65人周
  5. 乘以1.5以反映经验的缺乏 = 174.97人周
  6. 除以10名工作人员 = 17.4975周

In other words, such a project would require a staff of 10 people working almost five months. If the average salary for these professionals is a thousand dollars a month, costs for staff alone is USD50,000.00.

换句话说,这样一个项目需要10名工作人员工作将近5个月。如果每个专业人员的
平均工资是每月1,000美元,仅雇员的成本就是50,000美元。

Add 10 computers, office space, Internet connectivity, copy machines and other routine expenses, and a rough estimate of the overall cost of localization can be made.

加上10台计算机,办公空间,因特网连接,复印机和其他日常开销,就能大概估计本地化的总体成本。

Consider the same example with the following change: average experience with software localization translating tools and processes.

考虑在上例中进行如下的改变:对软件本地化翻译工具和过程有一般水平的经验。

1. Multiply by 1.0 to reflect average level of experience = 116.65 person-weeks
2. Divide by 10 staff members = 11.665 weeks.

  1. 乘以系数1.0表示一般经验 = 116.65人周
  2. 除以10名工作人员 = 11.665周

A project with experienced staff would require less than four months. If the average salary for these professionals is a thousand dollars a month, costs for staff alone is USD40,000.00.

有经验的人员参与的项目只需要少于4个月。如果这些专业人员的平均工资是每月1,000美元,则人员开销就是40,000美元。

Consider the same example with the following change: staff with more experience with software localization, translation tools and processes.

考虑上例有如下的改变:人员有更多的关于软件本地化、翻译工具和过程的经验。

1. Multiply by .75 to reflect above average experience = 81.24 person-weeks
2. Divide by 10 staff members = 8.124 weeks.

  1. 乘以0.75反映高于平均水平的经验 = 81.24人周
  2. 除以10名工作人员 = 8.124周

An above average staff of 10 people, requiring no additional training, will need only about two months. If the average salary for these professionals is a thousand dollars a month, cost for staff is only USD20,000.00. Compared to proprietary products, FOSS is ideal for localizing. When a few projects have been completed, the costs drop quickly because the underlying concepts and techniques remain the same. The first few projects must develop new dictionaries, tools and specialties relating to language and technical processes. The experience of the staff is the key to increased productivity.

由具有较多经验的10人组成的队伍,不需要附加的培训,将只需要两个月时间。如果这些专业人员的工资是每月一千美元,则工作人员的开销只需20,000美元。与私有软件相比,自由软件更适合于本地化。完成几个项目后,成本就能迅速下降,因为工作背后的概念和技术都是一样的。最开始的几个项目必须发展新的词典、工具和与语言及技术过程有关的专业技能。工作人员的经验是提高效率的关键。

Once these are in place and well understood, the time and money required to complete additional projects are reduced. Because FOSS developers tend to adhere to open standards, the developers of a local version do not have to reverse-engineer the code to guess what work must be done. The localization process should be very similar from project to project. With commercial proprietary closed software, the opposite is true.

一旦这些资源都到位并且被理解,完成其它项目所需的时间和金钱就可以减少。因为自由/开源软件开发者倾向于采用开放标准,本地版本的开发者不需要进行反向工程来猜测需要做什么工作。不同项目的本地化过程非常相似。而对于商业的私有闭源软件,情况正好相反。

As we have seen, a major pitfall of proprietary software is that only the owner of the copyright can maintain or modify it. With FOSS, any person with the appropriate skills can do the work. So, instead of users being locked into an expensive maintenance contract with a single foreign vendor, support and maintenance of software can be freely contracted to a wide variety of local companies.

正如我们已经看到的,私有软件的一个主要问题是只有版权的拥有者可以维护和修改它。对于自由/开源软件,任何有足够技能的人都可以做这些工作。所以,软件支持和维护工作可以自由地外包给各种本地企业。

Programmers working alone cannot localize software. When estimating the cost, time and effort required for any localization, set aside only about 10 percent of the budget for technical issues. All the rest goes to the time-consuming task of translating, writing, testing and training.

独自工作的程序员是不能本地化软件的。估计任何本地化项目的花费、时间和工作量时,只为技术问题预留10%的预算。其它的都应该用于花费时间的翻译、写作、测试和培训工作。