Preguntas frecuentes

¿Cómo funciona, cuánto cuesta y qué sucede con su código y datos? ¿No encuentra su pregunta? Envíanos un correo electrónico.

Producto

¿Es solo para aplicaciones web de React?+

No. Funciona en React y Next.js, React Native y Expo, Flutter, Angular, Vue y Nuxt, Svelte y SvelteKit, Astro, Solid, Qwik, Lit, Ember, Electron y Tauri, sitios HTML sencillos, plantillas Rails, Django y Laravel, diseños de Android, Jetpack Compose y código View, y aplicaciones iOS y macOS en SwiftUI y UIKit. Configura la biblioteca i18n correspondiente para cada una: react-i18next, ngx-translate, vue-i18n o @nuxtjs/i18n, svelte-i18n, ember-intl, gen-l10n de Flutter, Rails I18n, gettext de Django, recursos de cadenas de Android o un pequeño script para páginas estáticas.

Ya tenemos i18n configurado. ¿Sigue siendo útil?+

Sí. localize-dev translate rellena las traducciones faltantes en los archivos de localización que ya tienes, en cualquier stack: JSON (i18next, react-intl, vue-i18n, ngx-translate), Rails YAML, gettext .po, Flutter .arb, Android strings.xml, Apple String Catalogs y .strings, y mensajes de extensiones de navegador. El código no se toca, las traducciones existentes no se cambian y en CI se abre una pull request cada vez que llegan nuevas claves.

Desarrollamos con Rails, Django, Laravel, Android o iOS. ¿Necesitamos Node.js?+

Solo Node.js 22 o posterior para ejecutar la CLI: npx localize-dev la ejecuta sin añadir un package.json a tu proyecto. O salta las ejecuciones locales y usa la GitHub Action, que se ejecuta en las máquinas de GitHub.

¿Trabajas con Crowdin, Phrase, Lokalise o Transifex?+

Sí. localize-dev sync push sube tus archivos de localización de origen y sync pull trae el trabajo de los traductores de vuelta a ellos, para que las traducciones automáticas, la revisión humana y tu repositorio se mantengan al día.

¿Qué pasa si dejamos de usar localize.dev?+

Tu aplicación sigue funcionando. La salida es la biblioteca i18n que tu framework ya utiliza (react-i18next, vue-i18n, ngx-translate, Rails I18n, gettext, recursos de cadenas de Android, Catálogos de cadenas de Apple…) con archivos de idioma sencillos en tu repositorio. No hay un runtime, SDK o proxy de localize.dev que eliminar.

¿Podemos probarlo en nuestro propio repositorio antes de configurar nada?+

Sí. Conecta el repositorio en el panel y elige Abrir una solicitud de extracción de vista previa: localize.dev localiza la rama predeterminada (hasta 200 cadenas, un idioma) y abre una solicitud de extracción desde localize-dev/preview. No se necesita flujo de trabajo, clave ni checkout.

¿Puede la CI evitar que se fusionen copias sin traducir?+

Sí. npx localize-dev check (o la Acción con mode: check) falla cuando un cambio agrega texto codificado, falta traducción en un idioma o se editó inglés y sus traducciones no se rehicieron, y cada problema se anota en la solicitud de extracción. Se ejecuta en tu máquina o runner, sin clave API.

¿Maneja correctamente los plurales?+

Sí. Una elección como n === 1 ? "archivo" : "archivos" se convierte en un mensaje plural, y cada idioma obtiene las formas que necesita: polaco cuatro, árabe seis, japonés uno. Una oración con dos recuentos ("3 archivos en 2 carpetas") obtiene un plural por recuento, y los ordinales como 1.º, 2.º y 3.º se convierten en plurales ordinales en las formas propias de cada idioma, en React, Next.js, Vue, Svelte, Astro, Ember, Angular y los demás frameworks de JavaScript. Flutter, Rails, Django, Laravel, Android e iOS obtienen plurales en sus propios formatos (ARB, YAML, msgid_plural, trans_choice, <plurals>, variaciones de Catálogo de Cadenas); sus bibliotecas no tienen ordinales.

¿Qué sucede cuando cambiamos el inglés más tarde?+

Se vuelve a traducir. localize.lock.json mantiene una huella digital de cada mensaje de origen, por lo que un mensaje editado se rehace en cada idioma en la próxima ejecución o solicitud de extracción, y localize-dev check falla mientras cualquier traducción esté desactualizada. Se informan las claves que el código ya no utiliza y localize-dev prune las elimina.

¿Puede traducir también nuestra documentación y blog?+

Sí. El contenido de localize-dev traduce archivos Markdown y MDX a una copia por idioma (intro.es.md o las carpetas i18n de Docusaurus), manteniendo intactos los bloques de código, enlaces, importaciones MDX y componentes. Solo se vuelven a enviar los documentos editados desde su última traducción.

¿Funciona en un monorepo?+

Sí. Ejecútelo desde la raíz con --workspaces, o establezca workspaces: true en la GitHub Action, y cada aplicación se localizará con sus propios archivos de idioma, en una única pull request. Las bibliotecas compartidas sin un script de desarrollo o inicio se dejan intactas. Para localizar una sola app, establezca working_directory: apps/web en la Action.

¿Pueden los motores de búsqueda encontrar las páginas traducidas?+

En Next.js, SvelteKit y Nuxt, las páginas se renderizan en el idioma del visitante en el servidor. Para sitios HTML estáticos, active htmlPages y localize.dev escribirá una copia traducida de cada página por idioma, enlazada con hreflang, para que cada idioma pueda ser indexado.

