Extensões de arquivo |
.xlf, .xliff |
Extensão de API |
symfony_xliff |
Importar |
Sim |
Exportar |
Sim |
Suporte para formas plurais |
Não |
Suporte para descrição |
Sim |
Opções de formato |
enclose_in_cdata include_translation_state |
Symfony é um framework PHP de alto desempenho composto por vários componentes PHP pré-definidos. A localização para aplicações construídas com Symfony pode ocorrer com formatos de arquivo como .XLIFF, .YAML e Arrays PHP.
A diferença entre um Symfony .XLIFF e um padrão .XLIFF está em como eles localizam o que cada <trans-unit>
representa. Enquanto os .XLIFFs padrão (e também a maioria das variações de .XLIFF suportadas por outros frameworks) usam o atributo id
, o Symfony .XLIFF usa o atributo resname
como identificador.
Para garantir que as strings sejam carregadas para o locale correto, o atributo target-language
no cabeçalho do arquivo de um Symfony .XLIFF precisa corresponder ao nome do locale configurado no projeto relevante.
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 |
Inclui o estado das traduções no locale de destino. Cada |
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" resname="boolean_key"> <source xml:lang="de-DE">--- true </source> <target xml:lang="en-GB">--- true </target> </trans-unit> <trans-unit id="empty_string_translation" resname="empty_string_translation"> <source xml:lang="de-DE"/> <target xml:lang="en-GB"/> </trans-unit> <trans-unit id="key_with_description" resname="key_with_description"> <source xml:lang="de-DE">Schau dir das mal an! Dieser Schlüssel hat eine Beschreibung!</source> <target xml:lang="en-GB">Check it out! This key has a description! (Pelo menos em alguns formatos)</target> <note>Sou uma descrição muito importante para esta chave!</note> </trans-unit> <trans-unit id="key_with_line-break" resname="key_with_line-break"> <source xml:lang="pt-BR">Esta tradução tem uma quebra de linha.</source> <target xml:lang="pt-BR">Esta tradução contém uma quebra de linha.</target> </trans-unit> <trans-unit id="nested.deeply.key" resname="nested.deeply.key"> <source xml:lang="pt-BR">Eu sou uma chave profundamente aninhada</source> <target xml:lang="pt-BR">Sou uma chave profundamente aninhada.</target> </trans-unit> <trans-unit id="nested.key" resname="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" resname="null_translation"> <source xml:lang="de-DE"/> <target xml:lang="en-GB"/> </trans-unit> <trans-unit id="sample_collection" resname="sample_collection"> <source xml:lang="de-DE">--- - primeiro item - zweites Item </source> <target xml:lang="en-GB">--- - primeiro item - segundo item - terceiro item </target> </trans-unit> <trans-unit id="simple_key" resname="simple_key"> <source xml:lang="pt-BR">Apenas uma chave simples com uma mensagem simples.</source> <target xml:lang="pt-BR">Apenas uma chave simples com uma mensagem simples.</target> </trans-unit> <trans-unit id="unverified_key" resname="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 por isso. (Em alguns formatos, também exportamos este estado)</target> </trans-unit> </body> </file> </xliff>