Traduções do Symfony2 com práticas recomendadas XLIFF/XLF
-
26-12-2019 - |
Pergunta
Comecei a usar o sistema de tradução do Symfony2.
Tudo funciona muito bem.
No entanto, tenho uma pergunta sobre as melhores práticas quando se trata de fazer referência à string de origem/destino de um arquivo de visualização twig.
Dado isto:
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="1">
<source>Short String</source>
<target>Short String</target>
</trans-unit>
<trans-unit id="2">
<source>Some really long string for example a paragraph about some random thing that is likely to change in the future</source>
<target>Some really long string for example a paragraph about some random thing that is likely to change in the future</target>
</trans-unit>
</body>
</file>
</xliff>
Não há problemas em usar como:
{% trans_default_domain 'messages' %}
<h3>{{ 'Multicoin Cryptocurrency Online Wallet' | trans }}</h3>
<p>{{ 'Some really long string for example a paragraph about some random thing that is likely to change in the future' | trans }}</p>
Eu sei que você pode na seção de fontes usar referências curtas de fontes como:
<trans-unit id="2">
<source>page.long.paragraph</source>
<target>Some really long string for example a paragraph about some random thing that is likely to change in the future</target>
</trans-unit>
O que torna a parte do galho muito mais limpa:
{% trans_default_domain 'messages' %}
<h3>{{ 'Multicoin Cryptocurrency Online Wallet' | trans }}</h3>
<p>{{ 'page.long.paragraph' | trans }}</p>
A questão é se eu quiser fornecer o arquivo de tradução original para um tradutor traduzir para outro idioma, seria muito melhor ter toda a string que precisa ser traduzida no campo.No entanto, isso torna o código do twig um tanto desarrumado.Existe outra maneira de referenciar a string de traduções no twig sem ter que usar toda a string de origem?
Solução
Não, você só tem 2 opções:Mensagens reais ou mensagens de palavras-chave.
E sim, mensagens de palavras-chave não funcionam tão facilmente se você estiver adicionando um novo idioma.E o Xliff não tem um bom suporte para isso.Essa é a razão pela qual você vê as mensagens reais sendo usadas ao usar arquivos Xliff.