当前位置: 首页 > wzjs >正文

做做网站2023襄阳教育网站建设

做做网站2023,襄阳教育网站建设,中铁三局招聘信息2023,wordpress素材库无法显示重生之我在学Vue–第14天 Vue 3 国际化(i18n)实战指南 文章目录 重生之我在学Vue--第14天 Vue 3 国际化(i18n)实战指南前言一、Vue I18n 核心配置1.1 基础环境搭建1.2 初始化配置1.3 全局挂载 二、多语言实现方案2.1 基础使用2.2 动态切换语言2.3 高级功能实现复数处理日期/货币…

重生之我在学Vue–第14天 Vue 3 国际化(i18n)实战指南

文章目录

  • 重生之我在学Vue--第14天 Vue 3 国际化(i18n)实战指南
    • 前言
    • 一、Vue I18n 核心配置
      • 1.1 基础环境搭建
      • 1.2 初始化配置
      • 1.3 全局挂载
    • 二、多语言实现方案
      • 2.1 基础使用
      • 2.2 动态切换语言
      • 2.3 高级功能实现
        • 复数处理
        • 日期/货币本地化
    • 三、工程化实践
      • 3.1 语言包模块化
      • 3.2 异步加载语言包
      • 3.3 与Pinia整合
    • 四、最佳实践
      • 4.1 翻译规范
      • 4.2 与UI框架整合
      • 4.3 检测未翻译项

前言

“真正的国际化不是简单的文字翻译,而是文化适配的艺术。” —— 全球化开发准则

经过14天的锤炼,我们的任务管理系统已具备工业级水准。今天将解锁多语言支持能力,让应用走向国际化舞台。

Vue3 官方中文文档传送点: 国际化指南

Vue3 官方中文文档传送点: 简介 | Vue.js

Vue3 的中文官方文档学习笔记很全还有练习场,推荐去官网学习

Vue前端成仙之路:Vue 前端成仙之路_野生的程序媛的博客-CSDN博客

GO后端成神之路:Go 后端成神之路_野生的程序媛的博客-CSDN博客

一、Vue I18n 核心配置

1.1 基础环境搭建

npm install vue-i18n@9

1.2 初始化配置

// src/plugins/i18n.ts
import { createI18n } from 'vue-i18n'// 基础语言包
const messages = {en: {task: {title: 'Task Manager',add: 'Add Task',delete: 'Delete'}},zh: {task: {title: '任务管理系统',add: '添加任务',delete: '删除'}}
}const i18n = createI18n({legacy: false,locale: 'zh',fallbackLocale: 'en',messages
})export default i18n

1.3 全局挂载

// main.ts
import i18n from './plugins/i18n'app.use(i18n)

二、多语言实现方案

2.1 基础使用

<template><h1>{{ $t('task.title') }}</h1><button>{{ $t('task.add') }}</button>
</template><script setup>
import { useI18n } from 'vue-i18n'const { t } = useI18n()
console.log(t('task.delete')) 
</script>

2.2 动态切换语言

<template><select v-model="locale"><option value="en">English</option><option value="zh">中文</option></select>
</template><script setup>
import { useI18n } from 'vue-i18n'const { locale } = useI18n()
</script>

2.3 高级功能实现

复数处理
{"task": {"count": "{count} task | {count} tasks"}
}
<p>{{ $tc('task.count', taskCount) }}</p>
日期/货币本地化
const { d, n } = useI18n()
const localDate = d(new Date(), 'long')
const localPrice = n(99.99, 'currency')

三、工程化实践

3.1 语言包模块化

src/
└─ locales/├─ en/│  ├─ common.json│  └─ task.json└─ zh/├─ common.json└─ task.json

3.2 异步加载语言包

// 动态加载语言包
async function loadLocaleMessages(locale: string) {const messages = await import(`./locales/${locale}/index.ts`)i18n.global.setLocaleMessage(locale, messages.default)
}// 切换语言时调用
const setLanguage = async (lang: string) => {if (!i18n.global.availableLocales.includes(lang)) {await loadLocaleMessages(lang)}i18n.global.locale.value = lang
}

3.3 与Pinia整合

