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
相关推荐
拉里呱唧2 小时前
一个像在使用PPT的在线 HTML 编辑器:HeyHTML
javascript·交互·html5
We་ct2 小时前
LeetCode 97. 交错字符串:动态规划详解
前端·算法·leetcode·typescript·动态规划
Chengbei112 小时前
轻量化 Web 安全日志分析神器 星川智盾日志威胁检测、地理溯源、MITRE ATT&CK 映射,支持 Windows/macOS/Linux
前端·人工智能·安全·web安全·macos·系统安全·安全架构
风流 少年2 小时前
Python Web框架:FastAPI
前端·python·fastapi
GISer_Jing2 小时前
AI时代面试新常态——从“会用工具”到“深挖原理”的跨越
前端·人工智能·ai编程
IT_陈寒2 小时前
React的useEffect把我坑惨了,这些闭包陷阱真要命
前端·人工智能·后端
前端之虎陈随易2 小时前
有生之年系列,Nodejs进程管理pm2 v7.0发布
前端·typescript·npm·node.js
ayqy贾杰3 小时前
Cursor SDK发布!开发者可直接搬走其内核
前端·vue.js·面试
changshuaihua0013 小时前
扣子开发指南
javascript·人工智能
椰猫子3 小时前
SpringMVC(SpringMVC简介、请求与响应(请求映射路径、请求参数、日期类型参数传递、响应json数据))
java·前端·数据库