Nuxt i18n 模块支持层,并将自动合并所有扩展层的 i18n 配置。在这里阅读有关层的更多信息
如 Nuxt 层创建指南 中所述:
_layers
数组中的较早项具有更高的优先级,并覆盖后续项- 用户的项目是
_layers
数组中的第一个项目
混合区域配置,例如懒加载对象和字符串,可能无法按预期工作,Nuxt i18n 将尽力合并层。层之间 i18n 配置的一致性将最为有效。
扩展层中的 pages
目录下的页面将自动合并,并支持 i18n,就像它们是您项目的一部分一样。
在每个层配置中定义的 i18n.pages
的页面路由也将合并。
扩展设置有 Nuxt i18n 模块的层的项目无需额外设置,如下例所示:
export default defineNuxtConfig({
extends: ['my-layer']
})
该项目能够使用 i18n 功能,所配置的语言环境将由扩展层提供并加载。
项目提供的语言环境将与扩展层提供的语言环境合并,方法如下:
export default defineNuxtConfig({
extends: ['my-layer'],
i18n: {
locales: [{ code: 'en', file: 'en.json' }]
}
})
lazy
是继承的,而 locales
等选项需要为每个层(包括项目)设置提供语言文件。此示例将导致项目支持两个语言环境('en'
, 'nl'
),并将添加针对 'en'
语言环境的附加消息。
{
"title": "foo"
}
上述内容将导致以下结果
{
// 较早的层具有优先权
"title": "foo",
"description": "bar"
}
层内 VueI18n 配置文件中定义的选项将根据层的优先级进行合并并相互覆盖。