Formatos de ficheiros suportados

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.

Deteção automática

Weblate tries to detect file format during Adicionando projetos e componentes de tradução. The detection might be wrong for different variants of the same serialization format (JSON, YAML, properties) or file encoding, so please verify that Formato de ficheiro is correct before creating the component.

Capacidades dos tipos de tradução

Capacidades de todos os formatos suportados

Formato

Lingualidade [1]

Plurais [2]

Descrição [3]

Contexto [4]

Localização [5]

Marcadores [8]

Estados adicionais [6]

GNU gettext PO (Portable Object)

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

Ficheiros lang mi18n

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 cadeias de Android

mono

sim

sim [7]

não

não

sim

Cadeias de Apple iOS

ambos

não

sim

não

não

não

Cadeias de PHP

mono

não [10]

sim

não

não

não

Ficheiro JSON

mono

não

não

não

não

não

Ficheiros de JSON i18next

mono

sim

não

não

não

não

Ficheiros JSON go-i18n

mono

sim

sim

não

não

não

ficheiros de gotext JSON

mono

sim

sim

não

sim

não

Ficheiro ARB

mono

sim

sim

não

não

não

JSON WebExtension

mono

sim

sim

não

não

não

Ficheiros de recursos .NET (RESX, RESW)

mono

não

sim

não

não

sim

Ficheiros de ResourceDictionary

mono

não

não

não

não

sim

Ficheiros CSV

ambos

não

sim

sim

sim

não

necessita edição

Ficheiros YAML

mono

não

não

não

não

não

Ficheiros Ruby YAML

mono

sim

não

não

não

não

Ficheiros DTD

mono

não

não

não

não

não

Ficheiro XML simples

mono

não

não

não

não

sim

Ficheiros 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

Ficheiros de metadados da App Store

mono

não

não

não

não

não

Ficheiros de legenda

mono

não

não

não

sim

não

Ficheiro HTML

mono

não

não

não

não

não

Ficheiros 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 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

Ficheiros 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 bilingues armazenam dois idiomas num único ficheiro e tradução (exemplos típicos são GNU gettext PO (Portable Object), XLIFF ou Cadeias de 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 Recurso de cadeias de 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

Many file formats only differentiate «Untranslated» and «Translated» strings. With some formats it is possible to store more fine-grained state information, such as «Needs editing» or «Approved».

Descrição da cadeia fonte

As descrições da cadeia fonte podem ser usadas para passar informações adicionais sobre a cadeia a traduzir.

Several formats have native support for providing additional info to translators (for example XLIFF, GNU gettext PO (Portable Object), JSON WebExtension, Ficheiros CSV, Excel Open XML, .ts de Qt Linguist, Ficheiros JSON go-i18n, ficheiros de gotext JSON, Ficheiro ARB, Ficheiros de recursos .NET (RESX, RESW)). Many other formats extract closest comment as source string description.

Explicação

The Explicação on strings can be stored and parsed from a few file formats.

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.

This information is typically available in bilingual formats where strings are extracted from the source code using tools. For example GNU gettext PO (Portable Object) and .ts de Qt Linguist.

Marcadores de tradução

Translation flags allow customizing Weblate behavior. Some formats support defining those in the translation file (you can always define them in the Weblate interface, see Personalizando comportamento a usar marcadores).

This feature is modelled on flags in GNU gettext PO (Portable Object).

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

Context is used to differentiate identical strings in a bilingual format used in different scopes (for example Sun can be used as an abbreviated name of the day «Sunday» or as the name of our closest star).

For monolingual formats the string identifier (often called key) can serve the same purpose and additional context is not necessary.

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

Pluralizing strings need proper support from the application framework as well. Choose native format of your platform such as GNU gettext PO (Portable Object), Recurso de cadeias de Android or Formato stringsdict.

Textos somente leitura

Cadeias de somente leitura dos ficheiros de tradução serão incluídos, mas não podem ser editadas no Weblate. Esse recurso é suportado nativamente por poucos formatos (XLIFF e Recurso de cadeias de Android), mas pode ser emulado em outros a adicionar um marcador read-only, consulte Personalizando comportamento a usar 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.