Vue 添加国际化

本文介绍了如何在Vue.js项目中实现国际化功能。首先,根据Vue版本选择合适的vue-i18n版本进行安装。接着,配置i18n/index.js文件,设置默认语言并加载不同语言的文件。在语言文件中定义不同语言的文本。最后,在入口文件中引入并使用i18n实例,通过$i18n对象切换和使用语言。用户可以动态改变语言设置,实现多语言切换。
摘要由CSDN通过智能技术生成

1. 下载依赖

vue-i18n 与 vue 的版本

vue-i18nvue
8.x.x2.x.x
9.x.x3.x.x
npm i vue-i18n -S

2. 国际化文件

在这里插入图片描述

i18n/index.js 文件, 是配置国际化的主文件.

import Vue from "vue";
import VueI18n from "vue-i18n";

Vue.use(VueI18n);

// 创建vue-i18n实例i18n
const i18n = new VueI18n({
  // 设置默认语言
  locale: localStorage.getItem("i18n_local") || "zh",
  // 添加多语言(每一个语言标示对应一个语言文件)
  messages: {
    zh: require("./lang/zh"),
    en: require("./lang/en"),
    mo: require("./lang/mo")
  }
});

// 暴露 i18n
export default i18n;

语言文件

zh.js

// noinspection JSUnusedGlobalSymbols
/**
 * 汉语
 */


export const lang = {
  common: {
    username: "用户名",
    password: "密码"
  }
};

en.js

// noinspection JSUnusedGlobalSymbols
/**
 * 英语
 */


export const lang = {
  common: {
    username: "Username",
    password: "Password"
  }
};

国际化添加到入口文件中

在这里插入图片描述

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from "vue";
import App from "./App";
import router from "./router";

import i18n from "./i18n";

Vue.config.productionTip = false;

/* eslint-disable no-new */
new Vue({
  el: "#app",
  i18n,
  router,
  components: { App },
  template: "<App/>"
});

3. 使用

切换语言

	// 国际化, key 为 zh en 等等
	this.$i18n.locale = key;
	// 存入本地
	localStorage.setItem("i18n_locale", key);

赋值

let username = this.$t('lang.common.username');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值