I18n fue la Pieza que Faltaba: Permite que más del 70% de los Usuarios en el Mundo Accedan a tus Aplicaciones

Rate this content
Bookmark

La accesibilidad, una mejor DX y el rendimiento reciben mucha atención ya que mejoran significativamente la UX. Además, brinda satisfacción a los desarrolladores al ver las mejoras significativas. Pero, ¿qué hay de la internacionalización? Un dato curioso: más del 70% de los usuarios en el mundo acceden a contenido no inglés. En esta charla, te mostraré más datos sorprendentes sobre la internacionalización y cuáles son los enfoques escalables. Verás ejemplos con bibliotecas para frameworks con diferentes lógicas para implementar diferentes diseños de internacionalización.

FAQ

I18n, que es un acrónimo de 'internacionalización', juega un papel crucial en hacer que las aplicaciones sean accesibles para más del 70% de los usuarios en el mundo al permitir la adaptación de software a diferentes idiomas y regiones sin requerir cambios en la estructura del código.

Según la experiencia compartida por Maya y discutida por Erys Erczeki, algunos de los desafíos incluyen el costo de reaprender el uso de la biblioteca de internacionalización y el problema de que el texto localizado no siempre coincide con las claves de I18n en las pruebas.

El inglés se utiliza solo en un 25.9% en Internet, mientras que Asia lidera con más de la mitad de los usuarios de Internet a nivel mundial.

Los métodos incluyen la detección de la ubicación a partir de la dirección IP, respetar la configuración de idiomas del navegador del usuario, y la identificación mediante la URL, como los subdirectorios localizados que son más limpios y amigables para el usuario.

Erys utiliza I18next, un paquete npm para Remix, que incluye configurar archivos de traducción, definir idiomas soportados, y asegurar que las traducciones se carguen antes de la hidratación para interactividad.

Erys muestra una integración con Storyblock donde se utiliza un enfoque de traducción a nivel de carpeta, permitiendo contenido localizado y rutas dinámicas adaptadas a diferentes idiomas visualmente organizadas en carpetas separadas.

La internacionalización es fundamental para mejorar la experiencia del usuario (UX) y la interfaz de usuario (UI), ayudando a que las aplicaciones sean más inclusivas y accesibles globalmente, lo que a su vez puede influir positivamente en el rendimiento general.

Arisa Fukuzaki
Arisa Fukuzaki
13 min
05 Jun, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La charla de hoy explora el impacto de I18n y DEX para los desarrolladores, los desafíos de I18n y la importancia de comprender diferentes enfoques. Se discute cómo determinar idiomas y regiones utilizando la dirección IP, la configuración del navegador y los patrones de URL. La charla también cubre la carga de traducciones, el uso del i18xProvider y la solución de problemas como los parámetros de URL y el mantenimiento de archivos de traducción. Además, se explora la conexión con un Sistema de Gestión de Contenidos, la implementación de traducción a nivel de carpeta y la utilización de fragmentos de código para rutas dinámicas.

1. Introducción a I18n y su impacto

Short description:

Hoy vamos a ver cómo I18n hace que las aplicaciones sean accesibles para más del 70% de los usuarios. Exploraremos el impacto de I18n y DEX para los desarrolladores, la lógica fundamental y cómo funciona con Remix. La internacionalización (I18n) tiene sus desafíos, incluyendo un costo de reaprendizaje y una falta de coincidencia entre el texto localizado y las claves de I18n. Sin embargo, los números hablan por sí mismos. Con 5.07 mil millones de usuarios de Internet y el inglés representando solo el 25.9%, comprender diferentes enfoques de I18n mejorará su DX actual.

Hola a todos. Gracias por ver mi charla. Mi nombre es Erys Erczeki. Soy un ingeniero de Deferral que trabaja en Storyblock. Hoy vamos a ver juntos cómo I18n tiene un impacto y hace que tus aplicaciones sean accesibles para más del 70% de los usuarios en el mundo.

Pasemos a la siguiente diapositiva. Y aquí están las tres conclusiones de mi charla. En primer lugar, vamos a ver el impacto de I18n y DEX para los desarrolladores. Y vamos a ver la lógica fundamental. Por último, vamos a ver cómo funciona con Remix.

Hay un par de notas. Esta charla es, en primer lugar, para los desarrolladores que implementan la internacionalización. En segundo lugar, Remix e I18n son temas de discusión en curso. Si estás interesado en unirte a las discusiones, aquí está el enlace. Y me aseguraré de compartir mis diapositivas en las redes sociales. Así que tendrás acceso a todas las fuentes que voy a compartir.

