策略
nuxt/i18n 策略。
有四种支持的策略,这些策略影响 应用的路由 生成方式:
no_prefix
使用此策略,您的路由将不会添加语言环境前缀。语言环境将被检测并更改,而不改变 URL。这意味着您必须依赖浏览器和 cookie 检测,并通过调用 i18n API 实现语言环境切换。
prefix_except_default
使用此策略,除默认语言外,所有路由都将添加语言环境前缀。
prefix
使用此策略,所有路由将具有语言环境前缀。
prefix_and_default
此策略结合了前两种策略的行为,这意味着您会获得每种语言的带前缀 URL,但默认语言的 URL 也将有一个不带前缀的版本(尽管启用 detectBrowserLanguage
时将优先使用带前缀的版本)。
配置
要配置策略,请使用 strategy
选项。
确保定义了 defaultLocale
,尤其是在使用 prefix_except_default
、prefix_and_default
或 no_prefix
策略时。对于其他策略,建议也设置,因为它将在尝试从 404 页面重定向时作为后备。
nuxt.config.js
i18n: {
strategy: 'prefix_except_default',
defaultLocale: 'en'
}
如果
Nuxt
版本低于 2.10.2,并且使用策略 prefix_except_default
或 prefix_and_default
,请确保与 defaultLocale
相匹配的语言环境在语言环境数组的最后。例如:nuxt.config.js
i18n: {
strategy: 'prefix_except_default',
defaultLocale: 'en',
locales: [
'fr',
'en', // 确保默认语言环境是最后一个!
]
}