¿Sale mi código de mi máquina?+

Solo las cadenas que se están traduciendo se envían a la API de localize.dev, con su ruta de archivo y su ubicación (el componente y el elemento como un botón o un encabezado) como contexto. Nunca se envían archivos completos. La reescritura ocurre localmente (o en su propio ejecutor de CI), y los escaneos y las ejecuciones sin conexión nunca tocan la red.

¿Necesito configurar un modelo o GPUs?+

No. La traducción se ejecuta en el modelo alojado de localize.dev en todos los planes, incluido el gratuito. Cree una clave de API, ejecute localize-dev login y listo.

¿Necesito configurar primero una biblioteca i18n?+

No. Si tu aplicación aún no tiene ninguna, la solicitud de extracción agrega la correcta (incluido el archivo de bloqueo), crea un módulo que carga cada archivo de idioma y elige el idioma, y lo integra en tu archivo de entrada. Los idiomas de derecha a izquierda también establecen la dirección de la página. Las aplicaciones que ya tienen i18next, vue-i18n o svelte-i18n en ejecución conservan su propia configuración.

¿Qué pasa si parte de la aplicación ya está traducida?+

Las llamadas existentes a t(), y $_() se dejan como están, y las claves que ya están en en.json se reutilizan cuando el texto coincide (para textos cortos como "Post", cuando las traducciones también coinciden). Es seguro ejecutar en código medio localizado.

¿Entiende el contexto o traduce palabra por palabra?+

Traduce con contexto. Cada cadena llega al modelo con su archivo, componente y elemento, por lo que "Post" en un botón se convierte en "Publicar" en alemán y "Post" como título de una tarjeta se convierte en "Publicación", cada uno con su propia clave; las copias idénticas comparten una clave solo cuando sus traducciones coinciden. Tu glosario y notas de estilo mantienen los términos del producto y el tono consistentes, incluido un "tú" formal o informal por idioma, y los plurales obtienen cada forma que cada idioma necesita. Los catálogos de Laravel y Django se indexan por el propio texto en inglés, por lo que allí un texto tiene una traducción.

¿Qué necesita la Acción de GitHub?+

El archivo de flujo de trabajo anterior y un secreto de repositorio, LOCALIZEDEV_API_KEY. Utiliza el GITHUB_TOKEN incorporado con acceso de escritura a contenidos y solicitudes de extracción, mantiene una solicitud de extracción por rama actualizada en lugar de abrir una nueva en cada push, y omite sus propias ramas y solicitudes de extracción de bifurcaciones, cuyo token es de solo lectura.

¿Son las traducciones automáticas lo bastante buenas para publicarlas?+

Son un primer borrador sólido con marcadores de posición correctos y claves consistentes. Para textos regulados o críticos para la marca, asigne un revisor por idioma: reciben un correo electrónico cuando se completa una ejecución, aprueban o corrigen cada traducción en la pestaña Revisar, y las correcciones se incluyen en la solicitud de extracción abierta y en cada ejecución posterior. Las correcciones que surgen repetidamente se convierten en términos del glosario con un solo clic. El modelo también marca las traducciones sobre las que no está seguro, con su motivo, para que los revisores comiencen con ellas.

Planes y facturación

¿Qué cuenta como una cadena?+

Una pieza única de texto de interfaz de usuario enviada para traducir. Una cadena cuenta una vez, sin importar a cuántos idiomas vaya. Traducir “Realizar pedido” a 10 idiomas usa 1, no 10. El texto que ya tiene una clave nunca se envía de nuevo.

¿Qué sucede cuando alcanzo mi límite mensual?+

La ejecución se detiene antes de escribir nada y le indica por qué, por lo que su código nunca queda medio reescrito. Actualice o espere a que el límite se restablezca al final de su período de 30 días y vuelva a ejecutar. El panel muestra la fecha.

¿Los escaneos y las ejecuciones sin conexión consumen mi límite?+

No. Los escaneos y las ejecuciones --offline funcionan completamente en su máquina y nunca llaman a la API. No necesita una clave para ellos en absoluto.

¿Necesito un plan de pago para la GitHub Action?+

No. La Action funciona en todos los planes, incluido el Gratuito. Agregue su clave de API como un secreto del repositorio y abrirá una pull request en cada push, dentro de los 3/5/ilimitado idiomas de su plan.

¿Puedo probarlo sin registrarme?+

Sí. El playground ejecuta el mismo motor en un componente o página que pegue (React, Vue, Svelte, Angular, Astro, Flutter, Rails, Django, Laravel, Android, iOS o HTML), no se necesita cuenta.

Cuenta y datos

¿Cómo elimino mi cuenta?+

Elimina tu espacio de trabajo personal en Panel → Configuración. Eso elimina tu cuenta: tu inicio de sesión, vinculaciones con GitHub y Google, membresías de equipo, y cerrarás sesión en todos los dispositivos. Si tienes espacios de trabajo en equipo, elimínalos primero. Los strings usados en este período aún cuentan si te vuelves a registrar con el mismo correo.

¿Puedo obtener una copia de mis datos?+

Sí. Envía un correo a support@uselocalize.dev desde la dirección de tu cuenta y te lo enviaremos. La Política de Privacidad indica qué datos conservamos.

¿Cómo reporto un error o un problema de seguridad?+

Envía un correo a support@uselocalize.dev con lo que ejecutaste y lo que viste. Para problemas de seguridad, por favor, envía un correo en lugar de publicar los detalles públicamente.

¿Todavía tienes una pregunta?

Correo electrónico support@uselocalize.dev, o consulte la documentación.

Contáctanos