@@ -47,7 +47,7 @@ og_image: "https://img.bmpi.dev/9adbc2f4-7fa4-0f67-046b-f135c4b117b7.png"
4747
4848![ ] ( https://img.bmpi.dev/53875fc9-00ac-e8e2-8d91-06399755dcba.png )
4949
50- 语言环境是在某个国家或地域内使用特定的语言或语言变体,其决定了日期、时间、数字和货币的格式和解析方式,以及各种测量单位和时区、语言、国家与地区的翻译名称。国际化使一个软件能够处理多个语言环境,本地化使一个软件处理一个特定的语言环境 。
50+ 语言环境是在某个国家或地域内使用特定的语言或语言变体,其决定了日期、时间、数字和货币的格式和解析方式,以及各种测量单位和时区、语言、国家与地区的翻译名称。** 国际化使一个软件能够处理多个语言环境,本地化使一个软件支持一个特定的地区的语言环境 ** 。这意味着全球化的流程是先使软件具备国际化的能力,之后做本地化实施使其能支持特定地区特定的语言环境 。
5151
5252> 基于他们的英文单字长度过长,常被分别简称成i18n(18意味着在“internationalization”这个单字中,i和n之间有18个字母)及L10n。使用大写的L以利区分i18n中的i和易于分辨小写l与1。([ Wikipedia] ( https://zh.wikipedia.org/wiki/国际化与本地化 ) )
5353
@@ -130,9 +130,9 @@ priv/gettext
130130
131131gettext 的使用流程就是一个典型的使应用支持 i18n 国际化的过程:
132132
133- 1 . 先抽取硬编码的源语言文本,在硬编码的地方调用 i18n 函数。对于这部分可以人工抽取,也可以通过程序或者插件(如 Javascript 的 I18next 国际化框架有 I18next-scanner)自动抽取 。
134- 2 . 之后翻译(可通过人工或机器翻译,也有相关的翻译平台可以集成)这些抽取出来的要支持的国家语言文件 。
135- 3 . i18n 框架通过系统或者浏览器(如果是 Web 应用)的语言标识自动获取相关的语言文件。如 gettext 使用的是 .mo 后缀的文件,而 Javascript 一般是 .json 文件,Java 是 .properties 文件 。
133+ 1 . 配置 i18n 框架。i18n 框架通过系统或者浏览器(如果是 Web 应用)的语言标识自动获取相关的语言文件。如 gettext 使用的是 .mo 后缀的文件,而 Javascript 一般是 .json 文件,Java 是 .properties 文件 。
134+ 2 . 抽取硬编码的源语言文本。在硬编码的地方调用 i18n 函数。对于这部分可以人工抽取,也可以通过程序或者插件(如 Javascript 的 i18next 国际化框架有 i18next-scanner)自动抽取 。
135+ 3 . 最后实施 ** 本地化 ** 。翻译(可通过人工或机器翻译,也有相关的翻译平台可以集成)这些抽取出来的要支持的国家语言文件 。
136136
137137## 本地化(L10N)
138138
@@ -143,7 +143,7 @@ gettext 的使用流程就是一个典型的使应用支持 i18n 国际化的过
143143如上图是一个典型的本地化流程图。其中参与方有:
144144
145145- 开发团队(Dev Team):开发人员使系统具备国际化的能力,并将机器翻译版的多语言版本部署到集成环境供测试人员测试,能搭建自动化的翻译集成流水线。
146- - 市场团队(Market Team):整理产品涉及到的术语表,并购买专业翻译服务,确定最终多语言翻译的版本。如果是大公司的话,可能有专门的全球化团队完成此工作。
146+ - 市场团队(Market Team):确认产品的市场和支持的语言, 整理产品涉及到的术语表,并购买专业翻译服务,确定最终多语言翻译的版本。如果是大公司的话,可能有专门的全球化团队完成此工作。
147147- 翻译管理平台(TMS):完成翻译语言的管理,一般都有特定的 API 接口或 SDK 开发工具包,可以集成到 CI/CD 环境,能自动化源语言和翻译语言文件的上传和下载。并具备管理界面,供翻译人员修改和确定翻译的最终版本。能提供多个机器翻译服务,也能提供人工翻译的购买或以开源协作的方式完成人工翻译。
148148
149149### 制定本地化策略
@@ -163,6 +163,7 @@ gettext 的使用流程就是一个典型的使应用支持 i18n 国际化的过
163163- 地域与语言有无联动关系(用户是否能看到所有地域支持的所有语言)
164164- 语言切换是否需要保存到用户个人信息中
165165- 是否需要通过用户环境语言标识(操作系统或浏览器)设置用户默认语言
166+ - ** 服务是否多地域部署,多地域数据是否隔离**
166167
167168#### 新增地域/语言/服务
168169
@@ -223,6 +224,7 @@ gettext 的使用流程就是一个典型的使应用支持 i18n 国际化的过
223224 - 日期和时间:日期/时间的国际化,不仅涉及到地理位置(比如星期、月份等日历本地化表示),还涉及到时区(TimeZone,针对UTC/GMT的偏移量)。时区不仅是地理位置规定,更是政治规定,比如中国从地理位置上跨 5 个时区,但只使用一个统一时区。另许多国家都有“夏令时”的规定,柏林时间和北京时间的差距是会变化的。有时候是7小时(冬令时),有时候是6小时(夏令时)。
224225 - 数字:不同国家和地区数字表示方式也存在着区别。影响数字表现的因素包括数字字符的表示、数字符号的表示、数字的类型等。
225226 - 重量/长度/物理单位:因为单位的不同,同一套数据多地域版本需要做转换。
227+ - 业务相关的计量单位:比如不同国家产品的计费规则不同。此需要业务人员支持找出相应位置并给予换算规则。
226228- 句子长度:德语通常比英语长,阿拉伯语需要更多的垂直空间。
227229- 书写方向:许多语言是从左到右,但在希伯来语和阿拉伯语中是从右到左,在某些亚洲语言中是垂直的。
228230- 标点符号:例如英语中的引号 ("")、德语中的低引号 (,,") 和法语中的引号 (<<>>)。
0 commit comments