Skip to content

Commit 12a1f45

Browse files
committed
update /dev/i18n-L10n/
1 parent 93d0041 commit 12a1f45

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

content/dev/i18n-L10n/index.zh-cn.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

131131
gettext 的使用流程就是一个典型的使应用支持 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

Comments
 (0)