Vue.js nuxt-i18n的延迟加载区域设置
在nuxt-i18n中,必须使用应用程序支持的语言环境指定语言环境属性,如下所示:Vue.js nuxt-i18n的延迟加载区域设置,vue.js,internationalization,nuxt.js,nuxt-i18n,Vue.js,Internationalization,Nuxt.js,Nuxt I18n,在nuxt-i18n中,必须使用应用程序支持的语言环境指定语言环境属性,如下所示: locales: [ { code: 'en', file: 'en-US.js' }, { code: 'es', file: 'es-ES.js' }, { code: 'fr', file: 'fr-FR.js' } ], 这是否可以从api端点获取,然后填充数组 我在本期中也看
locales: [
{
code: 'en',
file: 'en-US.js'
},
{
code: 'es',
file: 'es-ES.js'
},
{
code: 'fr',
file: 'fr-FR.js'
}
],
这是否可以从api端点获取,然后填充数组
我在本期中也看到过类似的情况,但我不知道如何运行该代码,甚至不知道它是否可行。解决方案很简单。Nuxt允许您将异步函数导出为选项,以便我可以获取数据,然后将其分配给i18n对象
export default async () => {
const data = await getCountries()
const locales = []
for (const locale of data) {
locales.push({
code: locale,
file: `${locale}.json`
})
}
return {
build: {
...
},
env: {
...
},
modules: [
'nuxt-i18n',
...
],
i18n: {
locales,
strategy: 'prefix',
detectBrowserLanguage: false,
lazy: true,
defaultLocale: 'es',
langDir: 'translations/'
},
...
}
}