Traduire

Traduire les fichiers XLIFF 1.2

XLIFF place la source et la traduction côte à côte, avec des balises en ligne entre les deux. Déplacer ou supprimer une balise et le placeholder ou le lien dans l'application est perdu. KAERIS conserve les balises et vous indique si une balise est manquante.

KAERIS a traduit cette page et vérifié chaque ligne en la retraduisant. Un locuteur natif ne l'a pas encore revue. Original anglais

Comment un fichier XLIFF 1.2 est construit

Chaque <trans-unit> contient une <source> et une <target>. À l'intérieur du texte, <x/>, <g> et <ph> représentent des variables et du balisage. Le fichier messages.xlf d'Angular est de ce format.

Fichier sourcemessages.xlf
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file source-language="en" target-language="de" datatype="plaintext" original="app">
    <body>
      <trans-unit id="welcome">
        <source>Welcome back, <x id="1" ctype="x-name"/>!</source>
      </trans-unit>
      <trans-unit id="terms">
        <source>I accept the <g id="2" ctype="x-link">terms</g>.</source>
      </trans-unit>
    </body>
  </file>
</xliff>

Ce qu'il faut surveiller dans les traductions XLIFF

Une vraie exécution : traduite en allemand et vérifiée

Une exécution réelle, le 27 octobre 2026, rien modifié à la main : kaeris translate messages.xlf --langs de avec kaeris 0.2.35, 1,9 secondes, modèle google/gemini-2.5-flash-lite, le défaut du niveau gratuit. Ci-dessous, le fichier allemand qu'il a écrit et ce que kaeris check en dit.

Résultat allemandde/messages.xlf
<?xml version="1.0" encoding="utf-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file original="app" source-language="en" target-language="de" datatype="plaintext">
    <body>
      <trans-unit id="welcome">
        <source>Welcome back, <x id="1" ctype="x-name" />!</source>
        <target state="translated">Willkommen zurück, <x id="1" ctype="x-name" />!</target>
      </trans-unit>
      <trans-unit id="terms">
        <source>I accept the <g id="2" ctype="x-link">terms</g>.</source>
        <target state="translated">Ich akzeptiere die <g id="2" ctype="x-link">Nutzungsbedingungen</g>.</target>
      </trans-unit>
    </body>
  </file>
</xliff>
kaeris checkexit code 0
$ kaeris check --source messages.xlf --langs de
✓ de: complete & placeholder-safe
✓ all locales complete & placeholder-safe

Ce que KAERIS en fait

Exécutez-le en trois étapes

  1. Installer le CLI

    Exécutez pip install kaeris.

  2. Traduire le fichier

    Exécutez kaeris translate src/locale/messages.xlf --langs de,ja.

  3. Vérifier le résultat

    Ouvrez la page de vérification gratuite et chargez le fichier traduit. Un catalogue avec la source et la cible dans un seul fichier est vérifié seul.

pip install kaeris
kaeris translate src/locale/messages.xlf --langs de,ja --verify

Questions

XLIFF 2.0 est-il pris en charge ?

Non. La version 1.2 est prise en charge ; un fichier 2.0 est refusé avec un message l'indiquant.

Les balises inline survivront-elles ?

Elles sont conservées comme balisage brut et comparées à la source après traduction. Dans l'exécution réelle ci-dessus, les balises <x/> et <g> sont revenues avec les mêmes identifiants et la vérification n'a rien eu à signaler ; une balise manquante aurait été signalée.

Est-ce gratuit ?

Oui, sans compte : 10 000 caractères par fichier et jusqu'à 8 langues par exécution. Une clé API gratuite augmente la limite de fichiers à 50 000 caractères. La licence à vie est de 79 $ une fois, sur votre propre clé OpenRouter ; les plans mensuels commencent à 19 $. Tarifs

Puis-je l'exécuter depuis le terminal ou en CI ?

Oui. pip install kaeris, puis kaeris translate src/locale/messages.xlf --langs de,ja. Voir aussi Angular. Le GitHub Action exécute la même traduction dans une pull request. Docs CLI · GitHub Action

Continuer

Référence CLI · Référence Check · Traduire dans le navigateur · Vérification gratuite · Convertir les formats · Localisation fictive

Autres formats : JSON · YAML · .po · ARB · .strings · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · XML Android