Programming: t9n l10n i18n g11n
Explanations for each abbreviation:
- t9n = translation
- l10n = localization (🇬🇧 localisation)
- i18n = internationalization (🇬🇧 internationalisation)
- g11n = globalization (🇬🇧 globalisation)
本地化
“本地化”通常是指一种适配方式,让产品、程序或者文档,适配特定地区语言、文化和市场。
本地化(localization)在英语中一般简写为“l10n”, 其中10指“l”和 “n”之间共包含10个字母。
狭义的本地化是指用户界面或者相关文档的翻译,广义的本地化更为复杂,涵盖且不限于以下内容:
- 数字、日期和时间的格式化
- 货币使用习惯
- 键盘使用习惯
- 字符的组合和排序
- 符号、按钮和颜色的使用习惯
- 在特定语言环境下,一些容易引起误解或者相对的敏感的文本和图片处理
- 本地化的法律要求
- 其他。
特定情况下,本地化甚至需求对于一些复杂的逻辑流程,视觉设计和呈现效果进行重新思考,比如会计业务出海。假如与原始文化差距较大,还需要对用户模型进行重新设计。
国际化
对“国际化”的定义也不尽相同,此处采用W3C官方最常用的定义。同时,国际化在其他场合也会有不同的叫法,比如“全球化”。
“国际化”是指一种软件设计和开发的模式,目的是让系统、程序或者产品,便捷的满足不同文化、地区和语言的本地化诉求。
国际化(internationalization)在英语中一般简写为“i18n”, 其中18指“i”和 “n”之间共包含18个字母。
国际化通常包含以下推荐模式:
- 采用全球化的开发模式。包括且不限于:使用Unicode,兼容各国特殊字符编码,支持字符串的拼接和RTL反转,避免代码中混杂文案等。
- 本地化的功能扩展支持。例如:DTD双向文本的扩展支持,语言标识符的扩展支持,直排文本的扩展支持,非拉丁文本排版的扩展支持等。
- 默认支持本地化、区域性、特殊语言和文化相关的偏好。确保相关库和偏好设置具备足够的扩展性和延伸性,比如:日期和时间的格式化、本地化的日历、数字格式化和数字系统,字符的排序和列表,个人姓名和地址格式的处理等
- 本地化元素的配置化。这样,需要的时候可以根据用户的国际化偏好设置,加载本地模式。
注意:某些内容、程序或者产品转换为另一个语言的过程中,上面的过程并非都是必须的;但是,作为设计和开发的最佳实践,可以让系统快速支持出海本地化。纵使短期没有本地化的诉求,也可以提升系统的扩展性。