vue项目国际化(多语言)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue项目国际化(多语言)相关的知识,希望对你有一定的参考价值。

参考技术A

记录一下笔记,以下 vue 项目案例使用 vue-cli 搭建 ;

1. 使用 npm 命令安装所需依赖 vue-i18n , 此demo安装的版本为 vue-i18n@8.24.2 ;

main.js

二.配置多语言包

language > config > zh-hk.js

language > config > en.js

import Vue from \'vue/dist/vue.min.js\';
import VueI18n from \'vue-i18n/dist/vue-i18n\';
import Cookies from \'js-cookie\';

Vue.use(VueI18n);

// 存储在本地,刷新后不会丢失
const language = Cookies.get(\'language\') || \'zh\';
Cookies.set( \'language\' , language )
const i18n = new VueI18n(
locale: language, // 语言标识
messages:
zh: require(\'./config/zh\'), // 中文
\'zh-hk\': require(\'./config/zh-hk\'), // 中文繁体-香港
en: require(\'./config/en\'), // 英文

);

export default i18n;

...
// 引入配置文件index
import i18n from "./language"

new Vue(
el: \'#app\',
router,
store,
i18n, // 挂载到vue实例
components: App ,
template: \'<App/>\'
)

<li><a href="javascript:;">语言切换/ $t(\'language.name\') </a></li>

console.log(this.$t(\'language.name\'));

<li><a href="javascript:;">语言切换/ $t(\'language.name\') </a></li>

<li><a href="javascript:;" @click="changeLang">语言切换/ $t(\'language.name\') </a></li>

changeLang() let currentLang = Cookie.get(\'language\'); if(currentLang === \'zh\') this. i18n.locale = \'en\'; Cookie.set(\'language\',\'en\') else if(currentLang === \'en\') this.$i18n.locale = \'zh\'; Cookie.set(\'language\',\'zh\')

changeLang() let currentLang = Cookie.get(\'language\'); if(currentLang === \'zh\') Cookie.set(\'language\',\'zh-hk\') else if(currentLang === \'zh-hk\') Cookie.set(\'language\',\'en\') else if(currentLang === \'en\') Cookie.set(\'language\',\'zh\') location.reload(); // 刷新页面

以上是关于vue项目国际化(多语言)的主要内容,如果未能解决你的问题,请参考以下文章

# 前后端国际化多语言配置

Vue 项目中实现多语言国际化 ( i18n )

多语言国际化

vue项目支持多语言(vue-i18n)

vue项目支持多语言(vue-i18n)

SpringBoot + Spring Cloud +Vue 管理系统前端搭建(五多语言国际化)