SuperAPI AI 工具集

vue-i18n-skilld

前端与建站

查看项目

更新于 10-15 19:48

技能介绍

用途:vue-i18n 是 Vue.js 的国际化插件,当前版本 11.4.12,仅支持 Vue 3(peer 依赖 vue ^3.0.0),不支持 Vue 2(Vue 2 需用 v8)。Node 引擎要求 >= 22。Nuxt 3 应改用 @nuxtjs/i18n,而非直接安装本包。

主要能力:提供 createI18n 创建实例、useI18n 在组件内取用 t/locale/d/n 等;支持插值 {name}、复数(管道分隔形式,如 'no apples | one apple | {count} apples')、日期与数字格式化(d、n,可配 datetimeFormats/numberFormats)、组件插值(<i18n-t>)、locale 切换与懒加载(setLocaleMessage/mergeLocaleMessage)。

使用方式:默认使用 Composition API 模式,createI18n 需传 legacy: false,并在 setup 顶层调用 useI18n(),否则报错。app.use(i18n) 会注入 $t/$d/$n/$rt 全局属性(globalInjection 默认 true),并全局注册 i18n-t、i18n-d、i18n-n(globalInstall 默认 true)。

限制与注意:Legacy API 模式(legacy: true,默认)在 v11 弃用、v12 移除;v-t 指令 v11 弃用、v12 移除;tc/$tc 已在 v11 移除,复数改用 t/$t 的 plural 选项;v8 的 % 取模插值在 v10 移除。消息默认运行时 JIT 编译,严格 CSP 环境建议用 @intlify/unplugin-vue-i18n 预编译。切勿将用户输入未经 escapeParameter: true 就插入 v-html 渲染的消息。useI18n({ messages }) 会创建局部作用域,未设 useScope: 'global' 时不会与全局消息合并。模板中 $t 需 globalInjection: true。不要从 vue-i18n/dist/* 等深层路径导入。官方文档:https://vue-i18n.intlify.dev/