“国际化”和“本地化”这两个术语常被混用,这导致了一些困惑,尤其在软件开发者中。本文将阐明国际化的真正含义,以及如何在贵公司中最佳地实施国际化。
让我们先引用维基百科的定义:
本地化是指通过翻译文本并添加特定区域组件,将国际化软件适应特定地区或语言的过程。
国际化则是设计软件应用程序使其能够适应多种语言和地区,而无需进行工程变更的过程。
关键要点在于,与本地化不同,国际化是开发者的任务,即应在产品发布前充分完成。这需要周密的规划,以及为此目的量身定制的开发流程和工具。
国际化的关键方面
国际化是一个涉及诸多方面的复杂过程。其中最重要的包括:
1. 用户界面(UI)设计
用户界面应采用便于适配多种语言和地区的通用设计,具体包括:
字体:界面应选用可轻松替换的字体,以应对其他语言环境中字体缺失的情况。
颜色和图像:这些元素也应易于替换,因为某些颜色和图像在其他文化中可能具有负面含义。
文本容器:理想情况下,这些元素应能同时适配超长文本、超短文本以及从右向左书写的文本。
2. 数据格式与存储
字符串应采用便于本地化的方式存储,具体包括:
编码:字符串应采用UTF-8编码,这是Unicode字符串最广泛使用的编码方案。
语法形式:字符串设计应便于适配复数形式与性别形式,例如采用ICU格式。
日期与时间:应采用易于本地化的格式存储,例如遵循ISO 8601标准。
数字:应采用易于本地化的格式存储,例如货币使用ISO 4217标准,地区代码使用联合国M.49标准。
一个常见的错误是直接在代码中存储字符串,例如用于按钮或字段等用户界面元素。这会使后续本地化工作变得极其困难,并可能导致产品发布出现重大延迟。
3. 流程与工具
国际化是一个复杂的过程,需要周密的规划和开发。它还要求使用工具来支持整个流程,例如用于翻译记忆库和术语管理,或用于本地化产品的自动化测试。
虽然可选工具众多,但我们建议重点关注那些能实现翻译与本地化持续集成/持续交付(CI/CD)流程的解决方案。这样既无需手动发送内容进行翻译,也无需人工核查译员的工作进度。
从哪里开始?
1. 寻找(或成为)国际化推动者
讽刺的是,最具挑战性的部分往往在于说服所有相关人员:国际化对产品成功具有重大影响,必须予以重视。
为此,你需要准备一套清晰的论证,阐明国际化的商业价值——例如通过让产品触达新市场的潜在客户来提升营收,或通过避免后期本地化投入的时间与资金成本来降低运营开支。
可援引Lotus 1-2-3的案例佐证:这款曾称霸市场的电子表格产品因所有字符串均采用硬编码,导致后续本地化时耗费两年时间分离代码与文本,最终在竞争中败给微软。
2. 确定将使用的格式和工具
当所有人都明确了国际化(i18n)的需求后,就可以开始考虑技术细节了。 例如:
代码中将采用何种格式存储字符串,并将其转换为实际文本?
翻译和本地化将使用哪些工具/技术?
该流程涉及哪些角色与职责?
理想情况下,您应制定一份详尽的国际化计划/战略,并设计一套适用于所有产品的流程规范。这样一旦战略确立,就能轻松适应每次新产品发布的需求,同时避免重复讨论相同内容。
3. 执行并监控
策略确立后,便是执行与监控流程的阶段。首先引入支持流程的新工具和新技术,随后逐步引入新角色、职责和流程(但切忌操之过急)。
在流程中寻找痛点并予以消除,例如通过自动化处理或寻找新工具来简化操作。 持续收集本地化人员的反馈,据此优化流程。
最终目标是构建高效可靠的流程体系,这也将为未来产品的本地化奠定基础。国际化流程越成熟,您需要投入的精力就越少。
结论
国际化是产品开发过程中至关重要的一环,但要将其引向正确方向却充满挑战,尤其当其价值尚未被所有人充分认知时。
希望这篇简短的文章能帮助您迈出正确的第一步。
您不妨了解一下Smartcat——这款一体化本地化平台,支持多种本地化方案,内置自由职业者与翻译机构双重市场,并能与主流版本控制系统无缝集成。
订阅我们的新闻




