Conversor de Localizable.strings a .xcstrings

Suelta tus archivos Localizable.strings (uno por idioma): la herramienta los fusiona en un único String Catalog .xcstrings que puedes descargar. Gratis, sin registro, y tus archivos nunca salen de tu navegador.

Convierte tus archivos .strings

O pega el contenido de un archivo

Se convierte en tu navegador: no se sube ningún archivo.

Edita el catálogo sin volver a Xcode

LocalePilot es una app de escritorio que abre tus archivos .xcstrings, verifica los placeholders (%@, %1$@, %d), traduce con IA local si quieres y reescribe el archivo con el estilo de Xcode: un catálogo sin cambios sale idéntico byte a byte. Se está terminando para macOS: deja tu correo para enterarte del lanzamiento.

Qué hace el conversor

  • Lee tus archivos .strings (UTF-8 o UTF-16, comentarios /* … */ y //, escapes \n, \" y \U00e9).
  • Fusiona todos los idiomas de una tabla en un único catálogo (Localizable.xcstrings, InfoPlist.xcstrings…): una entrada por clave, con la traducción de cada idioma en estado translated. Las tablas nunca se mezclan.
  • Usa el comentario situado encima de una clave como comentario de la entrada.
  • Señala las claves que faltan en un idioma, las claves definidas dos veces y las líneas ilegibles.

El archivo se escribe con el estilo de Xcode (sangría de 2 espacios, un espacio antes de cada dos puntos) para que tu diff de Git siga siendo legible.

Cómo convertir Localizable.strings a xcstrings

  1. Reúne el archivo Localizable.strings de cada carpeta xx.lproj.
  2. Suelta la carpeta del proyecto o los archivos uno por uno y comprueba el idioma de cada archivo.
  3. Elige el idioma de origen, descarga Localizable.xcstrings y añádelo a tu proyecto de Xcode.
  4. Compila y revisa el diff: las claves marcadas como Stale, las nuevas claves extraídas del código y los especificadores de formato se explican en la guía para migrar a un String Catalog.

Qué no hace el conversor

No lee archivos .stringsdict: los plurales y las variaciones por dispositivo quedan para Xcode o un editor de catálogos. No analiza tu código, así que no añade las cadenas que Xcode extraería de los literales de SwiftUI. Para un proyecto completo, el comando Migrate to String Catalog de Xcode sigue siendo la referencia; esta herramienta es para archivos sueltos, la exportación de un traductor o una prueba rápida.

Preguntas frecuentes

¿Se suben mis archivos .strings a un servidor?

No. Tus archivos se leen localmente y el catálogo se genera en la página: la descarga sale de tu navegador, sin pasar por ningún servidor.

¿Cómo sabe la herramienta el idioma de cada archivo?

Lo lee del nombre de la carpeta xx.lproj cuando sueltas una carpeta, o del nombre del archivo (Localizable_fr.strings). Si no, lo indicas tú antes de generar el catálogo.

¿Por qué no usar la migración de Xcode?

Para un proyecto completo, úsala: también gestiona los .stringsdict y conoce tu código. Este conversor es para archivos sueltos, sin abrir el proyecto, como una exportación de un traductor o una prueba.

¿Se convierten los plurales de .stringsdict?

No, solo se leen los archivos .strings. Los plurales se rehacen en Xcode como variaciones de plural del catálogo.

Mi archivo .strings está en UTF-16, ¿es un problema?

No, la codificación UTF-16 de los archivos generados por Xcode se detecta automáticamente, igual que UTF-8.

¿El catálogo generado es válido?

Es JSON en formato String Catalog (versión 1.0). Compila con xcstringstool de Xcode, pero ábrelo en Xcode y revisa el diff antes de hacer commit.

¿En qué se diferencia de LocalePilot?

Esta herramienta convierte archivos una vez. LocalePilot es una app de escritorio, en fase final para macOS, que edita .xcstrings, verifica los placeholders, traduce con IA y exporta con copia de seguridad.

Recibe un aviso en el lanzamiento

LocalePilot está en su fase final. Deja tu correo para enterarte del lanzamiento.

  • macOS 12 o posterior · Ollama o LM Studio opcionales
  • Interfaz de la app en inglés, francés, español, italiano y portugués.