首页 > 其他分享 >Vite + Vue3导入 vue-i18n 插件

Vite + Vue3导入 vue-i18n 插件

时间:2022-12-21 17:46:58浏览次数:53  
标签:插件 vue zh js Step Vue3 i18n import

使用 Vite + Vue3导入 vue-i18n 插件

Step 1 下载 vue-i18n 插件

npm install vue-i18n

Step 2 新建 local 文件夹,创建 index.js

index.js

import { createI18n } from "vue-i18n";

// 导入你自己创建的语言 js 文件
import zhHant from "./zh-Hant";
import zhHans from "./zh-Hans";
import en from "./en";

// 创建 i18n 对象
const i18n = createI18n({
  legacy: false,
  globalInjection: true, // 全局模式,可以直接使用 $t
  locale: localStorage.getItem("lang") || "zh-TW",
  messages: {
    "zh-TW": zhHant,
    "zh-CN": zhHans,
    en,
  },
});

export default i18n;
语言文件示例:

en.js

export default {

  menus: {
    header: {
      home: "Home"
    },
    footer: {
      copyright: "copyright: MosterSeven.",
    },
  },
  page: {
    text: {
      info: "Hello World !",
    },
  },
  
};

Step 3 在 main.js 里挂载 vue-i18n

main.js

import { createApp } from "vue";

import App from "./App.vue";

// 导入刚刚创建的 index.js 文件
import i18n from "./locales/index";



const app = createApp(App);

app.config.globalProperties.$i18n = i18n;
app.use(i18n).mount("#app");

export default app;

Step 4 修改 vite.config.js

// https://vitejs.dev/config/
export default defineConfig({
  resolve: {
    alias:{
	     "vue-i18n": "vue-i18n/dist/vue-i18n.cjs.js",
    }
  },

Step 5 使用

  • template 里使用
<template>
	<div> {{ $t("menus.header.home") }} </div>
</template>

使用效果如下:

<div>Home</div>
  • js / ts 里使用
import i18n from './locales' 

console.log(i18n.global.t('menus.home'))

标签:插件,vue,zh,js,Step,Vue3,i18n,import
From: https://www.cnblogs.com/MosterSeven/p/16996750.html

相关文章