最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求――国际化&本地化。熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已。趁着这个机会好好学习整理一下,为后面的技术选型做准备。
本篇将阐述国际化和本地化的概念,以及其中一个很重要的概念――Language tag(也叫Language code 或 Culture)。
国际化我认为就是应用支持多语言和文化习俗(数字、货币、日期和字符比较算法等),而本地化则是应用能识别用户所属文化习俗自动适配至相应的语言文化版本。
过去常常以为国际化就是字符串的替换――如"你好!"替换为"What's up, man!",其实具体是分为以下5方面:
"你好!"
替换为"What's up, man!"
.1200.01
,英语表示方式为1,200.01
,而法语则为1 200,01
,德语则为1.200,01
.¥1,200.01
,美元表示方式为$1,200.01
,而英语的欧元则为