// stores/languageStore.ts
export const useLanguageStore = defineStore('language', {state: () => ({currentLang: 'zh'}),actions: {async switchLang(lang: string) {await setLanguage(lang)this.currentLang = lang}}
})

四、最佳实践

4.1 翻译规范

场景正确示例错误示例
变量插值{name}的任务name的任务
标点符号你好!你好!
长文本使用多行JSON格式拼接字符串

4.2 与UI框架整合

Element Plus国际化配置:

import ElementPlus from 'element-plus'
import zhLocale from 'element-plus/lib/locale/lang/zh-cn'
import enLocale from 'element-plus/lib/locale/lang/en'const i18n = createI18n({// ...messages: {zh: { ...zhLocale, ...zhMessages },en: { ...enLocale, ...enMessages }}
})app.use(ElementPlus, {i18n: i18n.global.t
})

4.3 检测未翻译项

配置警告提示:

const i18n = createI18n({// ...missingWarn: false,fallbackWarn: false,warnHtmlMessage: false
})

文章转载自:

http://lyJiZ7JX.brLcj.cn
http://i5KiJbKG.brLcj.cn
http://amSInekm.brLcj.cn
http://ho8G4pnK.brLcj.cn
http://TpzyvkfD.brLcj.cn
http://K0nmTWBu.brLcj.cn
http://VQ1defP6.brLcj.cn
http://FjtPVfz6.brLcj.cn
http://CpWvIfUp.brLcj.cn
http://Byfg5QGz.brLcj.cn
http://7FU2jWhk.brLcj.cn
http://2wlRZbtw.brLcj.cn
http://1OagVTdo.brLcj.cn
http://j0h3Aiyf.brLcj.cn
http://EqwwAxni.brLcj.cn
http://sToyXG8T.brLcj.cn
http://A7x4qBAv.brLcj.cn
http://WNVroF68.brLcj.cn
http://TBeNEQZq.brLcj.cn
http://jsbwD5T4.brLcj.cn
http://Zpug0IYF.brLcj.cn
http://qRg3Yw0X.brLcj.cn
http://tN90KPPa.brLcj.cn
http://XYhXYP8n.brLcj.cn
http://m9CQhknb.brLcj.cn
http://It1pmp9d.brLcj.cn
http://TUvieK5w.brLcj.cn
http://gnIMRWA6.brLcj.cn
http://kYtdqRq8.brLcj.cn
http://gpQxzS47.brLcj.cn
http://www.dtcms.com/wzjs/618780.html

相关文章:

  • 汕头网站建设网站推广做网站IP
  • wordpress 友情链接页优化seo可以从以下几个方面进行
  • 甜点网站要怎么做网站开发与管理共多少页
  • 网站行业关键词校园网的典型网络拓扑结构
  • 紫金公司网站制作it行业软件开发
  • 网络科技公司经营范围南京网站优化
  • 阿里巴巴国际站开店流程及费用海北州公司网站建设
  • 做阿里巴巴跟网站哪个更好360建筑网一级消防工程师
  • 做包装设计的网站有哪些青岛市平台公司
  • 网站备案背景幕布是什么搭建一个app需要什么
  • 公司网站名词解释属于公司的网站怎么做
  • 广西人才网官方网站精准营销的三要素
  • 如何通过网站标题找网站网站建设成本计划书
  • 中国有哪些网站淄博一推网络科技有限公司
  • 设计网站意味着什么百度指数怎么看排名
  • 网站备案表格专业建站公司报价
  • 做网站先做ue线上会议软件有哪些
  • 网站建设可行性方案学校网站建设的成果
  • 哪个网站可以做计算机二级的题wordpress自豪的采用
  • 台州公司网站建设杭州市建设信用网
  • 跟京东类似的网站泰安集团网站建设价格
  • 织梦做网站也是模板吗免费素材库视频网
  • 行业门户网站营销案例网站开发电子商务
  • 班级网站模板素材广告设计公司标语
  • 中山网站建设制作 超凡科技央企网站建设
  • 楼盘 东莞网站建设wordpress音乐主题推荐
  • 电子商务网站关键技术推广策划
  • 各类电子商务网站建设网址大全实用网址
  • wordpress网站缩做网站还需要买空间吗
  • 免费发布产品信息的网站河北网站建设推广