Formatos de arquivo de localização

O Weblate suporta uma ampla gama de formatos de tradução. Cada formato é ligeiramente diferente e fornece um conjunto diferente de capacidades.

Dica

Ao escolher um formato de arquivo para o seu aplicativo, é melhor colocar algum formato bem estabelecido no kit de ferramentas/plataforma que você usa. Dessa forma, seus tradutores podem usar adicionalmente todas as ferramentas que estão acostumados, e provavelmente contribuirão para o seu projeto.

Detecção automática

O Weblate tenta detectar o formato do arquivo enquanto vai Adicionando projetos e componentes de tradução. A detecção pode estar errada para diferentes variantes do mesmo formato de serialização (JSON, YAML, propriedades) ou codificação de arquivo, então verifique se o Formato de arquivo está correto antes de criar o componente.

Capacidades dos tipos de tradução

Capacidades de todos os formatos suportados

Formato

Lingualidade [1]

Plurais [2]

Descrição [3]

Contexto [4]

Local [5]

Marcadores [8]

Estados adicionais [6]

GNU gettext PO (Objeto Portátil)

bilíngue

sim

sim

sim

sim

sim [9]

necessita edição

Gettext monolíngue

mono

sim

sim

sim

sim

sim [9]

necessita edição

XLIFF

ambos

sim

sim

sim

sim

sim

necessita edição, aprovado

Propriedades Java

ambos

não

sim

não

não

não

Arquivo lang draggable/i18n

mono

não

sim

não

não

não

Propriedades GWT

mono

sim

sim

não

não

não

Traduções para Joomla

mono

não

sim

não

sim

não

.ts de Qt Linguist

ambos

sim

sim

não

sim

sim

necessita edição

Recurso de textos do Android

mono

sim

sim [7]

não

não

sim

Textos de Apple iOS

ambos

não

sim

não

não

não

Textos de PHP

mono

não [10]

sim

não

não

não

Arquivos JSON

mono

não

não

não

não

não

Arquivos JSON i18next

mono

sim

não

não

não

não

Arquivos JSON go-i18n

mono

sim

sim

não

não

não

Arquivos JSON gotext

mono

sim

sim

não

sim

não

Arquivo ARB

mono

sim

sim

não

não

não

JSON para WebExtension

mono

sim

sim

não

não

não

Arquivos de recursos .NET (RESX, RESW)

mono

não

sim

não

não

sim

Arquivos de ResourceDictionary

mono

não

não

não

não

sim

Arquivos CSV

ambos

não

sim

sim

sim

não

necessita edição

Arquivos YAML

mono

não

não

não

não

não

Arquivos Ruby YAML

mono

sim

não

não

não

não

Arquivos DTD

mono

não

não

não

não

não

Arquivos XML simples

mono

não

não

não

não

sim

Arquivos RC do Windows

mono

não

sim

não

não

não

Excel Open XML

mono

não

sim

sim

sim

não

necessita edição

Arquivos de metadados da App Store

mono

não

não

não

não

não

Arquivos de legenda

mono

não

não

não

sim

não

Arquivos HTML

mono

não

não

não

não

não

Arquivos de Markdown

mono

não

não

não

não

não

Formato OpenDocument

mono

não

não

não

não

não

Formato IDML

mono

não

não

não

não

não

Traduções de INI

mono

não

não

não

não

não

Traduções de Inno Setup INI

mono

não

não

não

não

não

Formato TermBase eXchange

bilíngue

não

sim

não

não

sim

Arquivos de texto

mono

não

não

não

não

não

Formato stringsdict

mono

sim

não

não

não

não

Formato Fluent

mono

não [11]

sim

não

não

não

Formatos bilíngues e monolíngues

Ambos os formatos monolingual e bilingual são suportados. Formatos bilíngues armazenam dois idiomas em um único arquivo e tradução (exemplos típicos são GNU gettext PO (Objeto Portátil), XLIFF ou Textos de Apple iOS). Por outro lado, formatos monolíngues identificam o texto por ID, e cada arquivo de idioma contém apenas o mapeamento desses para qualquer idioma (tipicamente Recurso de textos do Android). Alguns formatos de arquivo são utilizados em ambas as variantes, veja a descrição detalhada abaixo.

