vue3使用vue-i18n(最全攻略踩坑记)

1.安装vue-i18n

"vue-i18n": "^9.2.2",

2.新建locales目录
在这里插入图片描述
3.新建index.js

// 导入你的本地化消息文件
import { createI18n } from "vue-i18n";
import enMessages from "./en.json";
import zhCNMessages from "./zh-CN.json";
import thTHMessages from "./th_TH.json";

// 创建 i18n 实例
const i18n = createI18n({
    locale: "zh-CN", // 设置默认语言
    fallbackLocale: "en", // 当没有指定语言时的回退语言
    messages: {
      en: enMessages,
      "zh-CN": zhCNMessages,
      "th-TH": thTHMessages,
    },
    legacy: false,
  });
  export { i18n }

en.json

{
  "累计发电量": "Accumulated power generation",
 }

4.main.js

import { i18n } from '@/locales/index.js';
app.use(store).use(router).use(i18n).mount("#app");

5.template里面使用

<div
      class="big-title"
      style="margin-top: 8px"
      v-if="state.notRecommendList.length > 0"
    >
      {{ $t(" 常见问题") }}
    </div>

6.js里面使用

import { i18n } from '@/locales/index.js';
  data: [
          { value: 1048, name: i18n.global.t("上网电量") },
          { value: 735, name: i18n.global.t("自发自用电量") },
        ],

7.切换语言

  if (store.state.language == "zh") {
    proxy.$i18n.locale = "zh-CN";
  } else if (store.state.language == "th") {
    proxy.$i18n.locale = "th-TH";
  } else if (store.state.language == "en") {
    proxy.$i18n.locale = "en";
  }

8.echarts图表使用注意点(不要直接在option里面写死要在设置的时候再设置)直接在option里面先写死没用
在这里插入图片描述

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/51ad3fd153ed4fe5b47c64e3614aa0c1.png
在这里插入图片描述

 	state.optionC.xAxis[0].data = timeList; // X轴数据
      state.optionC.series[0].data = dataA; // 节省电费
      state.optionC.series[1].data = dataB; // 上网收益
      state.optionC.yAxis[0].name = i18n.global.t("元"); // Y轴单位
      state.optionC.series[0].name = i18n.global.t("节省电费"); // 图例
      state.optionC.series[1].name = i18n.global.t("上网收益"); // 图例

效果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值