Skip to content

国际化

项目基于 vue-i18n 实现多语言,语言包位于 src/lang/package/,中文 zh-cn.json、英文 en.json

语言包结构

语言包按命名空间组织,route 存菜单标题、navbar 存导航栏、login 存登录页:

json
{
  "route": {
    "dashboard": "首页",
    "document": "项目文档"
  },
  "navbar": {
    "dashboard": "首页",
    "logout": "退出登录"
  }
}

route 下的 key 与后台菜单的「菜单名称」对应,菜单显示时自动读取当前语言的翻译。

在页面中使用

模板中通过 $t 调用:

vue
<template>
  <h1>{{ $t('navbar.logout') }}</h1>
</template>

脚本中通过 useI18n

typescript
import { useI18n } from 'vue-i18n'

const { t } = useI18n()
const msg = t('navbar.logout')

切换语言

语言切换已集成在布局导航栏,无需手动调用。如需在脚本中切换:

typescript
import { useI18n } from 'vue-i18n'

const { locale } = useI18n()
locale.value = 'en'   // 切换为英文
locale.value = 'zh-cn' // 切换为中文

菜单标题国际化

菜单名称填写为语言包 key(如 document),系统自动读取 src/lang/package/ 下对应语言的翻译。详见新增菜单

基于 MIT 许可发布 · 如需部署协助或二开定制,请查看 支持与合作