我正在尝试使用 vue-i18n 构建一个多语言 Vue 应用程序,我想知道如何保留所选语言?有人有本地化经验吗?是否可以将语言作为参数添加到 vue 路由器?或者还有其他方法吗?
每次更改/设置区域设置时,您都需要将其值存储在 localStorage 中。将其添加到您的应用程序中:
watch: {
'$i18n.locale': function(newVal, oldVal) {
localStorage.setItem('last-locale', newVal)
}
}
Run Code Online (Sandbox Code Playgroud)
然后在 i18n.js 初始化文件中在启动时读取此值:
export default createI18n({
...
locale: getStartingLocale(),
...
})
Run Code Online (Sandbox Code Playgroud)
只需添加一个函数:
function getStartingLocale() {
if (localStorage.getItem('last-locale')) {
return localStorage.getItem('last-locale')
}
return process.env.VUE_APP_I18N_LOCALE || "en"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
866 次 |
| 最近记录: |