Base de conocimientos
Respuestas a preguntas frecuentes sobre la localización de aplicaciones, documentación y contenido con General Translation.
Internacionalización
Configuración de i18n en una base de código: bibliotecas, frameworks y componentes.
- General Translation vs. vue-i18n: ¿cuál deberías usar?General Translation permite a los equipos de Vue escribir el texto de origen directamente en las plantillas y generar traducciones con la CLI. Su plugin gt-vue renderiza ese contenido con formato de plurales y de números adaptado a la configuración regional. Elígelo si quieres dejar de mantener archivos de origen basados en claves; vue-i18n sigue siendo una buena opción para equipos que usan el módulo i18n de Nuxt y un flujo de trabajo de catálogos ya consolidado.
- General Translation vs. Symfony Translation: ¿cuál deberías usar?Symfony Translation renderiza mensajes en PHP y Twig. General Translation traduce sus catálogos YAML en CI, los mantiene al día a medida que cambia tu contenido de origen y ofrece a los revisores un panel de control para editarlos. Conserva el renderizado de Symfony y añade traducción automatizada a tu flujo de trabajo de lanzamiento.
- General Translation vs. Rails I18n: ¿necesitas ambos?Rails I18n busca mensajes y da formato a fechas y números. General Translation genera las traducciones, las mantiene al día a medida que cambia tu texto en inglés y ofrece a tu equipo un panel de control para revisarlas. Usa ambos para publicar catálogos de Rails traducidos en cada lanzamiento.
- General Translation vs. Paraglide JS: ¿cuál deberías usar?Elige General Translation para mantener el texto inline y generar traducciones que respetan la estructura de tus componentes de React, con terminología compartida y revisión en el panel de control. Elige Paraglide JS si buscas funciones de mensaje compiladas y tipadas, con tree-shaking por mensaje. Paraglide renderiza tus catálogos; General Translation conecta el texto de origen con la generación de traducciones y sus actualizaciones continuas.
- General Translation vs. nestjs-i18n: ¿cuál deberías usar?nestjs-i18n resuelve el idioma de cada solicitud en una aplicación NestJS y renderiza mensajes a partir de catálogos JSON o YAML por idioma, pero no traduce nada. La CLI de General Translation traduce esos catálogos y su biblioteca gt-node traduce el contenido que solo existe en tiempo de ejecución, así que puedes conservar nestjs-i18n y añadir General Translation.
- General Translation vs. Mobility: ¿cuál deberías usar?Mobility almacena los atributos traducidos de los modelos en tu base de datos. General Translation genera esas traducciones a través de su API, usando tu glosario y tus prompts personalizados. Usa ambos para traducir fichas de productos, publicaciones y otro contenido de la base de datos sin renunciar a tus modelos de Rails.
- General Translation vs. Lingui: ¿cuál deberías usar?Elige General Translation para mantener el texto inline como en Lingui y generar las traducciones usando tu estructura JSX como contexto. Lingui extrae los mensajes inline a catálogos para que tus traductores o un servicio conectado los traduzcan. La CLI de General Translation actualiza las traducciones a medida que cambia tu código, y tu equipo las revisa en el panel de control.
- General Translation vs. Intlayer: ¿cuál deberías usar?Intlayer guarda el contenido de cada componente en un archivo de declaración tipado situado junto a él, con todos los idiomas escritos en paralelo, y puede completar los idiomas que faltan con el proveedor de IA que tú configures. General Translation mantiene los textos inline en tus componentes, en un solo idioma, y genera los demás idiomas a partir del contexto de tu código.
- General Translation vs. i18next, react-intl y next-intl: ¿qué biblioteca de i18n deberías usar?Las bibliotecas de código abierto como i18next, react-intl y next-intl no traducen nada. Muestran las traducciones que tú proporcionas en un archivo de catálogo para cada idioma, escritas por ti, por tus traductores o por un servicio externo. Las bibliotecas de General Translation también son de código abierto y cumplen la misma función, pero además General Translation se encarga de traducir, usando tu código como contexto.
- General Translation frente al framework de traducción de Django: ¿necesitas ambos?Usa el framework de traducción de Django y General Translation de forma conjunta. Django se encarga de la extracción de mensajes, la selección del idioma y el renderizado. General Translation rellena sus archivos PO, incluidas las formas plurales, con la terminología de tu producto y la revisión en el panel de control. Tus plantillas y patrones de URL siguen igual, y las traducciones se actualizan a la par que tu código.
- General Translation frente a GNU gettext: ¿necesitas ambos?Conserva GNU gettext para la extracción y el renderizado, y añade General Translation para generar y mantener los archivos PO. General Translation incorpora las notas para traductores y el contexto de los mensajes en la generación, aplica una terminología compartida y ofrece a los revisores un editor en el panel de control. Tus llamadas actuales a gettext y tus catálogos compilados siguen como están.
- General Translation frente a Babel y Flask-Babel: ¿cuál deberías usar?Babel da formato a fechas, números y monedas para cualquier configuración regional y gestiona catálogos de gettext, y Flask-Babel lo integra con Flask, pero ninguno de los dos traduce tus cadenas. La CLI de General Translation rellena los archivos PO de Babel para cada idioma, formas plurales incluidas, para que puedas seguir usando Flask-Babel y dejar de traducir catálogos a mano.
- Alternativas a react-intl: General Translation vs. react-intlGeneral Translation permite a los equipos de React conservar la sintaxis de mensajes ICU y, además, añade generación de traducciones, terminología compartida y revisión en el panel de control. react-intl ofrece formato y herramientas de catálogos de FormatJS; General Translation, además, genera las traducciones.
- Alternativas a i18next: General Translation vs. i18nextElige General Translation para mantener los textos inline en los componentes de React y generar traducciones a partir de su estructura JSX y del contexto del producto. También puedes seguir usando i18next y recurrir a General Translation para traducir los catálogos existentes. i18next se encarga de renderizar los mensajes y seleccionar los plurales, pero las traducciones las genera un servicio aparte.
- ¿Qué debo comprobar antes de lanzar una aplicación multilingüe?Antes de lanzar una aplicación multilingüe, prueba nueve aspectos en cada configuración regional compatible: recorridos de usuario completos, incluidos los errores; detección y cambio de idioma; variables y plurales; moneda y zonas horarias; expansión del texto; diseño right-to-left; accesibilidad; entrega de traducciones en producción; y URL de idioma rastreables para SEO. Cada comprobación necesita un criterio de aprobación explícito.
- ¿Deberías crear tu propia i18n o usar General Translation?Una i18n hecha a mano (un diccionario por idioma y una pequeña función auxiliar t()) funciona bien para uno o dos idiomas y poco texto. A medida que la app crece, acabas reconstruyendo las reglas de plural, las alternativas de respaldo y la sincronización de archivos, y aun así tienes que generar las traducciones. Las bibliotecas de código abierto de General Translation se encargan del renderizado, y General Translation genera y actualiza las traducciones a partir de tu código.
- ¿Puedo hacer i18n sin archivos de traducción?Sí. Con gt-react o gt-next, el contenido se mantiene inline en tus componentes, dentro de un componente <T>, y las traducciones se generan en tiempo de compilación, por lo que no tienes que escribir claves ni archivos JSON por configuración regional ni mantenerlos sincronizados.Vídeo
- ¿Cómo traduzco texto condicional en JSX?En lugar de traducir por separado cada rama de un operador ternario, envuelve la oración completa en un componente <T> y expresa la condición con <Branch>; así, el traductor ve el contexto completo y puede reordenar la oración según cada idioma.Vídeo
Formato según la configuración regional
Plurales, fechas, números, monedas y texto right-to-left en cada configuración regional.
Traducción
Traducción automática y con IA, calidad, contexto y glosarios.
SEO multilingüe
Enrutamiento por configuración regional, hreflang, mapas del sitio y metadatos traducidos para sitios multilingües.
Herramientas para flujos de trabajo
Elección de herramientas de localización y sincronización de las traducciones mediante la localización continua.
- General Translation vs. Weblate: ¿cuál deberías usar?Weblate es una plataforma de localización autoalojable y basada en Git, pensada para traducir los archivos de un repositorio junto con una comunidad o un equipo. General Translation integra la generación de traducciones en el desarrollo y los lanzamientos mediante JSX marcado y contexto compartido del producto. Conserva tus archivos de gettext o adopta la redacción inline para eliminar también el mantenimiento del catálogo de origen.
- General Translation vs. Tolgee: ¿cuál deberías usar?Tolgee combina mensajes con claves, edición en contexto y traducción con IA en una plataforma que puedes alojar tú mismo. General Translation mantiene el texto legible directamente en tus componentes y genera las traducciones a partir del JSX marcado, para que puedas publicar texto nuevo en todos los idiomas sin tener que mantener claves de mensajes.
- General Translation vs. Locize: ¿cuál deberías usar?Locize es un sistema de gestión de traducciones de los creadores de i18next que sirve las traducciones desde una CDN, recopila claves nuevas desde tu aplicación en ejecución y añade traducción con IA y un editor en contexto. Aun así, sigues teniendo que mantener la biblioteca de i18n y sus claves. General Translation puede ser tu biblioteca de i18n y encargarse también de la traducción, o traducir los archivos de i18next que ya tienes.
- General Translation vs. i18n-tasks: ¿cuál deberías usar?i18n-tasks es una gema de Ruby que detecta claves de Rails I18n faltantes y sin usar, ordena los archivos de configuración regional y puede completar las claves faltantes mediante Google Translate, DeepL, OpenAI, Yandex o watsonx. General Translation traduce archivos de configuración regional completos con tu glosario, tus prompts personalizados y la revisión en el panel de control. Cumplen funciones distintas, y muchos equipos pueden usar ambas.
- Alternativas a Transifex: General Translation vs. TransifexElige General Translation para traducir JSX marcado conservando su estructura y el contexto del desarrollador, y luego incluir los resultados en el paquete o servirlos desde su CDN. Transifex Native también mantiene las cadenas en el código, pero las publica a través de su servicio de entrega de contenido. Transifex encaja bien con equipos que recurren a sus socios de traducción, sus puntuaciones de calidad o la traducción de sitios web mediante fragmentos de código.
- Alternativas a Smartling: General Translation vs. SmartlingElige General Translation si quieres que las traducciones de tu aplicación se generen a partir del código como parte de cada lanzamiento. Smartling combina un sistema de gestión de traducciones, servicios de traducción con IA y humana, y un proxy de traducción de sitios web. General Translation mantiene los textos en tus componentes, conserva su contexto durante la traducción y ofrece a tu equipo un panel de control para revisarlas.
- Alternativas a Phrase: General Translation vs. PhraseGeneral Translation es una sólida alternativa a Phrase Strings cuando tu aplicación y tu documentación se publican a la vez. Genera traducciones a partir del código y de los archivos de contenido, aplica terminología compartida y se ejecuta dentro de tu flujo de trabajo de lanzamiento. Phrase combina la localización de software con un TMS centrado en documentos, gestión de proveedores y una amplia variedad de motores de traducción.
- Alternativas a next-intl: gt-next vs. next-intlnext-intl renderiza las traducciones que proporcionas en un catálogo de mensajes para cada idioma. gt-next también renderiza traducciones, pero además General Translation las genera a partir del texto escrito inline en tu JSX. Ambas tienen licencia MIT y son compatibles con App Router y los Componentes de servidor. Si tus catálogos de next-intl ya funcionan, puedes conservarlos y usar General Translation para traducirlos sin necesidad de migrar.
- Alternativas a Lokalise: General Translation vs. LokaliseGeneral Translation es una sólida alternativa a Lokalise para equipos que quieren textos legibles en JSX y la traducción integrada en el desarrollo. Lokalise se basa en claves compartidas, integraciones con herramientas de diseño y entrega over-the-air para aplicaciones móviles. General Translation genera traducciones a partir del contenido marcado en la aplicación y permite revisarlas en su panel de control o en pull requests de GitHub.
- Alternativas a Crowdin: General Translation vs. CrowdinElige General Translation para mantener los textos en tus componentes y generar las traducciones con tu compilación. Crowdin gestiona proyectos de traducción en torno a archivos de recursos, traductores y flujos de trabajo de revisión, que los ingenieros conectan a la aplicación y mantienen a medida que el producto evoluciona. Crowdin sigue siendo una buena opción para la traducción comunitaria de proyectos de código abierto y los programas gestionados por proveedores.
- ¿Por qué usar General Translation en lugar de un TMS (Smartling, Lokalise, Phrase, Crowdin o Transifex)?Un sistema de gestión de traducciones (TMS) como Smartling, Lokalise, Phrase, Crowdin o Transifex coordina a los traductores, pero los ingenieros siguen teniendo que extraer las cadenas, enviarlas, esperar las traducciones y volver a integrarlas en el producto. General Translation traduce el contenido de tu código junto con su contexto, incluye todos los idiomas en cada lanzamiento y funciona con bibliotecas de código abierto, sin dependencia de proveedor.
- ¿Cuál es la mejor biblioteca de i18n para una aplicación React?Las cuatro principales bibliotecas de i18n para React son gt-react de General Translation, react-i18next, Lingui y React Intl. Las cuatro renderizan traducciones y les dan formato, pero solo gt-react también las genera a partir de textos escritos inline en tu JSX. Elige react-i18next si quieres conservar los catálogos y plugins de i18next, Lingui si buscas extracción a catálogos compilados y React Intl si prefieres FormatJS y el formato de mensajes ICU.
- ¿Cuál es el mejor software de localización para desarrolladores?Busca un único sistema que cubra todo el flujo, desde la biblioteca de i18n en tu código hasta la traducción y la entrega, en lugar de ir uniendo por separado una biblioteca, un sistema de gestión de traducciones y un proveedor de traducción.Vídeo
Implementa hoy
Únete a los mejores equipos de desarrolladores del mundo en General Translation