|
Extensões de arquivo |
.xlf, .xliff |
|
Extensão de API |
xlf |
|
Importar |
Sim |
|
Exportar |
Sim |
|
Suporte para formas plurais |
Sim |
|
Suporte para descrição |
Sim |
|
Opções de formato Essas opções podem ser especificadas quando um arquivo é enviado e/ou baixado. Dependendo do método de upload/download (API, CLI, sincronização de repositório etc.), elas podem ser especificadas em parâmetros de consulta |
enclose_in_cdata include_translation_state indent_size indent_style ignore_source_translations ignore_target_translations export_key_id_as_resname export_key_name_hash_as_extradata override_file_language strip_placeholder_delimiters delimit_placeholders |
O formato de arquivo mais amplamente utilizado na indústria de tradução. Pode ser visto como o espelho do arquivo de origem que divide o conteúdo original em vários segmentos armazenados em tags (por exemplo, <trans-unit>, <seg-source>).
XLIFF é baseado em XML e sujeito a convenções básicas de XML, como validade e estar bem formado. Sempre complete uma verificação de sanidade antes da tradução, mudando a extensão do arquivo de .xliff (.xlf) para .xml e abrindo-o em um navegador da web. Se o arquivo for válido, uma estrutura de documento bem organizada é apresentada e, se não, ele será irreproduzível ou apresentará uma mensagem de erro.
XLIFF foi atualizado para XLIFF 2.0. É semelhante ao XLIFF mais amplamente utilizado, mas é um formato de arquivo diferente, geralmente incompatível com XLIFF.
Xcode pode empacotar strings localizáveis no formato padrão da indústria XLIFF para serem enviadas para localização com Phrase.
Opções de formato
|
Identificador |
enclose_in_cdata |
|
Tipo |
Booleano |
|
Upload |
Não |
|
Download |
Sim |
|
Padrão |
false |
|
Descrição |
Envolve traduções contendo tags html em CDATA. Se desativado, entidades HTML não suportadas são substituídas por seus valores decodificados. Por exemplo:
|
|
Identificador |
include_translation_state |
|
Tipo |
Booleano |
|
Upload |
Não |
|
Download |
Sim |
|
Padrão |
false |
|
Descrição |
Inclua o estado das traduções no local de destino. Cada |
|
Identificador |
indent_size |
|
Tipo |
integer |
|
Upload |
Não |
|
Download |
Sim |
|
Padrão |
4 |
|
Descrição |
Especifica o número de caracteres de indentação |
|
Identificador |
indent_style |
|
Tipo |
string |
|
Upload |
Não |
|
Download |
Sim |
|
Padrão |
espaço |
|
Descrição |
Especifica o caractere de indentação. Os valores permitidos são |
|
Identificador |
ignore_source_translations |
|
Tipo |
Booleano |
|
Upload |
Sim |
|
Baixar |
Não |
|
Padrão |
false |
|
Descrição |
Ignora as traduções de origem no arquivo durante o upload (para evitar atualizações acidentais do idioma de origem) |
|
Identificador |
ignore_target_translations |
|
Tipo |
Booleano |
|
Upload |
Sim |
|
Baixar |
Não |
|
Padrão |
false |
|
Descrição |
Ignora as traduções de destino no arquivo durante o upload (para evitar atualizações acidentais do idioma de origem) |
|
Identificador |
export_key_id_as_resname |
|
Tipo |
Booleano |
|
Upload |
Não |
|
Download |
Sim |
|
Padrão |
false |
|
Descrição |
Exporta o ID da chave como o atributo resname. |
|
Identificador |
export_key_name_hash_as_extradata |
|
Tipo |
Booleano |
|
Upload |
Não |
|
Download |
Sim |
|
Padrão |
false |
|
Descrição |
Exporta o hash do nome da chave como o atributo extradata. |
|
Identificador |
override_file_language |
|
Tipo |
Booleano |
|
Upload |
Sim |
|
Baixar |
Não |
|
Padrão |
false |
|
Descrição |
Este formato de arquivo normalmente contém informações de idioma no próprio arquivo. Use esta opção para substituir o idioma por um que você especificar. |
|
Identificador |
strip_placeholder_delimiters |
|
Tipo |
Booleano |
|
Upload |
Sim |
|
Baixar |
Não |
|
Padrão |
false |
|
Descrição |
Remove |
|
Identificador |
delimit_placeholders |
|
Tipo |
Booleano |
|
Upload |
Não |
|
Download |
Sim |
|
Padrão |
false |
|
Descrição |
Envolva os marcadores de posição da tradução em |
Amostra de código
<?xml version="1.0" encoding="UTF-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file original="global" datatype="plaintext" source-language="de-DE" target-language="en-GB">
<body>
<trans-unit id="boolean_key">
<source xml:lang="de-DE">--- true
</source>
<target xml:lang="en-GB">--- true
</target>
</trans-unit>
<trans-unit id="empty_string_translation">
<source xml:lang="de-DE"/>
<target xml:lang="en-GB"/>
</trans-unit>
<trans-unit id="key_with_description">
<source xml:lang="pt-BR">Dê uma olhada nisso! Esta chave tem uma descrição!</source>
<target xml:lang="pt-BR">Confira isso! This key has a description! (Pelo menos em alguns formatos)</target>
<note>Esta é a descrição incrível para esta chave!</note>
</trans-unit>
<trans-unit id="key_with_line-break">
<source xml:lang="pt-BR">Esta tradução contém
einen Zeilenumbruch.</source>
<target xml:lang="pt-BR">Esta tradução contém
uma quebra de linha.</target>
</trans-unit>
<trans-unit id="nested.deeply.key">
<source xml:lang="pt-BR">Eu sou uma chave profundamente aninhada.</source>
<target xml:lang="pt-BR">Eu sou uma chave profundamente aninhada.</target>
</trans-unit>
<trans-unit id="nested.key">
<source xml:lang="pt-BR">Esta chave está aninhada dentro de um namespace.</source>
<target xml:lang="pt-BR">Esta chave está aninhada dentro de um namespace.</target>
</trans-unit>
<trans-unit id="null_translation">
<source xml:lang="de-DE"/>
<target xml:lang="en-GB"/>
</trans-unit>
<trans-unit id="sample_collection">
<source xml:lang="de-DE">---
- primeiro item
- segundo item
</source>
<target xml:lang="en-GB">---
- first item
- second item
- third item
</target>
</trans-unit>
<trans-unit id="simple_key">
<source xml:lang="de-DE">Einfacher Schlüssel, einfache Nachricht, so einfach</source>
<target xml:lang="pt-BR">Chave simples, mensagem simples, tão simples.</target>
</trans-unit>
<trans-unit id="unverified_key">
<source xml:lang="pt-BR">Esta tradução ainda não foi verificada e está aguardando!</source>
<target xml:lang="pt-BR">Esta tradução ainda não foi verificada e está aguardando.</target> (Em alguns formatos, também exportamos este estado)</target>
</trans-unit>
</body>
</file>
</xliff>
Formas plurais
As chaves pluralizadas são exportadas usando a seguinte sintaxe:
<trans-unit id="plural_key">
<source xml:lang="pt-BR">{"one":"uma cadeira","other":"{nrOfChairs} cadeiras","zero":"nenhuma cadeira"}</source>
<target xml:lang="pt-BR">{"one":"uma cadeira","other":"{nrOfChairs} cadeiras","zero":"nenhuma cadeira"}</target>
</trans-unit>