vite + vue3中使用vue-i18n国际化插件

1. 安装
npm install vue-i18n@9
2. 配置
2.1 src下新建lang文件夹,lang文件下创建对应语言文件
如:en.ts
export default {
  common: {
    input_placeholder: 'Please Input',
    select_placeholder: 'Please Select',
    search: 'Search',
    reset: 'Reset',
    edit: 'Edit',
    delete: 'Delete',
    delete_tip: 'Are you sure to delete this?',
    confirm: 'Confirm',
    cancel: 'Cancel'
  }
}
zh.ts
export default {
  common: {
    input_placeholder: '请输入',
    select_placeholder: '请选择',
    search: '查询',
    reset: '重置',
    edit: '编辑',
    delete: '删除',
    delete_tip: '确认删除?',
    confirm: '确定',
    cancel: '取消'
  },
}
创建index.ts,这里使用pinia管理全局lang语言
import { createI18n } from 'vue-i18n';
import { createPinia } from 'pinia';
import en from './en'
import zh from './zh';
import SettingsStore from '@/store/settings';

const settings = SettingsStore(createPinia())
export const i18n = createI18n({
  locale: settings.lang,
  // fallbackLocale: 'en',
  legacy: false, // Composition API 模式
  globalInjection: true, // 全局注册 $t方法
  messages: {
    en: en,
    zh: zh
  }
})
2.2 main.ts中注册i18n
import { i18n } from '@/i18n';

app..use(i18n).mount('#app')
3 .vue对应的页面中使用
<a-button type="text" danger>{{$t('common.delete')}}</a-button>
4 .ts对应的文件中使用
import {  i18n } from '@/i18n'
const { t } = i18n.global

export const nav = [
  {
    title: t('nav.shop.shop_management'),
    icon: 'power',
    children: [
      {
        title: t('nav.shop.account_list'),
        path: 'account-list'
      },
    ]
  },
]
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值