Obsługiwane formaty plików#

Weblate supports a wide range of translation formats. Each format is slightly different and provides a different set of capabilities.

Podpowiedź

When choosing a file format for your application, it’s better to stick some well established format in the toolkit/platform you use. This way your translators can additionally use whatever tools they are used to, and will more likely contribute to your project.

Automatyczne wykrywanie#

Weblate tries to detect file format during Dodawanie projektów i komponentów tłumaczeniowych. The detection might be wrong for different variants of the same serialization format (JSON, YAML, properties) or file encoding, so please verify that Format pliku is correct before creating the component.

Możliwe typy tłumaczeń#

Capabilities of all supported formats#

Format

Lingualność [1]

Liczba mnoga [2]

Opisy [3]

Kontekst [4]

Lokalizacja [5]

Flagi [8]

Dodatkowe stany [6]

GNU gettext

dwujęzyczny

tak

tak

tak

tak

Tak [9]

wymaga edycji

Jednojęzyczny gettext

mono

tak

tak

tak

tak

Tak [9]

wymaga edycji

XLIFF

oba

tak

tak

tak

tak

tak

wymaga edycji, zatwierdzono

Właściwości Java

oba

nie

tak

nie

nie

nie

Pliki lang dla mi18n

mono

nie

tak

nie

nie

nie

Właściwości GWT

mono

tak

tak

nie

nie

nie

Tłumaczenia Joomli

mono

nie

tak

nie

tak

nie

Qt Linguist .ts

oba

tak

tak

nie

tak

tak

wymaga edycji

Android string resources

mono

tak

tak [7]

nie

nie

tak

Ciągi Apple iOS

oba

nie

tak

nie

nie

nie

Ciągi PHP

mono

nie [10]

tak

nie

nie

nie

Plik JSON

mono

nie

nie

nie

nie

nie

i18next JSON files

mono

tak

nie

nie

nie

nie

go-i18n pliki JSON

mono

tak

tak

nie

nie

nie

gotext JSON files

mono

tak

tak

nie

tak

nie

Plik ARB

mono

tak

tak

nie

nie

nie

WebExtension JSON

mono

tak

tak

nie

nie

nie

RESX .NET resource files

mono

nie

tak

nie

nie

tak

Pliki ResourceDictionary

mono

nie

nie

nie

nie

tak

Pliki CSV

oba

nie

tak

tak

tak

nie

wymaga edycji

Pliki YAML

mono

nie

nie

nie

nie

nie

Pliki Ruby YAML

mono

tak

nie

nie

nie

nie

Pliki DTD

mono

nie

nie

nie

nie

nie

Jednolity plik XML

mono

nie

nie

nie

nie

tak

Pliki RC systemu Windows

mono

nie

tak

nie

nie

nie

Excel Open XML

mono

nie

tak

tak

tak

nie

wymaga edycji

Pliki metadanych sklepu z aplikacjami

mono

nie

nie

nie

nie

nie

Pliki napisów

mono

nie

nie

nie

tak

nie

Pliki HTML

mono

nie

nie

nie

nie

nie

Format OpenDocument

mono

nie

nie

nie

nie

nie

Format IDML

mono

nie

nie

nie

nie

nie

Tłumaczenia INI

mono

nie

nie

nie

nie

nie

Tłumaczenia Inno Setup INI

mono

nie

nie

nie

nie

nie

Format TermBase eXchange

dwujęzyczny

nie

tak

nie

nie

tak

Pliki tekstowe

mono

nie

nie

nie

nie

nie

Format stringsdict

mono

tak

tak

nie

nie

nie

Format Fluent

mono

nie [11]

tak

nie

nie

nie

Formaty dwujęzyczne i jednojęzyczne#

Both monolingual and bilingual formats are supported. Bilingual formats store two languages in single file—source and translation (typical examples are GNU gettext, XLIFF or Ciągi Apple iOS). On the other side, monolingual formats identify the string by ID, and each language file contains only the mapping of those to any given language (typically Android string resources). Some file formats are used in both variants, see the detailed description below.

For correct use of monolingual files, Weblate requires access to a file containing complete list of strings to translate with their source—this file is called Jednojęzyczny bazowy plik języka within Weblate, though the naming might vary in your paradigm.

Additionally this workflow can be extended by utilizing Plik języka pośredniego to include strings provided by developers, but not to be used as is in the final strings.

Flagi tłumaczeń#

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 Dostosowywanie zachowania za pomocą flag).

This feature is modelled on flags in GNU gettext.

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 Określanie flag tłumaczenia.

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.

Podpowiedź

Pluralizing strings need proper support from the application framework as well. Choose native format of your platform such as GNU gettext, Android string resources or Format stringsdict.

Ciągi tylko do odczytu#

Nowe w wersji 3.10.

Read-only strings from translation files will be included, but can not be edited in Weblate. This feature is natively supported by few formats (XLIFF and Android string resources), but can be emulated in others by adding a read-only flag, see Dostosowywanie zachowania za pomocą flag.

Obsługa innych formatów#

Most formats supported by translate-toolkit which support serializing can be easily supported, but they did not (yet) receive any testing. In most cases some thin layer is needed in Weblate to hide differences in behavior of different translate-toolkit storages.

To add support for a new format, the preferred approach is to first implement support for it in the translate-toolkit.