Traduci

Traduci file XLIFF 1.2

XLIFF posiziona l'origine e la traduzione fianco a fianco, con tag inline in mezzo. Spostare o eliminare un tag e il segnaposto o il link nell'app viene perso. KAERIS mantiene i tag e ti informa se uno manca.

KAERIS ha tradotto questa pagina e controllato ogni riga ritraducendola. Un madrelingua non l'ha ancora revisionata. Originale in inglese

Come viene creato un file XLIFF 1.2

Ogni <trans-unit> contiene un <source> e un <target>. All'interno del testo, <x/>, <g> e <ph> rappresentano variabili e markup. Il file messages.xlf di Angular è di questo formato.

File sorgentemessages.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>

Cosa controllare nelle traduzioni XLIFF

Un'esecuzione reale: tradotto in tedesco e controllato

Un'esecuzione reale, 27 ottobre 2026, nulla modificato manualmente: kaeris translate messages.xlf --langs de con kaeris 0.2.35, 1,9 secondi, modello google/gemini-2.5-flash-lite, il predefinito del piano gratuito. Sotto, il file tedesco che ha scritto e cosa dice kaeris check al riguardo.

Risultato tedescode/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

Cosa fa KAERIS con esso

Eseguilo in tre passaggi

  1. Installa la CLI

    Esegui pip install kaeris.

  2. Traduci il file

    Esegui kaeris translate src/locale/messages.xlf --langs de,ja.

  3. Controlla il risultato

    Apri la pagina di controllo gratuita e carica il file tradotto. Un catalogo con origine e destinazione in un unico file viene controllato da solo.

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

Domande

XLIFF 2.0 è supportato?

No. La versione 1.2 è supportata; un file 2.0 viene rifiutato con un messaggio che lo indica.

I tag inline sopravvivranno?

Vengono mantenuti come markup grezzo e confrontati con l'origine dopo la traduzione. Nell'esecuzione reale sopra, i tag <x/> e <g> sono tornati con gli stessi ID e il controllo non ha avuto nulla da segnalare; uno scartato sarebbe stato segnalato.

È gratuito?

Sì, senza account: 10.000 caratteri per file e fino a 8 lingue per esecuzione. Una chiave API gratuita aumenta il limite di file a 50.000 caratteri. A vita costa $79 una tantum, sulla tua chiave OpenRouter; i piani mensili partono da $19. Prezzi

Posso eseguirlo dal terminale o in CI?

Sì. pip install kaeris, poi kaeris translate src/locale/messages.xlf --langs de,ja. Vedi anche Angular. La GitHub Action esegue la stessa traduzione in una pull request. Documentazione CLI · GitHub Action

Continua

Riferimento CLI · Riferimento Check · Traduci nel browser · Controllo gratuito · Converti formati · Pseudo-localizzazione

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