Vue I18n 配置
Vue I18n 配置
虽然某些选项在 Nuxt I18n 和 Vue I18n 之间是共享的,但还有一些选项是特定于 Vue I18n 的,例如:
fallbackWarn
: 控制回退警告。missingWarn
: 控制缺失本地化警告。formatter
: 提供自定义消息格式化函数。numberFormats
: 配置自定义数字格式。datetimeFormats
: 配置自定义日期时间格式。- ... 更多!
这些只是 Vue I18n 中可用运行时选项的一些示例,请查看 Vue I18n 的文档 以探索可用选项的完整范围。
Vue I18n 特定选项不能在 nuxt.config
中配置,并且与 Nuxt I18n 使用或提供的功能没有重叠。
添加 Vue I18n 配置文件
要配置选项,可以在 <rootDir>/i18n
目录中创建一个 i18n.config.ts
文件,该文件应具有一个默认导出,返回 Vue I18n 选项的函数。
Nuxt I18n 提供了一个宏函数 defineI18nConfig
来改善类型,但一个普通的函数也足够:
export default defineI18nConfig(() => {
return {
// vue-i18n 选项
}
})
配置文件从 <rootDir>/i18n
解析,并自动查找并加载以默认文件名 i18n.config
的配置文件。可以使用 vueI18n
选项进行配置。
何时使用
当需要配置涉及不能序列化为构建时处理的运行时函数或数据的 Vue I18n 选项时,请使用 i18n.config.ts
。通常在以下情况下需要这样做:
- 需要根据用户输入或外部 API 动态加载或操控本地化数据。
- 使用自定义格式化函数或其他不可序列化的选项。
- 需要使用 Nuxt I18n 的构建时配置不支持的 Vue I18n 选项。
Nuxt 配置的好处
虽然可以配置相同的(或功能上相同的)选项在 nuxt.config.ts
中(例如 messages
- 代替 locales
, defaultLocale
等),但建议尽量将 Nuxt I18n 支持的配置保留在 nuxt.config
内的 i18n
关键字上。
Nuxt I18n 会在构建步骤中使用这些选项,并通过与其他库(如 @intlify/unplugin-vue-i18n
)集成来配置和优化功能。
Vue I18n 配置文件将在每个请求的运行时加载,这可能会增加服务器响应时间,特别是在高流量应用程序中。这是因为服务器需要为每个传入请求解析和处理配置,并将其与 Nuxt I18n 设置的配置合并,而不是在构建时一次性完成。