美文网首页
多语言I18n的简单应用

多语言I18n的简单应用

作者: 王二麻子88 | 来源:发表于2022-04-08 10:33 被阅读0次

安装依赖
npm install vue-i18n --save
在 lang/index.js 写入主逻辑内容

import Vue from 'vue'
import VueI18n from 'vue-i18n'
import Cookies from 'js-cookie'
// 兼容elementUI的多语言
import elementEnLocale from 'element-ui/lib/locale/lang/en' // element-ui lang
import elementZhLocale from 'element-ui/lib/locale/lang/zh-CN'// element-ui lang
import elementFrLocale from 'element-ui/lib/locale/lang/fr'// element-ui lang
// 兼容elementUI的多语言 /
import enLocale from './en'
import zhLocale from './zh'
import frLocale from './fr'
// 将多语言注入Vue中
Vue.use(VueI18n)

// 定义语言配置(包括:自定义配置、ElementUI内部配置)
const messages = {
  en: {
    ...enLocale,
    ...elementEnLocale
  },
  zh: {
    ...zhLocale,
    ...elementZhLocale
  },
  fr: {
    ...frLocale,
    ...elementFrLocale
  }
}

// 获取配置语言
export function getLanguage() {
  // 从cookie中读取
  const chooseLanguage = Cookies.get('language')
  if (chooseLanguage) return chooseLanguage
  // 从浏览器语言中读取
  const language = (navigator.language || navigator.browserLanguage).toLowerCase()
  const locales = Object.keys(messages)
  for (const locale of locales) {
    if (language.indexOf(locale) > -1) {
      return locale
    }
  }
  // 默认返回zh(中文)
  return 'zh'
}
const i18n = new VueI18n({
  // set locale
  // options: en | zh | fr
  locale: getLanguage(),
  // set locale messages
  messages,
  silentTranslationWarn: true
})
export default i18n

main.js 中注入I18n

import i18n from './lang'
// 兼容ElementUI
Vue.use(ElementUI, {
    size: 'small', zIndex: 3000,
    i18n: (key, value) => i18n.t(key, value)
})
new Vue({
    el: '#app',
    // ...other things
    i18n,
    render: h => h(App)
})

在 语言配置文件 写入对应的配置
在 lang/zh.js 中

export default {
  sys: {
    router: {
      home: '首页',
    },
    navbar: {
      title: 'LES',
      home: '首页',
      search: '菜单查询',
    }
  }
}

一般使用

this.$t("sys.router.home")

相关文章

  • 多语言I18n的简单应用

    安装依赖npm install vue-i18n --save在 lang/index.js 写入主逻辑内容 在 ...

  • elementui 增加多语言支持

    添加多语言支持 在src目录下增加i18n文件夹i18n文件夹.png 其中 i18n.js内容如下: en-US...

  • ios应用的多语言支持

    ios应用的多语言支持主要包括应用名称的多语言、字符串的多语言、sotrybard多语言等等要添加多语言,首先需要...

  • 你知道iOS支持多语言开发吗

    多语言支持 也称: i18n(国际化) 和 localization(本地化) 字符串文字的本地化主要步骤 新...

  • python i18n实现

    本文简单介绍python实现i18n的方法。i18n来源于英文单词internationalization的首末字...

  • jq中引入i18n - 实现网站多语言功能

    目的:在纯js、jq的项目中引入i18n 。实现网站的多语言切换。 一、项目结构 js文件夹:在项目中引入jQue...

  • vue搭配i18n国际化语言插件开发多语言网站

    vue搭配i18n国际化语言插件开发多语言网站 安装过程直接略过,安装步骤链接: vue命令行工具 (CLI)vu...

  • 国际化方案

    标签:多语言 i18n iplas 背景 应泰方要求,运营系统、网上商城以及移动端服务平台等项目都要做国际化,支持...

  • 深渊巨坑!关于android N后多语言切换

    这里的多语言切换专指应用内的多语言切换,不涉及直接通过应用修改系统语言设置的功能。比如微信里面的 我 -> 设置 ...

  • i18n国际化

    vue中如何使用i18n实现国际化 一、前言 项目中需要实现多语言切换,这时候接触到国际化,前端框架无数,其中几种...

网友评论

      本文标题:多语言I18n的简单应用

      本文链接:https://www.haomeiwen.com/subject/jszesrtx.html