Lingo.dev + XLIFF
Lingo.dev CLI traduce archivos XLIFF (XML Localization Interchange File Format) preservando la estructura del documento, las unidades de traducción y los estados del flujo de trabajo. La CLI es compatible con los formatos XLIFF 1.2 y 2.0, mantiene los metadatos del idioma de origen, preserva las jerarquías de archivo/grupo/unidad, gestiona secciones CDATA para contenido sensible a XML, y se integra con flujos de trabajo de traducción profesional y herramientas CAT.
Configuración rápida
Configuración para archivos XLIFF:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"xliff": {
"include": ["localization/[locale].xliff"]
}
}
}
Recordatorio: [locale]
es un marcador de posición que debe permanecer literalmente en la configuración, ya que se reemplaza con el locale real durante la ejecución de la CLI.
Traducir archivos XLIFF
npx lingo.dev@latest i18n
Preserva la estructura XLIFF, los estados de traducción y los metadatos del flujo de trabajo de traducción profesional mientras traduce el contenido.
Estructura de archivos XLIFF
Formato XLIFF 1.2
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file original="app.strings" source-language="en" target-language="es" datatype="plaintext">
<header></header>
<body>
<trans-unit id="welcome" resname="welcome.message">
<source>Welcome to our application</source>
<target state="translated">Bienvenido a nuestra aplicación</target>
</trans-unit>
<trans-unit id="login" resname="auth.login">
<source>Log In</source>
<target state="new"></target>
</trans-unit>
</body>
</file>
</xliff>
Formato XLIFF 2.0
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="en">
<file id="messages">
<unit id="welcome">
<segment>
<source>Welcome to our application</source>
</segment>
</unit>
<group id="auth">
<unit id="login">
<segment>
<source>Log In</source>
</segment>
</unit>
</group>
</file>
</xliff>
Generación de claves
Las claves XLIFF se generan de forma determinista con codificación URL:
Claves XLIFF 1.2
- Basadas en el atributo
resname
, luegoid
, luego texto fuente - Formato simple:
welcome.message
,auth.login
Claves XLIFF 2.0
- Estructura de ruta jerárquica:
resources/{fileId}/{groupPath}{unitId}/source
- Rutas codificadas en URL:
resources%2Fmessages%2Fauth%2FgroupUnits%2Flogin%2Fsource
- Los grupos crean rutas anidadas con el separador
groupUnits
Características específicas de XLIFF
Estados de traducción
<!-- Estados de destino en XLIFF 1.2 -->
<target state="new">Contenido sin traducir</target>
<target state="translated">Contenido traducido</target>
<target state="reviewed">Traducción revisada</target>
<target state="final">Traducción final aprobada</target>
Los estados de traducción se conservan y actualizan durante el procesamiento.
Metadatos del idioma de origen
<!-- XLIFF 1.2 -->
<file source-language="en-US" target-language="es-ES">
<!-- XLIFF 2.0 -->
<xliff srcLang="en-US" trgLang="es-ES">
La información del idioma de origen se conserva y actualiza automáticamente.
Secciones CDATA
<source><![CDATA[Contenido con <etiquetas> y caracteres "especiales"]]></source>
Las secciones CDATA se utilizan automáticamente para contenido que contiene caracteres sensibles para XML.
Organización de grupos
<!-- Grupos XLIFF 2.0 para organización lógica -->
<group id="navigation">
<unit id="home"><segment><source>Home</source></segment></unit>
<unit id="settings"><segment><source>Settings</source></segment></unit>
</group>
Las estructuras jerárquicas de grupos se conservan y se reflejan en las rutas de claves.
Configuración avanzada
Múltiples archivos XLIFF
"xliff": {
"include": [
"localization/app_[locale].xliff",
"localization/ui_[locale].xliff"
]
}
Extensiones de archivo
"xliff": {
"include": [
"translations/[locale].xliff",
"translations/[locale].xlf"
]
}
Se admiten tanto las extensiones .xliff
como .xlf
.
Bloquear unidades de traducción
"xliff": {
"include": ["localization/[locale].xliff"],
"lockedKeys": ["app.version", "build.number"]
}
Flujo de trabajo de traducción profesional
Los archivos XLIFF se integran perfectamente con:
- Herramientas CAT (Traducción Asistida por Computadora)
- Sistemas de gestión de traducción (TMS)
- Flujos de trabajo de traductores profesionales
- Procesos de control de calidad
- Sistemas de memoria de traducción
La CLI preserva todos los metadatos del flujo de trabajo mientras permite la traducción impulsada por IA para una localización rápida.