专题目录
一文搞懂国际化(三)落地实践
一文搞懂国际化(四)总结提升
引子
第一章,我们分析了国际化项目的背景和基础知识,本章我们来分析一下要实现国际化的功能,有哪些设计点。本章只讲设计,不讲落地实践(见第三章)。
一、需求分析
回顾笔者主导的这一年的国际化改造项目过程,可归纳出三大块设计难点:
- 1)多语言改造:系统支持用户设置自己的语言,支持语言切换,即【语言切换】功能。
- 2)多时区改造:系统支持多时区客户端时间。客户看到的是自己本地时区时间,但后端服务、数据库一般只部署在一套环境中。如何设计解决【前端多时区,后端统一时区】的业务场景。
- 3)翻译运营工具:上线生产后,为了快速实现,持续可拓展的新增语言功能,急需一个翻译运营工具,即如何设计实现一个新增/维护语言的【翻译运营工具】。
相信大部分做国际化改造的项目都会遇到上面所说的设计场景,下面我们针对这三大块进行初步分析。
二、多语言设计
要实现用户多语言切换,可拆解成2部分:
- 第一步,设置用户想要的语言:具体在APP上还是WEB端上搞个入口支持设置用户的语言即可。
- 第二步,使用设置的语言,加载对应的语言翻译资源了。这里分两大块,前端的工程内的静态资源包、后端的接口动态翻译。
不管是前端静态资源包还是后端的动态翻译,都有3种实现逻辑,即设备跟随、账号跟随、系统跟随。
- 系统跟随:未设置语言,直接跟随系统(比如APP端就是手机android/ios系统语言,WEB端就是客户浏览器运营设备的系统语言)。
- 设备跟随:即语言跟随客户端