Gerenciamento de tradução

Arquivos de localização (strings)

O conteúdo de toda a Central de Ajuda é traduzido automaticamente de inglês pelo Phrase Language AI.

Arquivos de localização são arquivos de texto que podem ser abertos e editados em um editor de texto, como o Bloco de Notas ou o Editor de Texto, ou uma das inúmeras ferramentas de edição de texto aprimoradas usadas por programadores. Esses arquivos geralmente seguem o princípio chave-valor. Isso significa que eles contêm uma lista de trechos de texto (cadeias de caracteres) associados a IDs exclusivos (chaves). Cada cadeia de caracteres é, portanto, um valor de uma chave (Este exemplo simples é o formato de arquivos de localização usados na programação Java.):

  • key1 = value1

  • key2 = value2

  • ...

  • keyN = valueN

Criação de arquivos de localização

Arquivos de localização são arquivos de texto simples com uma estrutura simples. Eles podem ser criados manualmente, mas geralmente são gerados automaticamente por utilitários de internacionalização ou scripts que estão disponíveis para diferentes ambientes de desenvolvimento. A criação automática de arquivos de localização garante que as estruturas de arquivos sejam válidas.

Para criar um arquivo de localização, todas as partes de texto que podem ser exibidas são substituídas por IDs exclusivas nos arquivos de código. As cadeias de caracteres de texto são adicionadas ao arquivo de localização com suas IDs.

Uso de arquivos de localização

Em vez das cadeias de texto reais, o código agora contém apenas chaves. Quando o software gera uma exibição para o usuário, essas chaves são usadas para procurar as cadeias de caracteres associadas no arquivo de localização.

Se um aplicativo estiver configurado para ser usado em inglês e espanhol, todo o texto em inglês poderá ser mantido em um arquivo chamado English.txt e será o local de texto padrão. Se um usuário não selecionar um idioma, todo o texto será extraído desse arquivo para gerar qualquer exibição. Se o usuário selecionar espanhol, o software será redirecionado para Spanish.txt. Muitas linguagens podem ser usadas com um sistema como este.

A vantagem é que a escolha do idioma para a exibição não afeta o código. Se o software precisar exibir um botão de login, ele pode exigir a cadeia de caracteres associada à chave login_button e só precisa saber em qual arquivo procurar para recuperar a cadeia de caracteres apropriada para o idioma especificado.

Gerenciamento de cadeia de caracteres

Como uma plataforma de tradução baseada em chaves, o Phrase oferece suporte a muitos tipos de arquivos de recursos diferentes. Depois que os arquivos são carregados, as chaves e seus valores de cadeia de caracteres associados são extraídos. As teclas e cadeias de caracteres são então apresentadas ao tradutor em um formato padronizado. Os tradutores se concentram em sua tarefa sem ter que se preocupar com o formato exato do arquivo de localização. Eles podem inspecionar as chaves, porque a própria chave pode fornecer contexto crucial e orientá-los a corrigir as escolhas de palavras.

Quando todas as cadeias de caracteres são traduzidas, os arquivos são baixados. No processo, o formato de arquivo de localização necessário é criado que corresponde ao arquivo de origem original.

Formatos de arquivo de recurso

Quatro tipos amplos de recursos são suportados e todos são essencialmente baseados em texto e podem ser abertos e inspecionados em um editor de texto.

Planilhas

. XLSX e . Arquivos CSV são suportados. Esses formatos são equivalentes para fins de localização e contêm linhas de pares chave-valor. As chaves estão em uma linha, enquanto os valores correspondentes estão em uma linha adjacente. Qual coluna exata é usada para qual finalidade depende do aplicativo, e um localizador precisa configurar Frase para interpretar as colunas corretamente. ZenDesk . Os arquivos CSV têm uma estrutura fixa, portanto, esse tipo de arquivo não requer ajustes adicionais:

"Título","Idioma padrão","Texto padrão","Texto em inglês","Status variante"
"simple_key","German","Einfacher Schlüssel.","Simple key.","Current"

XML

XML é um formato que oferece meta informações na forma de <tags>. A estrutura de tags é usada para determinar onde estão as chaves e seus valores correspondentes, conforme mostrado aqui em um arquivo XML do Android:

 <string name="simple_key">Apenas uma chave com uma mensagem.</string>

Dois formatos de tradução XML padrão são . TMX e . XLIFF. Eles não apenas mantêm chaves e valores em um idioma, mas também associam pares de valores de um idioma de origem com valores correspondentes de um idioma de destino. Esses arquivos são tipicamente bilíngues, como esta unidade de tradução em um arquivo Symfony Xliff mostra:

<trans-unit id="simple_key" resname="simple_key">
 <source xml:lang="de-DE">Nur ein einfacher Schlüssel mit einer einfachen Nachricht.</source
<target xml:lang="en-GB">Apenas uma chave simples com uma mensagem simples.</target>
</trans-unit>

Programas QT usam arquivos de recursos com uma estrutura que é muito semelhante a esses formatos padronizados, mas por razões históricas têm um layout diferente.

Listas simples de chaves-valores

Existem arquivos de recursos que contêm apenas listagens simples de chaves e valores, como mostra este trecho de um YAML Ruby on Rails:

simple_key: Apenas uma simples tecla com uma mensagem simples.

Muitas linguagens de programação ou plataformas diferentes usam esses formatos com pequenas diferenças de layout.

Uma vez que estes são arquivos monolíngues, um programa de localização precisa manter versões paralelas de tais arquivos - um para o idioma de origem e outros para os idiomas de destino.

Gettext produz arquivos de chave-valor contendo informações adicionais, como comentários descritivos ou variantes plurais:

# Esta é a descrição incrível para esta chave!
msgid "key_with_description"
msgid_plural ""
msgstr[0] "Confira! Esta chave tem uma descrição! (Pelo menos em alguns formatos)"
msgstr[1] "Confira! Essa chave tem %s descrições! (Pelo menos em alguns formatos)"

Existem formatos concorrentes com funcionalidades e layouts semelhantes que variam de maneiras relativamente menores.

Matrizes associativas

Enquanto outros formatos exigem código personalizado (analisadores) para lê-los, alguns formatos são mais fáceis para desenvolvedores e localizadores. Formatos baseados em . JSON (JavaScript) e . Os arrays PHP podem ser lidos e mapeados diretamente em estruturas de código comuns (arrays) que são fáceis de manipular. Os arrays podem ser complexos e diferentes aplicativos geram estruturas de array personalizadas.

Por exemplo, go-i18n JSON refere-se a chaves como id:

{
    "id": "simple_key",
    "tradução": "chave simples, mensagem simples, tão simples."
},

O Angular usa as próprias chaves como chaves em suas matrizes:

"simple_key": "Eu sou uma chave simples com uma mensagem simples.".

Uma vez que existem essas diferenças menores, mas cruciais, amplamente utilizadas. JSON e . Estruturas de matriz PHP são suportadas.

Esse artigo foi útil?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.