Localization file formats¶
Weblate supports a wide range of translation formats. Each format is slightly different and provides a different set of capabilities.
Dica
Ao escolher um formato de ficheiro para a sua aplicação, é melhor pôr algum formato bem estabelecido no kit de ferramentas/plataforma que usa. Dessa forma, os seus tradutores podem usar adicionalmente todas as ferramentas que estão acostumados e provavelmente contribuirão para o seu projeto.
Veja também
Deteção automática¶
O Weblate tenta detetar o formato do ficheiro 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 ficheiro, então verifique se o Formato de ficheiro está correto antes de criar o componente.
Capacidades dos tipos de tradução¶
Formato |
Lingualidade [1] |
Plurais [2] |
Descrição [3] |
Contexto [4] |
Localização [5] |
Marcadores [8] |
Estados adicionais [6] |
|---|---|---|---|---|---|---|---|
bilíngue |
sim |
sim |
sim |
sim |
sim [9] |
necessita edição |
|
mono |
sim |
sim |
sim |
sim |
sim [9] |
necessita edição |
|
ambos |
sim |
sim |
sim |
sim |
sim |
necessita edição, aprovado |
|
ambos |
não |
sim |
não |
não |
não |
||
mono |
não |
sim |
não |
não |
não |
||
mono |
sim |
sim |
não |
não |
não |
||
mono |
não |
sim |
não |
sim |
não |
||
ambos |
sim |
sim |
não |
sim |
sim |
necessita edição |
|
mono |
sim |
sim [7] |
não |
não |
sim |
||
ambos |
não |
sim |
não |
não |
não |
||
mono |
não [10] |
sim |
não |
não |
não |
||
mono |
não |
não |
não |
não |
não |
||
mono |
sim |
não |
não |
não |
não |
||
mono |
sim |
sim |
não |
não |
não |
||
mono |
sim |
sim |
não |
sim |
não |
||
mono |
sim |
sim |
não |
não |
não |
||
mono |
sim |
sim |
não |
não |
não |
||
mono |
não |
sim |
não |
não |
sim |
||
mono |
não |
não |
não |
não |
sim |
||
ambos |
não |
sim |
sim |
sim |
não |
necessita edição |
|
mono |
não |
não |
não |
não |
não |
||
mono |
sim |
não |
não |
não |
não |
||
mono |
não |
não |
não |
não |
não |
||
mono |
não |
não |
não |
não |
sim |
||
mono |
não |
sim |
não |
não |
não |
||
mono |
não |
sim |
sim |
sim |
não |
necessita edição |
|
mono |
não |
não |
não |
não |
não |
||
mono |
não |
não |
não |
sim |
não |
||
mono |
não |
não |
não |
não |
não |
||
mono |
não |
não |
não |
não |
não |
||
mono |
não |
não |
não |
não |
não |
||
mono |
não |
não |
não |
não |
não |
||
mono |
não |
não |
não |
não |
não |
||
mono |
não |
não |
não |
não |
não |
||
bilíngue |
não |
sim |
não |
não |
sim |
||
mono |
não |
não |
não |
não |
não |
||
mono |
sim |
não |
não |
não |
não |
||
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 bilingues armazenam dois idiomas num único ficheiro e tradução (exemplos típicos são GNU gettext PO (Objeto Portátil), XLIFF ou Cadeias de carateres para Apple iOS). Por outro lado, formatos monolingues identificam a cadeia por ID e cada ficheiro de idioma contém apenas o mapeamento desses para qualquer idioma (tipicamente Recursos de cadeias de carateres para Android). Alguns formatos de ficheiro são utilizados em ambas as variantes, veja a descrição detalhada abaixo.
Para o uso correto de ficheiros monolingues, Weblate requer acesso a um ficheiro a conter uma lista completa de cadeias para traduzir com a fonte dele – este ficheiro é chamado de Ficheiro de idioma base monolingue dentro do Weblate, embora a nomenclatura possa variar no seu paradigma.
Além disso, este fluxo de trabalho pode ser estendido a usar Ficheiro de idioma intermédio para incluir cadeias fornecidas pelos programadores, mas não para ser usado como está nos textos finais.
String states¶
Muitos formatos de ficheiro diferenciam apenas cadeias «Não traduzidos» e «Traduzidos». Com alguns formatos, é possível armazenar informações de status mais refinadas, como «Necessita de edição» ou «Aprovado».
Descrição da cadeia fonte¶
As descrições da cadeia fonte podem ser usadas para passar informações adicionais sobre a cadeia a 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 WebExtension, Ficheiros CSV, Excel Open XML, .ts de Qt Linguist, Ficheiros JSON go-i18n, Ficheiros gotext JSON, Ficheiro ARB, Ficheiros de recursos .NET (RESX, RESW)). Muitos outros formatos extraem o comentário mais próximo como descrição da cadeia fonte.
Explicação¶
A Explicação em cadeias pode ser armazenada e analisada a partir de alguns formatos de ficheiro.
Currently supported only in Formato TermBase eXchange.
Localização da cadeia fonte¶
A localização de uma cadeia no código-fonte pode ajudar tradutores proficientes a descobrir como a cadeia é usada.
Essas informações geralmente estão disponíveis em formatos bilíngues, onde os cadeias são extraídas 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 ficheiro de tradução (sempre pode defini-los na interface do Weblate, consulte Personalizando comportamento a usar marcadores).
Esta funcionalidade é modelada em sinalizadores em GNU gettext PO (Objeto Portátil).
Additionally, for all XML based format, the flags are extracted from the
non-standard attribute weblate-flags. Additionally max-length:N is
supported through the maxwidth attribute as
defined in the XLIFF standard, see Especificação de bandeiras de tradução.
Contexto¶
O contexto é utilizado para diferenciar as cadeias de carateres idênticas num formato bilingue utilizadas em âmbitos diferentes (por exemplo, Dom pode ser utilizado como um nome abreviado do dia «Domingo» ou como o nome da nossa estrela mais próxima).
Para formatos monolíngues, o identificador de cadeia (geralmente chamado de chave) pode servir ao mesmo propósito e não é necessário contexto adicional.
Pluralized strings¶
Plurals are necessary to properly localize strings with variable count. The rules depend on a target language and many formats follow CLDR specification for that.
Dica
Cadeias pluralizantes também precisam de apoio adequado da estrutura da aplicação. Escolha o formato nativo da sua plataforma, como GNU gettext PO (Objeto Portátil), Recursos de cadeias de carateres para Android ou Formato stringsdict.
Cadeias apenas de leitura¶
Serão incluídas cadeias apenas de leitura dos ficheiros de tradução, mas não podem ser editadas no Weblate. Esta funcionalidade é suportado nativamente por poucos formatos (XLIFF e Recursos de cadeias de carateres para Android), mas pode ser emulada em outros ao adicionar um marcador read-only, consulte Personalizando comportamento a usar marcadores.
Suportando outros formatos¶
Most formats supported by translate-toolkit which support serializing can be easily supported, but they did not (yet) received any testing. In most cases, an additional thin layer is needed in Weblate to hide differences in behavior of different storages.
Para adicionar suporte para um novo formato, a abordagem preferida é primeiro implementar o suporte para ele no translate-toolkit.
Veja também