前端如何完成多语言功能

项目需求,要把pc端的jq+avalon项目和移动端的vue项目都完成多语言化,比如英语韩语等,现在打算走的路线是把每个页面只要显示的字都写成一个对象,比如

`


let welcome = {

    'en' : 'welcome',

    'cn' : '你好',

    'kr' : '阿尼阿塞哟',

    'jp' : '哄你几瓦'

}

`

然后根据开始选择语言的字段存储到sessionStorage,判断输出是什么文字,但是感觉这样做每段文字都要做定义会代码量很大,请问有没有更好的解决方法?我也有上网查过i18n,但是还是没搞懂i18n的作用是什么,自动翻译吗?如果要在jq项目中运用要怎么用,求大神指导


紫衣仙女
浏览 716回答 6
6回答

白衣染霜花

我司也要 但是我做两套 方法公用 页面不共用 我看了挺多多语言网站 挺多都是两套 你这种方式我以前做过 可以不用一个一个存 可以把语言sessionStorage存着 作为一个key 然后字段每个语言做一个json 然后写一个方法 获取sessionStorage的语言key 传入函数参数 不同的key调不同的json文件 然后填充

守着星空守着你

就是一个映射关系,如果多的话,直接后台维护吧

守着一只汪

准确翻译的话只能像你说的方法,每种语言一个json,用到哪个就重新渲染。

噜噜哒

这个方法就是,把文案地方写成配置文件的一个变量。有个通用语言配置文件(一个语言一个配置文件)存储所有变量,然后根据需要请求不同配置文件。这样就可以了,
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript