IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue-----vue-18n多语言处理,实现国际化 -> 正文阅读

[JavaScript知识库]vue-----vue-18n多语言处理,实现国际化

需求:后台管理系统中要求页面国际化,页面语言能够进行切换,满足不同地区用户需求。

可以借助vue-i18n插件来实现这个需求

vue-i18n国际化插件:实现语言切换

使用:

一、安装依赖

npm install vue-i18n

二、main.js文件中导入、配置(配置也可写在一个单独的i18n.js文件中)

import Vue from "vue";
import App from "./App";
import router from "./router";
import VueI18n from "vue-i18n";
Vue.config.productionTip = false;


Vue.prototype.$echarts = echarts;
Vue.use(VueI18n); // 通过插件的形式挂载
/* eslint-disable no-new */
//实例化vue-i18n
const i18n = new VueI18n({
  // 从本地存储中取,如果没有默认为中文,
  // 这样可以解决切换语言后,没记住选择的语言,刷新页面后还是默认的语言
  // 设置默认语言
  locale: localStorage.getItem("locale") || "zh-CN", // 语言标识
  messages: {
    "zh-CN": require("./locales/zh.json"), // 中文语言包
    "en-US": require("./locales/en.json"), // 英文语言包
    Korean: require("./locales/Korean.json") // 韩语语言包
  },
  // 去除警告
  silentTranslationWarn: true
});

new Vue({
  el: "#app",
  router,
  i18n, // 不要忘记
  render: h => h(App)
});

三、创建语言文件(src>locale>相应的语言包.json)

实列:

四、页面上使用

(1)插值表达式中:

 <div>{{ $t("test.a1") }}</div>

(2)v-bind属性绑定中:

<el-input :placeholder="$t('test.a3')"></el-input>

(3)data、methods中:?

<script>
export default {
  data() {
    return {
      languageTitle: this.$t("test.a3"),
      language: "",
    };
  },
}
</script>

?五、全局切换语言(通过this.$i18n.locale的值来切换,插件自带的)

示例:

<template>
  <div class="box">
    <div>{{ $t("test.a1") }}</div>
    <div class="txt">{{ $t("test.a2") }}</div>
    <el-input :placeholder="$t('test.a3')"></el-input>
    <!-- 语言切换 -->
    <el-select v-model="language" @change="change(language)">
      <el-option label="中文" value="zh-CN"></el-option>
      <el-option label="英文" value="en-US"></el-option>
    </el-select>
  </div>
</template>

<script>
export default {
  data() {
    return {
      language: "",
      languageTitle: this.$t("test.a3"),
    };
  },
  methods: {
    // 切换语言 
    change(index) {
      console.log("index", index);
// 特别注意这里的值
      if (index == "zh-CN") {
        this.$i18n.locale = "zh-CN";
        console.log(this.$i18n.locale);
      } else {
        this.$i18n.locale = "en-US";
        console.log(this.$i18n.locale);
      }
    },
  },
};
</script>

<style>
</style>

?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:24:14  更:2021-10-20 12:25:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/10 12:13:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码