我正在尝试使用nuxt-i18n来获取我的应用程序的国际化版本,以下是nuxt-i18n的配置,它可以正常工作,但是当我要使用策略时:'no_prefix'它会给出错误信息...不确定该怎么办,请提出建议。
i18n: {
//strategy: 'no_prefix',
defaultLocale: 'en',
locales: [
{
code: 'en',
name: 'English',
iso: 'en-US',
file: 'english.js'
},
{
code: 'hi',
name: 'Hindi',
file: 'hindi.js'
}
],
lazy: true,
langDir: 'static/locales/'
},
https://nuxt-community.github.io/nuxt-i18n/routing.html#strategy
WARN [nuxt-i18n]将非当前语言环境传递给switchLocalePath是使用no_prefix策略时不受支持19:39:39
WARN [nuxt-i18n]将非当前语言环境传递给localePath是使用no_prefix策略时不受支持19:39:39
如果使用no_prefix
策略,则无法使用模块提供的path
功能。例如,使用switchLocalePath
时不支持那些2 localePath
和no_prefix
。正如文档所说:
This implies that you have to rely on browser & cookie detection, and implement locale switches by calling the i18n API.
因此,您应该使用模块提供的API来更改语言环境。我的项目中的一个示例是,当用户想要更改语言环境时,我添加了一个处理程序并通过调用此方法来更改语言环境:
this.$i18n.setLocale('en')
或
[root.$i18n.setLocale(langCode)
(如果使用composition-api)