什么是国际化
国际化(Internationalization),通常缩写为i18n,它是指设计和开发软件、网站等内容时,使它们能够无需工程上的调整就能适应不同的语言和地区的过程。
国际化实现原理
我们有一个变量 msg
,但是这个 msg
有且只能有两个值:
- hello world
- 你好世界
要求:根据需要切换 msg
的值
这样的一个需求就是 国际化 的需求
通过上述需求来实现代码
<script>
// 1. 定义 msg 值的数据源
const messages = {
en: {
msg: 'hello world'
},
zh: {
msg: '你好世界'
}
}
// 2. 定义切换变量
let locale = 'en'
// 3. 定义赋值函数
function t(key) {
return messages[locale][key]
}
// 4. 为 msg 赋值
let msg = t('msg')
console.log(msg);
// 修改 locale, 重新执行 t 方法,获取不同语言环境下的值
</script>
由此可见,我们通过一个变量控制语言