Lingo.dev + XLIFF
Lingo.dev CLI traduit les fichiers XLIFF (XML Localization Interchange File Format) tout en préservant la structure du document, les unités de traduction et les états de flux de travail. Le CLI prend en charge les formats XLIFF 1.2 et 2.0, maintient les métadonnées de la langue source, préserve les hiérarchies fichier/groupe/unité, gère les sections CDATA pour le contenu sensible au XML, et s'intègre avec les flux de travail de traduction professionnels et les outils de TAO.
Configuration rapide
Configuration pour les fichiers XLIFF :
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"xliff": {
"include": ["localization/[locale].xliff"]
}
}
}
Rappel : [locale]
est un placeholder qui doit rester littéralement dans la configuration, car il est remplacé par la locale réelle lors de l'exécution du CLI.
Traduire des fichiers XLIFF
npx lingo.dev@latest i18n
Préserve la structure XLIFF, les états de traduction et les métadonnées de flux de travail de traduction professionnelle tout en traduisant le contenu.
Structure des fichiers XLIFF
Format 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>
Format 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>
Génération de clés
Les clés XLIFF sont générées de manière déterministe avec encodage URL :
Clés XLIFF 1.2
- Basées sur l'attribut
resname
, puisid
, puis le texte source - Format simple :
welcome.message
,auth.login
Clés XLIFF 2.0
- Structure de chemin hiérarchique :
resources/{fileId}/{groupPath}{unitId}/source
- Chemins encodés en URL :
resources%2Fmessages%2Fauth%2FgroupUnits%2Flogin%2Fsource
- Les groupes créent des chemins imbriqués avec le séparateur
groupUnits
Fonctionnalités spécifiques à XLIFF
États de traduction
<!-- États cibles XLIFF 1.2 -->
<target state="new">Contenu non traduit</target>
<target state="translated">Contenu traduit</target>
<target state="reviewed">Traduction révisée</target>
<target state="final">Traduction finale approuvée</target>
Les états de traduction sont préservés et mis à jour pendant le traitement.
Métadonnées de langue source
<!-- XLIFF 1.2 -->
<file source-language="en-US" target-language="es-ES">
<!-- XLIFF 2.0 -->
<xliff srcLang="en-US" trgLang="es-ES">
Les informations de langue source sont automatiquement préservées et mises à jour.
Sections CDATA
<source><![CDATA[Contenu avec <balises> & caractères "spéciaux"]]></source>
Les sections CDATA sont utilisées automatiquement pour le contenu contenant des caractères sensibles au XML.
Organisation des groupes
<!-- Groupes XLIFF 2.0 pour l'organisation logique -->
<group id="navigation">
<unit id="home"><segment><source>Home</source></segment></unit>
<unit id="settings"><segment><source>Settings</source></segment></unit>
</group>
Les structures hiérarchiques des groupes sont préservées et reflétées dans les chemins de clés.
Configuration avancée
Fichiers XLIFF multiples
"xliff": {
"include": [
"localization/app_[locale].xliff",
"localization/ui_[locale].xliff"
]
}
Extensions de fichiers
"xliff": {
"include": [
"translations/[locale].xliff",
"translations/[locale].xlf"
]
}
Les extensions .xliff
et .xlf
sont toutes deux prises en charge.
Verrouiller les unités de traduction
"xliff": {
"include": ["localization/[locale].xliff"],
"lockedKeys": ["app.version", "build.number"]
}
Flux de travail de traduction professionnelle
Les fichiers XLIFF s'intègrent parfaitement avec :
- Les outils de TAO (Traduction Assistée par Ordinateur)
- Les systèmes de gestion de traduction (TMS)
- Les flux de travail des traducteurs professionnels
- Les processus d'assurance qualité
- Les systèmes de mémoire de traduction
La CLI préserve toutes les métadonnées du flux de travail tout en permettant la traduction assistée par IA pour une localisation rapide.