Por qué localizar tus scripts
La localización amplía el alcance de tus scripts a comunidades que no hablan inglés. Los servidores españoles, franceses, alemanes y de otros idiomas prefieren recursos que hablan su idioma. Soportar internacionalización (i18n) desde el diseño del script convierte un recurso en un producto global, no solo angloparlante. La adopción crece significativamente cuando un script está bien traducido.
Archivos de locales
El patrón estándar es separar las cadenas traducibles en archivos de locales. ox_lib ofrece un sistema excelente donde las traducciones se guardan en JSON por idioma (en.json, es.json, de.json, fr.json). Las cadenas se referencian por clave en el código y el runtime resuelve la traducción correcta según el idioma configurado. Esto permite añadir idiomas nuevos sin tocar el código.
Claves de fallback
Cuando una traducción no existe para un idioma, el sistema debe caer al inglés u otra clave de fallback en lugar de mostrar una cadena vacía o la clave cruda. Estructura tus archivos de locales para que el inglés sea la base completa y los demás idiomas sean overlays. Monitoriza qué claves faltan para priorizar las traducciones más críticas.
Herramientas y flujo
Usa herramientas como i18next-scanner para extraer automáticamente claves del código y mantener los archivos de locales sincronizados. Integra una sencilla CI que compare archivos de locales y falle si faltan claves. Para traducciones colaborativas, plataformas como Crowdin o Weblate permiten a la comunidad traducir sin tocar el repo. Acredita siempre a los traductores voluntarios.
Consideraciones de diseño
Ten en cuenta que las cadenas cambian de longitud entre idiomas: el alemán es típicamente más largo que el inglés, el chino más corto. Diseña tus UIs con espacio para absorber diferencias. Evita concatenar cadenas (usa placeholders) porque el orden de palabras cambia entre idiomas. Formatea números, fechas y monedas según locale para respetar convenciones culturales.
