最近多语言的项目上线了,总结一下多语言应该注意那些事项。建立一个多语言网站,你会遇到很多问题,其中之一就是你计划如何将网站的内容存储在每种语言的数据库中。你可以在网络上找到足够的资源,但没有一个神奇的解决方案,你必须理解这一点-每个解决方案都取决于你的个人需求、数据库的大小、网站的复杂性等。适合自己的才是最好的。
可以想象,设计多语言数据库有多种方法,每种解决方案都有其优缺点。考虑到数据库结构对应用程序的重要性,开发人员必须精心设计多语言数据库。这就是开发人员不应该从头开始而是依赖最佳实践的原因。 但是问题来了,不是所有的系统一开始都会考虑这些事情了,那么问题来了,我们该怎么办?
多语言数据库解决方案一般有:
具体详细的实现的方案网上很多了,我就不说了,当时我是推崇的是第5种方法:第5种方法的具体如下:在应用程序的主模式中,具有需要翻译的文本值的列被指向翻译文本表的ID所取代,不需要翻译的字段就在主表上。图一:每个需要翻译的表一个表;图二:所有需要翻译的表一个表;区别不大。如果是系统刚开始起步就用第5种。
如果系统已经成熟,再tmd改多语言,怎么办?怎么该风险最小?先不说时间和精力,更改数据库是一项风险很大的操作,因为它会引发连锁反应。修改数据库的结构涉及更改连接到它的后端。这可能还需要开发人员相应地调整依赖这些后端的前端。
我们最终采用的方案是什么呢?我们采取的是:前端翻译+硬编码+后端预翻译(接口支持多语言返回,Json存储)。原则是前端所有接口不动,加头信息。时间也比较紧,最终项目算是在规定时间内,顺利交付。
还有一些注意事项:比如说时间的处理,提示的修改等。其实我们还遗留一个重要的问题是:多语言系统和本地化系统的运营策略是不一样的,我们其实把它当成一样处理了。
全球化的业务需要把I18N内化成基本素养,支撑业务领域做好L10N。