Así que la internacionalización. I18n es, en primer lugar, un acrónimo de internacionalización. Y veamos un poco de la experiencia del desarrollador con I18n. Así que aquí está mi amiga, Maya. Ella compartió conmigo su experiencia en Twitter diciendo que hay un costo de reaprendizaje de cómo usar la biblioteca de internacionalización cada vez. Y también hay otro problema, diría yo, que el texto localizado no coincide con las claves de I18n en las pruebas. Así que según su opinión, o no solo la suya, pero basado en eso, parece que no es la mejor DX. Así que basándonos en la DX actual de I18n que tienes, hablemos de los números y los hechos.

Así que empezando por el número total de usuarios en el mundo, en realidad hay 5.07 mil millones de usuarios que utilizan Internet. Y sorprendentemente, el inglés se utiliza solo en un 25.9% en Internet. Y Asia lidera con más de la mitad de los usuarios de Internet a nivel mundial. Así que todos los números son enormes, ¿verdad? Y no podemos simplemente ignorar estos números masivos. Y al conocer los diferentes enfoques con más opciones, en realidad se resolverá

2. Determinando Idiomas y Ejemplos de Framework

Short description:

Existen tres formas de determinar idiomas y regiones: dirección IP, configuración del navegador y patrones de URL. El ejemplo de Remix I18next utiliza un paquete npm, mientras que el enfoque del sistema de gestión de contenido combina diferentes sistemas. Los archivos de configuración de I18next definen los idiomas admitidos, el idioma de respaldo y los espacios de nombres. Los archivos de configuración del lado del cliente y del servidor aseguran que las traducciones se carguen antes de la hidratación.

