vue3使用i18n实现国际化

  1. 安装vue-i18n
npm install vue-i18n
  1. 创建一个ts文件用于存储各种翻译
    image.png

    globalLang.ts的内容如下:
export default {
    "cn": {
    },
    "en": {
    },
    "de": {
    },
    "es": {
    },
    "fr": {
    },
    "id": {
    },
    "it": {
    },
    "jp": {
    },
    "kr": {
    },
    "pt": {
    },
    "tw": {
    }
};
  1. 在main.ts中全局引入
import App from "./App.vue"
import { createApp } from "vue"
import { createI18n } from "vue-i18n"
import globalLang from "./lang/globalLang"
const lang = new URLSearchParams(location.search.substr(1)).get("lang") || "zh"
const app = createApp(App)
const i18n = createI18n({
   legacy: false,
   locale: lang,
   fallbakLocale: "en",
   silentTranslationWarn: true,
   messages: globalLang,
   fallbackWarn: false,
   missingWarn: false
})
app.use(i18n).mount("#app")
  1. 使用方式
  • < template >中可以直接使用, 翻译文件在globalLang中
<template>
     <span>{{ $t("toLogin") }}</span>
</template>
  • < template >中可以直接使用, 翻译再vue中
<template>
     <span>{{ t("toLogin") }}</span>
</template>
<i18n>
{
    "zh": {
        “toLogin”: "去登录"
    },
    "en": {
        “toLogin”: "login"
    }
}
</i18n>
  • 在vue的script文件中
import { useI18n} from 'vue-i18n';
const { t } = useI18n();
const toLogin = () => {
  console.log(t("toLogin"));
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容