Para o uso correto de arquivos monolíngues, Weblate requer acesso a um arquivo contendo uma lista completa de textos para traduzir com sua fonte – este arquivo é chamado de Arquivo de idioma da base monolíngue dentro do Weblate, embora a nomenclatura possa variar no seu paradigma.

Além disso este fluxo de trabalho pode ser estendido usando Arquivo de idioma intermediário para incluir textos fornecidos pelos desenvolvedores, mas não para ser usado como está nos textos finais.

Estados de textos

Muitos formatos de arquivo diferenciam apenas textos “Não traduzidos” e “Traduzidos”. Com alguns formatos, é possível armazenar informações de estado mais refinadas, como “Necessita edição” ou “Aprovado”.

Descrição do texto fonte

As descrições de textos fonte podem ser usadas para passar informações adicionais sobre o texto para traduzir.

Vários formatos têm suporte nativo para fornecer informações adicionais aos tradutores (por exemplo, XLIFF, GNU gettext PO (Objeto Portátil), JSON para WebExtension, Arquivos CSV, Excel Open XML, .ts de Qt Linguist, Arquivos JSON go-i18n, Arquivos JSON gotext, Arquivo ARB, Arquivos de recursos .NET (RESX, RESW)). Muitos outros formatos extraem o comentário mais próximo como descrição do texto fonte.

Explicação

A Explicação em textos pode ser armazenada e analisada a partir de alguns formatos de arquivo.

Atualmente suportada apenas em Formato TermBase eXchange.

Local do texto fonte

O local de um texto no código-fonte pode ajudar tradutores proficientes a descobrir como o texto é usado.

Essas informações geralmente estão disponíveis em formatos bilíngues, onde os textos são extraídos do código-fonte usando ferramentas. Por exemplo, GNU gettext PO (Objeto Portátil) e .ts de Qt Linguist.

Marcadores de tradução

Os sinalizadores de tradução permitem personalizar o comportamento do Weblate. Alguns formatos suportam a definição deles no arquivo de tradução (você sempre pode defini-los na interface do Weblate, veja Personalizando comportamento usando marcadores).

Este recurso é modelado em sinalizadores em GNU gettext PO (Objeto Portátil).

Adicionalmente, para todo formato baseado em XML, os marcadores são extraídos do atributo não padrão weblate-flags. Adicionalmente, o max-length:N é suportado através do atributo maxwidth como definido no padrão XLIFF, veja Especificando marcadores de tradução.

Contexto

O contexto é usado para diferenciar textos idênticos em um formato bilíngue usado em diferentes escopos (por exemplo, Sun pode ser usado como um nome abreviado do dia “Sunday” ou como o nome de nossa estrela mais próxima).

Para formatos monolíngues, o identificador de texto (geralmente chamado de chave) pode servir ao mesmo propósito e não é necessário contexto adicional.

Textos pluralizados

Os plurais são necessários para localizar adequadamente os textos com contagem variável. As regras dependem de um idioma de destino e muitos formatos seguem a especificação CLDR para isso.

Dica

Textos pluralizantes também precisam de suporte adequado da estrutura do aplicativo. Escolha o formato nativo da sua plataforma, como GNU gettext PO (Objeto Portátil), Recurso de textos do Android ou Formato stringsdict.

Textos somente leitura

O textos de somente leitura dos arquivos de tradução serão incluídos, mas não podem ser editados no Weblate. Esse recurso é suportado nativamente por poucos formatos (XLIFF e Recurso de textos do Android), mas pode ser emulado em outros adicionando um marcador read-only, consulte Personalizando comportamento usando marcadores.

Suportando outros formatos

A maioria dos formatos suportados pelo translate-toolkit que tem suporte a serialização pode ser facilmente suportado, mas eles não (ainda) receberam nenhum teste. Na maioria dos casos, alguma camada fina é necessária no Weblate para ocultar diferenças no comportamento de diferentes armazenamentos do translate-toolkit.

Para adicionar suporte para um novo formato, a abordagem preferida é primeiro implementar o suporte para ele no translate-toolkit.