当前位置:   article > 正文

vue3+vite中使用国际化,vue-i18n插件实现_vue3vite 国际化

vue3vite 国际化

一、安装

npm install vue-i18n

二、在src文件夹下新建locales文件夹,里面新建三个文件,分别是英文词条文件en.ts,中文词条zh.ts,主文件index.ts,分别如下

en.ts

 zh.ts

 index.ts

  1. import zh from "./zh";
  2. import en from "./en";
  3. export default {
  4. zh,
  5. en,
  6. };

三、在src同级新建i18n.ts

  1. import { createI18n } from "vue-i18n";
  2. import { getLocale } from "@/utils/init"; // 这个方案是获取当前浏览器的语言环境,代码见下面
  3. import messages from "@/locales";
  4. const i18n = createI18n({
  5. legacy: false,
  6. locale: getLocale(),
  7. fallbackLocale: "zh",
  8. messages,
  9. });
  10. export default i18n;
  1. export function getLocale() {
  2. const language = navigator.language;
  3. if (language.includes("zh")) {
  4. return "zh";
  5. }
  6. return "en";
  7. }

四、在main.ts中引入使用

  1. import { createApp } from "vue";
  2. import { createPinia } from "pinia";
  3. import vant from "vant";
  4. import "vant/lib/index.css";
  5. import svgIcon from "@/icons/index.vue";
  6. import "@/assets/styles/main.scss";
  7. import { initAPlus } from "@/utils/aplus";
  8. import "@/assets/iconpark.js";
  9. import App from "./App.vue";
  10. import router from "./router";
  11. import i18n from "./i18n";
  12. if (import.meta.env.MODE !== "production") {
  13. import("vconsole").then(({ default: VConsole }) => {
  14. new VConsole();
  15. });
  16. }
  17. function main() {
  18. const pinia = createPinia();
  19. const app = createApp(App);
  20. app.component("svg-icon", svgIcon);
  21. app.use(vant).use(router).use(i18n).use(pinia).mount("#app");
  22. initAPlus();
  23. }
  24. main();

五、在页面中使用

  1. <script setup lang="ts">
  2. import { useI18n } from "vue-i18n";
  3. const { t, locale } = useI18n();
  4. const zlLengedTxtOne = ref([t("overview.vehicleAudit"), t("overview.target")]);
  5. </script>
  6. // 在template中使用
  7. <template>
  8. <div class="lt-title samll-grey-text">
  9. {{ $t("overview.overallDelivery") }}
  10. </div>
  11. </template>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/544827
推荐阅读
相关标签
  

闽ICP备14008679号