tu actual I18nDX. Así que hablemos de la lógica fundamental. Hay tres formas de determinar los idiomas y las regiones. En primer lugar, está la forma de detectar la ubicación a partir de la dirección IP, que no vamos a cubrir en esta charla. Pero en segundo lugar, aquí está el ejemplo de respetar a los usuarios, ya sabes, como se configura en la configuración de su navegador, ya sabes, como qué idiomas elegir. Y por último, hay una forma de identificarlo en la URL. Y voy a mostrarte los tres patterns para identificar las URL. El patrón uno es diferenciar, ya sabes, por dominios, pero no seguirá la misma política de origen. El patrón dos es usar los parámetros de la URL, pero no parece amigable para el usuario, ¿verdad? Y el último patrón es subdirectorios localizados. Esto se ve mucho más limpio y amigable para el usuario. Así que pasemos a los ejemplos de framework , en general hay dos enfoques para elegir. El primer enfoque sería utilizar unnpm paquete que está relacionado con I18next. Y el otro enfoque es con una combinación del sistema de gestión de contenido. Esta charla trata sobre el Remix, así que voy a mostrarte el ejemplo de Remix I18next primero. Y pasemos a mostrarte el ejemplo del sistema de gestión de contenido . Remix I18next es un paquete npm para Remix que utiliza I18next. El primer paso sería crear los archivos de traducción. En este caso, tengo un idioma predeterminado en inglés que dice saludo hola y traducido, ya sabes, como el archivo de traducción saludo dice hola en japonés, y creemos el archivo de configuración de I18next. Entonces aquí, lo que estoy definiendo son los idiomas admitidos, el idioma de respaldo y el espacio de nombres predeterminado. Así que este espacio de nombres común es en realidad lo que le di los nombres a estos archivos de traducción. Pasando a, ya sabes, el otro archivo llamado I18nextserver.js. Entonces aquí, lo que estoy haciendo es importar lo que configuramos en el archivo de configuración de I18next, y ya sabes, del archivo anterior, lo que configuramos, los valores son en realidad matrices en las cadenas. Así que los iteramos desde el archivo de configuración de la diapositiva anterior. Y el resto lo configuramos la ruta del archivo de traducción. Así que lo siguiente es crear los archivos de configuración del lado del cliente y del lado del servidor. Por el tiempo que tengo, me voy a centrar en el lado del cliente, pero no te preocupes, el lado del servidor, ya sabes, los archivos de configuración se ven prácticamente iguales con algunas diferencias. Así que el archivo entry.client.jsx. Lo que quiero que prestes atención es a la línea de código resaltada en naranja, ya sabes, que es una API llamada i18xProvider. Así que con esto, al usar esta API, queremos asegurarnos de que las traducciones se carguen antes de que ocurra la hidratación. Y vamos a ver por qué juntos en una de las siguientes diapositivas. Y luego, ya sabes, envolvemos el componente del navegador de remix entre el componente i18xProvider. Así que también vamos a ver las razones en una de las siguientes diapositivas.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Cómo localizar y personalizar contenido con Sanity.io y Next.js
React Advanced Conference 2021React Advanced Conference 2021
8 min
Cómo localizar y personalizar contenido con Sanity.io y Next.js
Estructurar tu contenido con Sanity.io significa que puedes consultar el contenido basado en señales de tus visitantes, como su ubicación. La personalización es un problema complicado con sitios estáticos y el jamstack, esta demostración te mostrará cómo se puede hacer con Sanity.io, Next.js y Vercel.
End-to-end i18n
React Advanced Conference 2021React Advanced Conference 2021
26 min
End-to-end i18n
Existen algunas bibliotecas excelentes que ayudan con la internacionalización en React, pero sorprendentemente hay poca orientación sobre cómo manejar la internacionalización de principio a fin. En esta masterclass discutiremos las mejores prácticas y consejos prácticos para manejar las traducciones en React. Hablaremos sobre cómo extraer cadenas de texto de su código, cómo gestionar archivos de traducción, cómo pensar en el mantenimiento a largo plazo de sus traducciones e incluso cómo evitar errores comunes en los que suelen caer los desarrolladores que solo hablan un idioma.
Construyendo aplicaciones JS con internacionalización (i18n) en mente
JSNation 2022JSNation 2022
21 min
Construyendo aplicaciones JS con internacionalización (i18n) en mente
En Adobe construimos productos para el mundo, esta masterclass proporcionará una visión general de las mejores prácticas de internacionalización (i18n), globalización (g11n) y localización (l10n). Por qué son importantes y cómo implementarlas en el diseño, la experiencia de usuario y en cualquier código JS, utilizando ejemplos de JS puro y recomendaciones de las mejores bibliotecas de código abierto.
Internacionalizando React
React Summit Remote Edition 2021React Summit Remote Edition 2021
29 min
Internacionalizando React
Aprender 100 idiomas diferentes es un desafío, pero diseñar tu aplicación de React para admitir 100 idiomas no tiene por qué serlo. A medida que tu aplicación web crece y alcanza una audiencia global, la funcionalidad multilingüe se vuelve cada vez más esencial. Entonces, ¿cómo diseñas tu código de manera que sea lo suficientemente flexible como para incluir a todos tus usuarios internacionales? En esta charla, exploraremos qué significa y cómo se ve construir una aplicación de React que admita internacionalización (i18n). Aprenderás varias estrategias diferentes para hacer que tu aplicación sea a prueba de locales con contextos de React y hooks personalizados.
Codificación de emojis, Unicode e internacionalización
JSNation Live 2020JSNation Live 2020
34 min
Codificación de emojis, Unicode e internacionalización
¿Por qué '👩🏿‍🎤'.length = 7? ¿Es JavaScript UTF-8 o UTF-16? ¿Qué sucede bajo el capó cuando estableces ? ¿Alguna vez te has preguntado cómo se codifican los emojis y los lenguajes de escritura complejos para funcionar correctamente en navegadores y dispositivos, para miles de millones de personas en todo el mundo? ¿O cómo se introducen y aprueban nuevos emojis? ¿Alguna vez has visto uno de estos: □ � caracteres de glifo 'especiales' antes y quieres más información sobre por qué podrían aparecer y cómo evitarlos en el futuro? ¡Hablemos sobre la codificación Unicode en JavaScript y en la World Wide Web! Repasaremos las mejores prácticas, los problemas comunes y proporcionaremos recursos para aprender más, ¡incluso dónde ir si quieres enviar una nueva propuesta de emoji! :)
Localización para casos de uso del mundo real: Aprendizajes clave de la incorporación de marcas globales
React Summit 2022React Summit 2022
8 min
Localización para casos de uso del mundo real: Aprendizajes clave de la incorporación de marcas globales
i18n no es fácil, pero con una planificación cuidadosa de tu modelo de contenido te mostraré cómo estructurar la configuración, la autoría y la consulta de contenido localizado. Cubriremos documentos traducidos completos o parciales, la diferencia entre contenido específico del mercado y del idioma, formas de autoría en un CMS como Sanity y formas de consultarlo en frontends como Next.js y Remix.

Workshops on related topic

Localizando tu sitio web de Remix
React Summit 2023React Summit 2023
154 min
Localizando tu sitio web de Remix
WorkshopFree
Harshil Agrawal
Harshil Agrawal
El contenido localizado te ayuda a conectarte con tu audiencia en su idioma preferido. No solo te ayuda a hacer crecer tu negocio, sino que también ayuda a tu audiencia a comprender mejor tus ofertas. En este masterclass, obtendrás una introducción a la localización y aprenderás cómo implementar la localización en tu sitio web de Remix alimentado por Contentful.
Tabla de contenidos:- Introducción a la localización- Introducción a Contentful- Localización en Contentful- Introducción a Remix- Configuración de un nuevo proyecto de Remix- Renderización de contenido en el sitio web- Implementación de la localización en el sitio web de Remix- Recapitulación- Próximos pasos