首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nuxt-i18n的延迟加载区域设置

nuxt-i18n的延迟加载区域设置
EN

Stack Overflow用户
提问于 2020-02-17 19:47:47
回答 1查看 1.8K关注 0票数 0

在nuxt-i18n中,您必须使用您的应用程序将支持的区域设置指定locales属性,如下所示:

代码语言:javascript
复制
  locales: [
    {
      code: 'en',
      file: 'en-US.js'
    },
    {
      code: 'es',
      file: 'es-ES.js'
    },
    {
      code: 'fr',
      file: 'fr-FR.js'
    }
  ],

这是否可以从api端点获取,然后填充数组?

我在这个问题https://github.com/nuxt-community/nuxt-i18n/issues/256#issuecomment-505344965中看到了类似的东西,但我不知道如何运行代码,甚至不知道它是可能的。

EN

回答 1

Stack Overflow用户

发布于 2020-02-17 21:04:21

解决方案很简单。Nuxt允许您将异步函数导出为选项,这样我就可以获取数据,然后将其分配给i18n对象。

https://nuxtjs.org/guide/configuration/#asynchronous-configuration

代码语言:javascript
复制
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/'
      },
      ...
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60261772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档