Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

432
Vistas
¿Cómo generar rutas dinámicas para configuraciones regionales no predeterminadas en Next.js?

Estoy creando una aplicación Next.js con internacionalización usando next-i18next. Se generan páginas para todas las páginas de mi sitio tanto en inglés como en francés, excepto las páginas con rutas dinámicas: (es decir, blog/[id]/[blog-title] ). Para páginas con rutas dinámicas, las páginas se generan para inglés, pero no para francés.

Debo señalar que las entradas del blog son las mismas en ambos idiomas. Entonces, si el usuario hace clic en una entrada de blog en la lista, obtendrá la misma entrada de blog.

Cuando un usuario de idioma francés va a una página con una ruta dinámica, obtiene un 404. Soy nuevo en React y Next, así que podría estar haciendo algo tonto aquí.

 // next-i18next.config.js module.exports = { i18n: { locales: ['en', 'fr'], defaultLocale: 'en', localeDetection: true, }, }
 // // blog\[id]\[title] // export async function getStaticPaths() { const response = await axios.get('https://api.myappi.com/blog') const posts = response.data const paths = posts.map((post: Props) => ({ params: { id: post.Id, title: post.Title }, })) return { paths, fallback: false } } export async function getStaticProps(props: IStaticProps) { const { id, locale } = props.params const response = await axios.get(`https://api.myappi.com/blog/${id}`) const post = await response.data if (!post) { return { notFound: true, } } return { props: { Id: post.Id, Title: post.Title, Blog: post.Blog, DatePosted: post.DatePosted, PostedBy: post.PostedBy, ...(await serverSideTranslations(props.locale, ['common', 'blog'])) } } }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Para las rutas dinámicas, debe devolver explícitamente las configuraciones regionales que desea que se generen previamente desde la función getStaticPaths . Si no lo hace, Next.js solo generará páginas para la configuración regional predeterminada.

De la documentación de enrutamiento internacionalizado :

Para las páginas que usan getStaticProps con rutas dinámicas, todas las variantes de configuración regional de la página que se desea preprocesar deben devolverse desde getStaticPaths . Junto con el objeto params devuelto para las paths , también puede devolver un campo de locale regional que especifique qué configuración regional desea representar.

Esto se puede lograr modificando su función getStaticPaths para generar una ruta para cada combinación de slug/locale.

 export async function getStaticPaths({ locales }) { // Get available locales from `context` const response = await axios.get('https://api.myappi.com/blog') const posts = response.data const paths = posts .map((post: Props) => locales.map((locale) => ({ params: { id: post.Id, title: post.Title }, locale // Pass locale here }))) .flat() // Flatten array to avoid nested arrays return { paths, fallback: false } }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda