vue项目在js文件中使用i18n

不能直接使用以下方式:

import { useI18n } from "vue-i18n";
const { t } = useI18n();

因为 useI18n 只能在 .vue 中使用。

不过可以通过封装 utils/i18n.js 内容如下:

import { createI18n } from "vue-i18n";

import cn from "@/locales/cn.json";
import en from "@/locales/en.json";
import tw from "@/locales/tw.json";

const i18n = createI18n({
  legacy: false, // 要使用组合式 API,您必须将其设置为 false
  locale: "cn",
  fallbackLocale: "en",
  messages: {
    en,
    cn,
    tw,
  },
});

export default i18n;

在main.ts中加载

import i18n from "@/utils/i18n";

const app = createApp(App);
app.use(i18n);

然后就可以在其他js文件中使用多语言处理了

// 多语言
import i18n from "@/utils/i18n";
const { t } = i18n.global
PS:写作不易,如要转裁,请标明转载出处。
%{ comment.page.total }条评论

微信小程序:前端开发宝典

相关笔记
工具操作
  • 内容截图
  • 全屏
登录
注册
回顶部