. */ import Vue from "vue"; import VueI18n from "vue-i18n"; import elementZhLocale from "element-ui/ elementZhLocale, }, }; /** * i18n 配置 * @param locale 本地化语言 * @param fallback 回退语言 * @returns {VueI18n } */ function initI18n(locale, fallback) { Vue.use(VueI18n); let i18nOptions = { locale, fallbackLocale: fallback, silentFallbackWarn: true, messages, }; return new VueI18n(i18nOptions
VueI18n 多语言使用 1. uniapp 的国际化 zh-Hans 简体中文 zh-Hant 繁体中文 国际化 (Internationalization,简称 i18n):指软件开发具备支持多种语言的地区功能 VueI18n 多语言使用 一、创建国际化 json 文件 ├── locale│ ├── index.js│ ├── en.json│ ├── zh-Hans.json│ └── zh-Hant.json /zh-Hans.json';export default { 'zh-Hans': zhHans, en } 二、main.js 引入并初始化 VueI18n // 导入国际化 json 文件import from '@/locale/index'const i18nConfig = { locale: uni.getLocale(), messages }// Vue 安装 VueI18nimport VueI18n from 'vue-i18n'Vue.use(VueI18n)const i18n = new VueI18n(i18nConfig)// 挂载到 Vue 实例const app = new Vue(
详细步骤 安装vue-i18n npm install vue-i18n -S 引入 在main.js中引入vue-i18n import VueI18n from 'vue-i18n' Vue.use (VueI18n) 定义语言文件 const messages = { //简体中文 cn: { message: { hello: '你好', author: : { message: { hello: '你好', author: '龍的傳人' } } } vue-i18n初始化 const i18n = new VueI18n /lang/en.js' const i18n = new VueI18n({ locale: 'cn', // 默认语言 messages: { 'cn': cnlang, '
项目从vue2 升级vue3,VueI18n需要做适当的调整。 https://vue-i18n.intlify.dev/guide/migration/breaking.htmlVue I18n v8.x:import Vue from 'vue' import VueI18n from 'vue-i18n' Vue.use(VueI18n) const i18n = new VueI18n({ // ... }) new Vue({ i18n, // .. from 'dayjs';import 'dayjs/locale/zh-cn'; // import localeimport { getCookie } from '@/utils';Vue.use(VueI18n enUS'; dayjs.locale('en');} else { currentLang = 'zhCN'; dayjs.locale('zh-cn');}const i18n = new VueI18n
基本使用 安装 npm install –save vue-i18n 创建lang 文件夹 index.js中引入 i18n并使用 import Vue from 'vue' import VueI18n from 'vue-i18n' Vue.use(VueI18n) const i18n = new VueI18n({ // 设置当前语言 locale: 'zh', messages /en' Vue.use(VueI18n) const i18n = new VueI18n({ // 设置当前语言 locale: 'zh', messages: { /en' Vue.use(VueI18n) //设置语言环境 //获取浏览器的语言 //console.log(navigator.language) //浏览器的语言 const navLang = /console.log(localLang) //localStorage存储最新的语言信息 localStorage.setItem('lange',lang) const i18n = new VueI18n
安装 yarn add vue-i18n 引入 import Vue from 'vue' import VueI18n from 'vue-i18n' Vue.use(VueI18n) main.ts 中配置词库 const i18n = new VueI18n({ locale: 'zh', // 通过 this.
命令进行安装: npm install vue-i18n 然后,在Vue应用的入口文件(通常是main.js)中引入并配置vue-i18n: import Vue from 'vue' import VueI18n /locales' Vue.use(VueI18n) const i18n = new VueI18n({ locale: 'en', // 默认语言 messages // 引入的语言包
当然是直接用插件了,并不是自己实现 vue-i18n使用很简单: 安装依赖:npm i vue-i18n -S 引入、调用: import VueI18n from 'vue-i18n'; Vue.use (VueI18n); 生成实例: const i18n = new VueI18n({ locale: 'zh', messages: { 'zh': require('@/assets
/App' import VueI18n from 'vue-i18n' const messages = { en: { message: { hello: 'world hello' } }, zh: { message: { hello: '世界' } } } Vue.use(VueI18n) const i18n = new VueI18n({ locale
li2: "标签二", li3: "标签三", }, }, }; const i18n = new VueI18n vuetify' import 'vuetify/dist/vuetify.min.css' import colors from 'vuetify/lib/util/colors' import VueI18n from 'vue-i18n' Vue.use(Vuetify) Vue.use(VueI18n) // 国际化显示配置 const messages = { en: { $vuetify sessionStorage.getItem('i18nLocale')) { i18nLocale = sessionStorage.getItem('i18nLocale') } // 实例化 vuei18n const i18n = new VueI18n({ locale: i18nLocale, messages }) const opts = { theme: { dark:
var language = navigator.browserLanguage; } return language; } //告诉vue引入国际化插件 Vue.use(VueI18n if (get_language()=="zh-CN"){ loc = "cn" }else { loc = "en" } //生成国际化插件实例 const i18n = new VueI18n 注意点 注意使用Vue.use(VueI18n);引入i18n。 在模板中也可以使用,但是注意字符串转义,类似''
,然后调用 Vue.use(VueI18n)。 import Vue from 'https://unpkg.com/vue@2.6.10/dist/vue.esm.browser.js' Vue.use(VueI18n) new Vue({ // 通过 `i18n` 选项创建 Vue 实例 // 通过选项创建 VueI18n 实例 i18n: new VueI18n({ 入口文件为 index.js,在 VueI18n 类中的 constructor 中先调用 install 方法注册 // Auto install if it is not done yet and // 在 Vue 的原型中挂载 $t 方法,这是我们为什么能够直接在模板中使用的原因 // 把 VueI18n 对象实例的方法都注入到 Vue 实例上 Vue.prototype.
/zh" export default { en, zh } i18n.js import Vue from 'vue' import VueI18n from 'vue-i18n' import /index.js' import store from '@/store' Vue.use(VueI18n) console.log("hi") const i18n = new VueI18n({ 但是能正常切换语言,只需要在VueI18n 实例中配置silentTranslationWarn: true const i18n = new VueI18n({ locale: localStorage.getItem
1.引入多语言首先在main.js中进行引入并注册vue-i18n,引入中文语言包和英文语言包(根据开发需求引入语言包)//main.js//多语言引入import VueI18n from 'vue-i18n'import /locale/zh-Hans.json' //中文Vue.use(VueI18n)let i18nConfig = { locale: uni.getLocale(),// 获取已设置的语言 messages /zh-Hans.json'import Vue from 'vue'; import VueI18n from 'vue-i18n'Vue.use(VueI18n)const i18n = new VueI18n
(这里只写了核心代码) 引入: // 引入插件和语言包 import VueI18n from 'vue-i18n' import zh from '@/i18n/langs/zh' import en from '@/i18n/langs/en' Vue.use(VueI18n); zh文件: export default { placeStopOrder:"下止损单", } en文件: export
index.js import Vue from 'vue' import VueI18n from 'vue-i18n' Vue.use(VueI18n) // 注册i18n实例并引入语言文件, 文件格式等下解析 const i18n = new VueI18n({ locale: 'zh', messages: { 'zh': require('@/assets/languages
文件夹 在locale下建lang文件夹—-用来存放自己设置的多语言文件 index.js 入口文件 index.js里放置内容如下 import Vue from 'vue' import VueI18n import enUS from 'vant/lib/locale/lang/en-US' import jaJP from 'vant/lib/locale/lang/ja-JP' Vue.use(VueI18n const i18n = new VueI18n({ locale: lang, // 语言标识 // 默认语言 messages }) const vantLocales = lang
export default { en: en, cn: cn }; 5.编辑i18n.js文件 //引入vue import Vue from "vue"; //引入i18n语言包 import VueI18n /langs"; //在vue中使用i18n Vue.use(VueI18n); //初始化设置默认语言 const i18n = new VueI18n({ locale: "en", messages
default { ya: "你好", website: "落帆亭" } 然后再locale文件夹内新建index.js来开始配置i18n import Vue from 'vue' import VueI18n /langs/zh"; Vue.use(VueI18n); const messages = { en: { ...en }, zh: { ...zh } }; const i18n = new VueI18n({ locale: "zh",//配置默认的语言 messages,//将上面声明的messages信息导入 fallbackLocale: "en"//如果所选择的的语言包内没有该字段
,然后调用 Vue.use(VueI18n)。 import Vue from 'https://unpkg.com/vue@2.6.10/dist/vue.esm.browser.js' Vue.use(VueI18n) new Vue({ // 通过 `i18n` 选项创建 Vue 实例 // 通过选项创建 VueI18n 实例 i18n: new VueI18n({ 其中左侧是 Vue-i18n 提供的一些方法、组件、自定义指令等能力,右侧是 Vue-i18n 对数据的管理 入口文件为 index.js,在 VueI18n 类中的 constructor 中先调用 // 在 Vue 的原型中挂载 $t 方法,这是我们为什么能够直接在模板中使用的原因 // 把 VueI18n 对象实例的方法都注入到 Vue 实例上 Vue.prototype.