Estoy tratando de cargar archivos de configuración regional según el código de configuración regional proporcionado por Next.js. Pero cada vez que intento hacer una importación dinámica, ocurre un error y la ruta de importación es incorrecta:
Unable to load translation file "index": Error: Cannot find module './index.en.json'Código para importar:
try { Object.assign(messages, await import(`@/locales/${name}.${locale}.json`)) } catch(err) { console.log(`Unable to load translation file "${name}": ${err}`) error = err }tsconfig.json:
"baseUrl": ".", "paths": { "@/locales/*": ["locales/*"] }next.config.js con la configuración del paquete web:
module.exports = { reactStrictMode: true, i18n: { locales: ['en', 'de'], defaultLocale: 'en', }, webpack: (config) => { config.resolve.alias[`@/locales`] = path.resolve(__dirname, "locales") return config } }EDITAR:
Bien, encontré mi error, el archivo se llamaba index.de.json en lugar de index.en.json . Pero aún quiero saber por qué el mensaje de error muestra una ruta incorrecta.
Puedes probar de esta manera. Si no funciona, compruebe que la ruta @/locales/ se configuró correctamente.
Ejemplo:
import(`@/locales/${name}.${locale}.json`).then((json) => { console.log(json) Object.assign(messages, json) }).catch((err) => { console.log(`Unable to load translation file "${name}": ${err}`) error = err });