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