Решение было простым. Nuxt позволяет экспортировать функцию asyn c в качестве параметров, чтобы я мог получить данные и затем назначить их объекту i18n.
https://nuxtjs.org/guide/configuration/#asynchronous -конфигурация
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/'
},
...
}
}