Skip to main content
AI agent network visualization

Traduzir ficheiros XLIFF sem corromper o XML

Pares de origem e destino alinhados. Notas dos tradutores preservadas. Estrutura XML intacta. Os seus ficheiros XLIFF traduzidos corretamente nos formatos 1.2 e 2.0.

A tradução de XLIFF é um campo minado de XML

O XLIFF é a norma do setor para intercâmbio de traduções, mas a sua estrutura XML torna-o frágil. As ferramentas genéricas quebram o XML, perdem a associação entre origem e destino, removem notas dos tradutores e falham perante as diferenças entre XLIFF 1.2 e 2.0. Basta uma etiqueta mal formada para falhar toda a importação na ferramenta CAT.

A estrutura XML fica corrompida: etiquetas por fechar, entidades danificadas e caracteres inválidos que falham na validação

Os segmentos de origem e destino ficam desalinhados, impossibilitando a revisão das traduções nas ferramentas CAT

As notas dos tradutores, indicações de contexto e elementos de metadados são removidos ou deslocados, perdendo-se contexto essencial

XLIFF 1.2 e 2.0 utilizam esquemas diferentes; as ferramentas que tratam uma versão quebram frequentemente a outra

Origem (inglês)
messages.en.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="messages">
    <header>
      <note>Application UI strings</note>
    </header>
    <body>
      <trans-unit id="welcome.title" approved="yes">
        <source>Welcome to our platform</source>
        <target>Willkommen auf unserer Plattform</target>
        <note from="developer">Shown on the landing page</note>
      </trans-unit>
      <trans-unit id="nav.dashboard">
        <source>Dashboard</source>
        <target state="needs-review">Dashboard</target>
      </trans-unit>
      <trans-unit id="user.greeting">
        <source>Hello, %1$s!</source>
        <target>Hallo, %1$s!</target>
        <note from="developer">%1$s = user's first name</note>
      </trans-unit>
      <trans-unit id="items.count">
        <source>You have %d items</source>
        <target>Sie haben %d Artikel</target>
      </trans-unit>
    </body>
  </file>
</xliff>
Traduzido (alemão)
messages.de.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="messages">
    <header>
      <note>Application UI strings</note>
    </header>
    <body>
      <trans-unit id="welcome.title" approved="yes">
        <source>Welcome to our platform</source>
        <target state="translated">Willkommen auf unserer Plattform</target>
        <note from="developer">Shown on the landing page</note>
      </trans-unit>
      <trans-unit id="nav.dashboard">
        <source>Dashboard</source>
        <target state="translated">Dashboard</target>
      </trans-unit>
      <trans-unit id="user.greeting">
        <source>Hello, %1$s!</source>
        <target state="translated">Hallo, %1$s!</target>
        <note from="developer">%1$s = user's first name</note>
      </trans-unit>
      <trans-unit id="items.count">
        <source>You have %d items</source>
        <target state="translated">Sie haben %d Artikel</target>
      </trans-unit>
    </body>
  </file>
</xliff>

O que o i18n Agent preserva

Estrutura XML

Resultado XML válido, com espaços de nomes, entidades e codificação corretos, que passa na validação do esquema XLIFF

Associação entre origem e destino

Os segmentos de origem e destino permanecem corretamente associados. As unidades de tradução mantêm os respetivos ID e ordem.

Notas e metadados

As notas dos tradutores, grupos de contexto e elementos de metadados personalizados são preservados nas posições originais

Compatibilidade de versões

Os esquemas XLIFF 1.2 (trans-unit) e XLIFF 2.0 (unit/segment) são detetados e tratados corretamente

Funciona com o seu stack de localização

i18n do Angular (XLIFF nativo)
Localização de iOS / Xcode
Ferramentas CAT (SDL Trados, memoQ)
memoQ / Memsource

Como funciona

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

Sem copiar e colar manualmente. Sem extrair cadeias. Apenas ficheiros traduzidos.

Experimente já o i18n Agent

Largue aqui o seu ficheiro de tradução

JSON, YAML, PO, XML, CSV, Markdown, Properties

ou clique para selecionar

Idiomas de destino

Sem registoEstimativa imediata

Perguntas frequentes

É programador?

Instale a ferramenta de CLI e traduza o seu primeiro ficheiro em 2 minutos.

Instalar a ferramenta de CLI

Equipa empresarial?

A sua equipa ainda está vinculada a um contrato de TMS? Falemos sobre a migração.