Links a las documentaciones:
Introducción
Qué es internacionalización y localización
Arquitectura
Arquitectura de internacionalización para contenido en JavaScript
Agregando locales a nuestro contenido y Rutas Internacionalizadas
Rutas i18n
Rutas internacionalizadas y páginas no-dinámicas (Home)
Rutas Internacionalizadas en páginas dinámicas con getStaticPath()
Experiencia de usuario
Detección de idioma automática y next/link
Elección de idioma para el usuario a través de API Next.js
Arquitectura React
Arquitectura de internacionalización para labels en JavaScript
Arquitectura de internacionalización para componentes en React
Nuestra aplicación completamente traducida
Próximos pasos
Retos y trade-offs
Continúa con el Curso de Next.js: Grandes Datasets
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Aportes 5
Preguntas 1
Links a las documentaciones:
Tutorial - Internationalization of React apps - LinguiJS documentation
https://github.com/lukeed/rosetta
“Analicemos la forma simple”
// allLabels.json
{
"es":{
"buy": "Comprar",
"accept": "Aceptar",
...
},
"en-US":{
"buy": "Buy",
"accept": "Accept",
...
},
...
}
Para implementar esta solución mediante JavaScript se realizaría de la siguiente manera:
import allLabels from "locales/labels.json";
function getServerSideProps(){ ... }
function MyComponent ({locale}){
const labels = allLabels[locale];
return (
<Button>{labels.comprar}</Button>
)
}
Dividiendo por componentes
// locales/es/checkout.json
{
"buy": "Comprar",
"addToCart": "Agregar al carro",
"contactUs": "¿Interesado/a?"
}
// locales/es/about.json
{
"about": "Nosotros",
"phone": "Teléfono",
"contactUs": "Conócenos"
}
import useTranslations from "useTranslations"
function getServerSideProps(){}
function MyComponent(){
const labels = useTranslations()
return (
<Button>{labels("comprar")}</Button>
)
}
function useTranslations(){
const ctx = useContext(LocaleContext);
const locale = ctx.getCurrentLocale();
const labels = ctx.labels.get(locale);
return labels;
}
Increíble esta manera de enseñar mostrándonos como piensa y como soluciona un problema.
next-i18next <-- Checken ese Repo. Facilita todo lo visto en esta clase!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?