vue内i18n国际化移动端引入及使用

实现中英文切换,我使用的版本

"vue": "^3.5.13",

"vue-i18n": "9",

下载i18n依赖

main.ts/js

复制代码
import i18n from './locales' // 引入我们配置好的 i18n
const app = createApp(App)
app.use(i18n) // 使用插件

vue页面使用

复制代码
import { useI18n } from 'vue-i18n'
const { t } = useI18n();
            <span class="text-green-600 font-bold">{{ t('RechargeSuccess') }}</span>
  <van-cell-group>
          <van-field v-model="orderNumber" :label="t('TransactionNumber')" :placeholder="t('PleaseEnterTransactionNumber')" clearable />
          <!-- 日期选择器 -->
          <van-field is-link readonly :label="t('DateRange')" :model-value="dateRangeText" :placeholder="t('PleaseSelectDateRange')"
            @click="showCalendar = true" />
        </van-cell-group>

locales文件夹下的zh-cn.json,没有新建

复制代码
{
  "HomePage": "首页",
  "Language": "语言切换",}

en.json

复制代码
{
  "HomePage": "Home",
  "Language": "Language ",}

locales文件夹下的index.js

复制代码
import { createI18n } from 'vue-i18n'
import { ref } from 'vue'

// 导入语言包
import zhCN from './zh-cn.json'
import enUS from './en.json'

// 支持的语言类型
export type Locale = 'zh-cn' | 'en'

// 创建 i18n 实例
const i18n = createI18n({
  legacy: false, // 必须为 false,使用 Composition API
  locale: localStorage.getItem('locale') || 'zh-cn', // 默认语言
  fallbackLocale: 'zh-cn', // 回退语言
  messages: {
    'zh-cn': zhCN,
    'en': enUS,
  },
})

export default i18n
相关推荐
zihan0321几秒前
element-plus, el-table 表头按照指定字段升降序的功能实现
前端·vue.js·状态模式
三翼鸟数字化技术团队4 分钟前
watchEffect的两种错误用法
前端·javascript·vue.js
局外人LZ7 分钟前
Decimal.js 完全指南:解决前端数值精度痛点的核心方案
开发语言·前端·javascript
飘若随风22 分钟前
JS学习系列-01-什么是JS
开发语言·javascript·学习
摘星编程30 分钟前
OpenHarmony环境下React Native:hitSlop热区扩展配置
javascript·react native·react.js
郑州光合科技余经理1 小时前
同城配送调度系统实战:JAVA微服务
java·开发语言·前端·后端·微服务·中间件·php
css趣多多1 小时前
动态路由,路由重置,常量路由,$ref,表单验证流程
开发语言·javascript·ecmascript
一只小bit1 小时前
Qt 绘图核心教程:从基础绘制到图像操作全解析
前端·c++·qt·gui
浪潮IT馆1 小时前
在 VSCode 中调试 JavaScript 的 Jest 测试用例
javascript·ide·vscode
乾元1 小时前
绕过艺术:使用 GANs 对抗 Web 防火墙(WAF)
前端·网络·人工智能·深度学习·安全·架构