Supported file formats

Weblate supports most translation format understood by translate-toolkit, however each format being slightly different, some issues with formats that are not well tested can arise.

Not

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.

Bilingual and monolingual formats

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 Apple iOS dizgeleri). 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 Tek dilli temel dil dosyası within Weblate, though the naming might vary in your paradigm.

Additionally this workflow can be extended by utilizing Ara dil dosyası to include strings provided by developers, but not to be used as is in the final strings.

Kendiliğinden algılama

Weblate can automatically detect several widespread file formats, but this detection can harm your performance and will limit features specific to given file format (for example automatic addition of new translations).

Çeviri türü yetenekleri

Desteklenen tüm biçimlerdeki yetenekler:

Biçim

Linguality [1]

Çağoullar [2]

Açıklamalar [3]

Bağlam [4]

Konum [5]

İmler [8]

Ek durumlar [6]

GNU gettext

iki dilde

evet

evet

evet

evet

evet [9]

düzenlenmesi gerekli

Monolingual gettext

tek

evet

evet

evet

evet

evet [9]

düzenlenmesi gerekli

XLIFF

ikisi de

evet

evet

evet

evet

evet [10]

düzenlenmesi gerekli, onaylanmış

Java özellikleri

ikisi de

hayır

evet

hayır

hayır

hayır

mi18n lang dosyaları

tek

hayır

evet

hayır

hayır

hayır

GWT özellikleri

tek

evet

evet

hayır

hayır

hayır

Joomla! çevirileri

tek

hayır

evet

hayır

evet

hayır

Qt Linguist .ts

ikisi de

evet

evet

hayır

evet

evet [10]

düzenlenmesi gerekli

Android string resources

tek

evet

evet [7]

hayır

hayır

evet [10]

Apple iOS dizgeleri

ikisi de

hayır

evet

hayır

hayır

hayır

PHP dizgeleri

tek

hayır [11]

evet

hayır

hayır

hayır

JSON dosyaları

tek

hayır

hayır

hayır

hayır

hayır

JSON i18next dosyaları

tek

evet

hayır

hayır

hayır

hayır

go-i18n JSON dosyaları

tek

evet

hayır

hayır

hayır

hayır

gotext JSON dosyaları

tek

evet

evet

hayır

evet

hayır

ARB dosyası

tek

evet

evet

hayır

hayır

hayır

WebExtension JSON

tek

evet

evet

hayır

hayır

hayır

.XML kaynak dosyaları

tek

hayır

evet

hayır

hayır

evet [10]

ResourceDictionary dosyaları

tek

hayır

hayır

hayır

hayır

evet [10]

CSV dosyaları

ikisi de

hayır

evet

evet

evet

hayır

düzenlenmesi gerekli

YAML dosyaları

tek

hayır

evet

hayır

hayır

hayır

Ruby YAML dosyaları

tek

evet

evet

hayır

hayır

hayır

DTD dosyaları

tek

hayır

hayır

hayır

hayır

hayır

Düz XML dosyaları

tek

hayır

hayır

hayır

hayır

evet [10]

Windows RC dosyaları

tek

hayır

evet

hayır

hayır

hayır

Excel Open XML

tek

hayır

evet

evet

evet

hayır

düzenlenmesi gerekli

Uygulama mağazası üst veri dosyaları

tek

hayır

hayır

hayır

hayır

hayır

Alt yazı dosyaları

tek

hayır

hayır

hayır

evet

hayır

HTML dosyaları

tek

hayır

hayır

hayır

hayır

hayır

OpenDocument biçimi

tek

hayır

hayır

hayır

hayır

hayır

IDML biçimi

tek

hayır

hayır

hayır

hayır

hayır

INI çevirileri

tek

hayır

hayır

hayır

hayır

hayır

Inno Setup INI çevirileri

tek

hayır

hayır

hayır

hayır

hayır

TermBase eXchange biçimi

iki dilde

hayır

evet

hayır

hayır

evet [10]

Metin dosyaları

tek

hayır

hayır

hayır

hayır

hayır

Stringsdict biçimi

tek

evet

evet

hayır

hayır

hayır

Fluent biçimi

tek

hayır [12]

evet

hayır

hayır

hayır

Salt okunur dizgeler

3.10 sürümünde geldi.

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 Parametreleri kullanarak davranışı özelleştirmek.

GNU gettext

Most widely used format for translating libre software.

Contextual info stored in the file is supported by adjusting its headers or linking to corresponding source files.

The bilingual gettext PO file typically looks like this:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgctxt "No known user"
msgid "None"
msgstr "Žádný"

Typical Weblate Bileşen yapılandırması

Dosya maskesi

po/*.po

Tek dilli temel dil dosyası

Empty

Yeni çeviriler kalıbı

po/messages.pot

Dosya biçimi

Gettext PO dosyası

Monolingual gettext

Some projects decide to use gettext as monolingual formats—they code just the IDs in their source code and the string then needs to be translated to all languages, including English. This is supported, though you have to choose this file format explicitly when importing components into Weblate.

The monolingual gettext PO file typically looks like this:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "Žádný"

While the base language file will be:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Monday"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Tuesday"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "None"

Typical Weblate Bileşen yapılandırması

Dosya maskesi

po/*.po

Tek dilli temel dil dosyası

po/en.po

Yeni çeviriler kalıbı

po/messages.pot

Dosya biçimi

Gettext PO dosyası (tek dilli)

XLIFF

XML-based format created to standardize translation files, but in the end it is one of many standards, in this area.

XML Localization Interchange File Format (XLIFF) is usually used as bilingual, but Weblate supports it as monolingual as well.

Weblate, birkaç çeşitte XLIFF desteği sunar:

XLIFF çeviri dosyası

Simple XLIFF file where content of the elements is stored as plain text (all XML elements being escaped).

XLIFF with placeables support

Standard XLIFF supporting placeables and other XML elements.

gettext uzantılı XLIFF

XLIFF enriched by XLIFF 1.2 Representation Guide for Gettext PO to support plurals.

Çeviri durumları

3.3 sürümünde değişti: Weblate ignored the state attribute prior to the 3.3 release.

The state attribute in the file is partially processed and mapped to the “Needs edit” state in Weblate (the following states are used to flag the string as needing edit if there is a target present: new, needs-translation, needs-adaptation, needs-l10n). Should the state attribute be missing, a string is considered translated as soon as a <target> element exists.

If the translation string has approved="yes", it will also be imported into Weblate as “Approved”, anything else will be imported as “Waiting for review” (which matches the XLIFF specification).

While saving, Weblate doesn’t add those attributes unless necessary:

  • The state attribute is only added in case string is marked as needing edit.

  • The approved attribute is only added in case string has been reviewed.

  • In other cases the attributes are not added, but they are updated in case they are present.

That means that when using the XLIFF format, it is strongly recommended to turn on the Weblate review process, in order to see and change the approved state of strings.

Similarly upon importing such files (in the upload form), you should choose Import as translated under Processing of strings needing edit.

Ayrıca bakınız

Dedicated reviewers

Whitespace and newlines in XLIFF

Generally types or amounts of whitespace is not differentiated between in XML formats. If you want to keep it, you have to add the xml:space="preserve" flag to the string.

Örnek:

    <trans-unit id="10" approved="yes">
        <source xml:space="preserve">hello</source>
        <target xml:space="preserve">Hello, world!
</target>
    </trans-unit>

Specifying translation flags

You can specify additional translation flags (see Parametreleri kullanarak davranışı özelleştirmek) by using the weblate-flags attribute. Weblate also understands maxwidth and font attributes from the XLIFF specification:

<trans-unit id="10" maxwidth="100" size-unit="pixel" font="ubuntu;22;bold">
   <source>Hello %s</source>
</trans-unit>
<trans-unit id="20" maxwidth="100" size-unit="char" weblate-flags="c-format">
   <source>Hello %s</source>
</trans-unit>

The font attribute is parsed for font family, size and weight, the above example shows all of that, though only font family is required. Any whitespace in the font family is converted to underscore, so Source Sans Pro becomes Source_Sans_Pro, please keep that in mind when naming the font group (see Yazı tiplerini yönetmek).

Dizge anahtarları

Weblate identifies the units in the XLIFF file by resname attribute in case it is present and falls back to id (together with file tag if present).

The resname attribute is supposed to be human friendly identifier of the unit making it more suitable for Weblate to display instead of id. The resname has to be unique in the whole XLIFF file. This is required by Weblate and is not covered by the XLIFF standard - it does not put any uniqueness restrictions on this attribute.

Typical Weblate Bileşen yapılandırması for bilingual XLIFF

Dosya maskesi

localizations/*.xliff

Tek dilli temel dil dosyası

Empty

Yeni çeviriler kalıbı

localizations/en-US.xliff

Dosya biçimi

XLIFF çeviri dosyası

Typical Weblate Bileşen yapılandırması for monolingual XLIFF

Dosya maskesi

localizations/*.xliff

Tek dilli temel dil dosyası

localizations/en-US.xliff

Yeni çeviriler kalıbı

localizations/en-US.xliff

Dosya biçimi

XLIFF çeviri dosyası

Java özellikleri

Çeviriler için doğal Java biçimi.

Java properties are usually used as monolingual translations.

Weblate supports ISO-8859-1, UTF-8 and UTF-16 variants of this format. All of them support storing all Unicode characters, it is just differently encoded. In the ISO-8859-1, the Unicode escape sequences are used (for example zkou\u0161ka), all others encode characters directly either in UTF-8 or UTF-16.

Not

Loading escape sequences works in UTF-8 mode as well, so please be careful choosing the correct encoding set to match your application needs.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

src/app/Bundle_*.properties

Tek dilli temel dil dosyası

src/app/Bundle.properties

Yeni çeviriler kalıbı

Empty

Dosya biçimi

Java Properties (ISO-8859-1)

mi18n lang dosyaları

4.7 sürümünde geldi.

File format used for JavaScript localization by mi18n. Syntactically it matches Java özellikleri.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

*.lang

Tek dilli temel dil dosyası

en-US.lang

Yeni çeviriler kalıbı

Empty

Dosya biçimi

mi18n lang dosyası

GWT özellikleri

Native GWT format for translations.

GWT properties are usually used as monolingual translations.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

src/app/Bundle_*.properties

Tek dilli temel dil dosyası

src/app/Bundle.properties

Yeni çeviriler kalıbı

Empty

Dosya biçimi

GWT özellikleri

INI çevirileri

4.1 sürümünde geldi.

Çeviriler için INI dosya biçimi.

INI translations are usually used as monolingual translations.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

language/*.ini

Tek dilli temel dil dosyası

language/en.ini

Yeni çeviriler kalıbı

Empty

Dosya biçimi

INI dosyası

Not

Weblate only extracts keys from sections within an INI file. In case your INI file lacks sections, you might want to use Joomla! çevirileri or Java özellikleri instead.

Inno Setup INI çevirileri

4.1 sürümünde geldi.

Çeviriler için Inno Setup INI dosya biçimi.

Inno Setup INI çevirileri genellikle tek dilli çeviriler olarak kullanılır.

Not

The only notable difference to INI çevirileri is in supporting %n and %t placeholders for line break and tab.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

language/*.islu

Tek dilli temel dil dosyası

language/en.islu

Yeni çeviriler kalıbı

Empty

Dosya biçimi

Inno Setup INI dosyası

Not

Only Unicode files (.islu) are currently supported, ANSI variant (.isl) is currently not supported.

Joomla! çevirileri

2.12 sürümünde geldi.

Çeviriler için doğal Joomla! biçimi.

Joomla translations are usually used as monolingual translations.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

language/*/com_foobar.ini

Tek dilli temel dil dosyası

language/en-GB/com_foobar.ini

Yeni çeviriler kalıbı

Empty

Dosya biçimi

Joomla dil dosyası

Qt Linguist .ts

Translation format used in Qt based applications.

Qt Linguist files are used as both bilingual and monolingual translations.

Typical Weblate Bileşen yapılandırması when using as bilingual

Dosya maskesi

i18n/app.*.ts

Tek dilli temel dil dosyası

Empty

Yeni çeviriler kalıbı

i18n/app.de.ts

Dosya biçimi

Qt Linguist Translation File

Typical Weblate Bileşen yapılandırması when using as monolingual

Dosya maskesi

i18n/app.*.ts

Tek dilli temel dil dosyası

i18n/app.en.ts

Yeni çeviriler kalıbı

i18n/app.en.ts

Dosya biçimi

Qt Linguist Translation File

Android string resources

Android specific file format for translating applications.

Android string resources are monolingual, the Tek dilli temel dil dosyası is stored in a different location from the other files – res/values/strings.xml.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

res/values-*/strings.xml

Tek dilli temel dil dosyası

res/values/strings.xml

Yeni çeviriler kalıbı

Empty

Dosya biçimi

Android String Resource

Not

Android string-array structures are not currently supported. To work around this, you can break your string arrays apart:

<string-array name="several_strings">
    <item>First string</item>
    <item>Second string</item>
</string-array>

become:

<string-array name="several_strings">
    <item>@string/several_strings_0</item>
    <item>@string/several_strings_1</item>
</string-array>
<string name="several_strings_0">First string</string>
<string name="several_strings_1">Second string</string>

The string-array that points to the string elements should be stored in a different file, and not be made available for translation.

This script may help pre-process your existing strings.xml files and translations: https://gist.github.com/paour/11291062

İpucu

To avoid translating some strings, these can be marked as non-translatable. This can be especially useful for string references:

<string name="foobar" translatable="false">@string/foo</string>

Apple iOS dizgeleri

File format typically used for translating Apple iOS applications, but also standardized by PWG 5100.13 and used on NeXTSTEP/OpenSTEP.

Apple iOS dizgeleri genellikle tek dilli çeviriler olarak kullanılır.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

Resources/*.lproj/Localizable.strings

Tek dilli temel dil dosyası

Resources/en.lproj/Localizable.strings or Resources/Base.lproj/Localizable.strings

Yeni çeviriler kalıbı

Empty

Dosya biçimi

iOS dizgeleri (UTF-8)

PHP dizgeleri

PHP translations are usually monolingual, so it is recommended to specify a base file with (what is most often the) English strings.

Örnek dosya:

<?php
$LANG['foo'] = 'bar';
$LANG['foo1'] = 'foo bar';
$LANG['foo2'] = 'foo bar baz';
$LANG['foo3'] = 'foo bar baz bag';

Typical Weblate Bileşen yapılandırması

Dosya maskesi

lang/*/texts.php

Tek dilli temel dil dosyası

lang/en/texts.php

Yeni çeviriler kalıbı

lang/en/texts.php

Dosya biçimi

PHP dizgeleri

Laravel PHP dizgeleri

4.1 sürümünde değişti.

The Laravel PHP localization files are supported as well with plurals:

<?php
return [
    'welcome' => 'Welcome to our application',
    'apples' => 'There is one apple|There are many apples',
];

Ayrıca bakınız

PHP, Laravel ile yerelleştirme

JSON dosyaları

2.0 sürümünde geldi.

2.16 sürümünde değişti: Since Weblate 2.16 and with translate-toolkit at-least 2.2.4, nested structure JSON files are supported as well.

4.3 sürümünde değişti: The structure of JSON file is properly preserved even for complex situations which were broken in prior releases.

JSON format is used mostly for translating applications implemented in JavaScript.

Weblate currently supports several variants of JSON translations:

JSON translations are usually monolingual, so it is recommended to specify a base file with (what is most often the) English strings.

Örnek dosya:

{
  "Hello, world!\n": "Ahoj světe!\n",
  "Orangutan has %d banana.\n": "",
  "Try Weblate at https://demo.weblate.org/!\n": "",
  "Thank you for using Weblate.": ""
}

Nested files are supported as well (see above for requirements), such a file can look like:

{
  "weblate": {
    "hello": "Ahoj světe!\n",
    "orangutan": "",
    "try": "",
    "thanks": ""
  }
}

İpucu

The JSON file and JSON nested structure file can both handle same type of files. Both preserve existing JSON structure when translating.

The only difference between them is when adding new strings using Weblate. The nested structure format parses the newly added key and inserts the new string into the matching structure. For example app.name key is inserted as:

{
   "app": {
      "name": "Weblate"
   }
}

Typical Weblate Bileşen yapılandırması

Dosya maskesi

langs/translation-*.json

Tek dilli temel dil dosyası

langs/translation-en.json

Yeni çeviriler kalıbı

Empty

Dosya biçimi

`JSON iç içe geçmiş yapı dosyası’

JSON i18next dosyaları

2.17 sürümünde değişti: Since Weblate 2.17 and with translate-toolkit at-least 2.2.5, i18next JSON files with plurals are supported as well.

4.15.1 sürümünde değişti: Support for v4 variant of this format was added.

İpucu

In case you use plurals, it is recommended to use v4 as that aligned plural handling with CLDR. Older versions have different plural rules for some languages which are not correct.

i18next is an internationalization framework written in and for JavaScript. Weblate supports its localization files with features such as plurals.

i18next translations are monolingual, so it is recommended to specify a base file with (what is most often the) English strings.

Not

Weblate supports the i18next JSON v3 and v4 variants. Please choose correct file format matching your environment.

The v2 and v1 variants are mostly compatible with v3, with exception of how plurals are handled.

Örnek dosya:

{
  "hello": "Hello",
  "apple": "I have an apple",
  "apple_plural": "I have {{count}} apples",
  "apple_negative": "I have no apples"
}

Typical Weblate Bileşen yapılandırması

Dosya maskesi

langs/*.json

Tek dilli temel dil dosyası

langs/en.json

Yeni çeviriler kalıbı

Empty

Dosya biçimi

i18next JSON dosyası v3

go-i18n JSON dosyaları

4.1 sürümünde geldi.

go-i18n translations are monolingual, so it is recommended to specify a base file with (what is most often the) English strings.

Not

Weblate supports the go-i18n JSON v1 format, for flat JSON formats please use JSON dosyaları. The v2 format with hash is currently not supported.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

langs/*.json

Tek dilli temel dil dosyası

langs/en.json

Yeni çeviriler kalıbı

Empty

Dosya biçimi

go-i18n JSON dosyası

gotext JSON dosyaları

4.15.1 sürümünde geldi.

gotext translations are monolingual, so it is recommended to specify a base file with (what is most often the) English strings.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

internal/translations/locales/*/messages.gotext.json

Tek dilli temel dil dosyası

internal/translations/locales/en-GB/messages.gotext.json

Yeni çeviriler kalıbı

Empty

Dosya biçimi

gotext JSON dosyası

ARB dosyası

4.1 sürümünde geldi.

ARB translations are monolingual, so it is recommended to specify a base file with (what is most often the) English strings.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

lib/l10n/intl_*.arb

Tek dilli temel dil dosyası

lib/l10n/intl_en.arb

Yeni çeviriler kalıbı

Empty

Dosya biçimi

ARB dosyası

WebExtension JSON

2.16 sürümünde geldi: This is supported since Weblate 2.16 and with translate-toolkit at-least 2.2.4.

File format used when translating extensions for Mozilla Firefox or Google Chromium.

Not

While this format is called JSON, its specification allows to include comments, which are not part of JSON specification. Weblate currently does not support file with comments.

Örnek dosya:

{
  "hello": {
    "message": "Ahoj světe!\n",
    "description": "Description",
    "placeholders": {
      "url": {
        "content": "$1",
        "example": "https://developer.mozilla.org"
      }
    }
  },
  "orangutan": {
    "message": "Orangutan has $coUnT$ bananas",
    "description": "Description",
    "placeholders": {
      "count": {
        "content": "$1",
        "example": "5"
      }
    }
  },
  "try": {
    "message": "",
    "description": "Description"
  },
  "thanks": {
    "message": "",
    "description": "Description"
  }
}

Typical Weblate Bileşen yapılandırması

Dosya maskesi

_locales/*/messages.json

Tek dilli temel dil dosyası

_locales/en/messages.json

Yeni çeviriler kalıbı

Empty

Dosya biçimi

WebExtension JSON file

.XML kaynak dosyaları

2.3 sürümünde geldi.

A .XML resource (.resx) file employs a monolingual XML file format used in Microsoft .NET applications. It is interchangeable with .resw, when using identical syntax to .resx.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

Resources/Language.*.resx

Tek dilli temel dil dosyası

Resources/Language.resx

Yeni çeviriler kalıbı

Empty

Dosya biçimi

.NET kaynak dosyası

ResourceDictionary dosyaları

4.13 sürümünde geldi.

ResourceDictionary is a monolingual XML file format used to package localizable string resources for Windows Presentation Foundation (WPF) applications.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

Languages/*.xaml

Tek dilli temel dil dosyası

Language/en.xaml

Yeni çeviriler kalıbı

Empty

Dosya biçimi

ResourceDictionary dosyası

CSV dosyaları

2.4 sürümünde geldi.

CSV files can contain a simple list of source and translation. Weblate supports the following files:

  • Files with header defining fields (location, source, target, ID, fuzzy, context, translator_comments, developer_comments). This is the recommended approach, as it is the least error prone. Choose CSV file as a file format.

  • Files with two fields—source and translation (in this order). Choose Simple CSV file as a file format.

  • Headerless files with fields in order defined by the translate-toolkit: location, source, target, ID, fuzzy, context, translator_comments, developer_comments. Choose CSV file as a file format.

  • Remember to define Tek dilli temel dil dosyası when your files are monolingual (see Bilingual and monolingual formats).

İpucu

By default, the CSV format does autodetection of file encoding. This can be unreliable in some corner cases and causes performance penalty. Please choose file format variant with encoding to avoid this (for example CSV file (UTF-8)).

Uyarı

The CSV format currently automatically detects the dialect of the CSV file. In some cases the automatic detection might fail and you will get mixed results. This is especially true for CSV files with newlines in the values. As a workaround it is recommended to omit quoting characters.

Örnek dosya:

Thank you for using Weblate.,Děkujeme za použití Weblate.

Typical Weblate Bileşen yapılandırması for bilingual CSV

Dosya maskesi

locale/*.csv

Tek dilli temel dil dosyası

Empty

Yeni çeviriler kalıbı

locale/en.csv

Dosya biçimi

CSV dosyası

Typical Weblate Bileşen yapılandırması for monolingual CSV

Dosya maskesi

locale/*.csv

Tek dilli temel dil dosyası

locale/en.csv

Yeni çeviriler kalıbı

locale/en.csv

Dosya biçimi

Basit CSV dosyası

Çok değerli CSV dosyası

4.13 sürümünde geldi.

This variant of the CSV files allows storing multiple translations per string.

Ayrıca bakınız

CSV

YAML dosyaları

2.9 sürümünde geldi.

The plain YAML files with string keys and values. Weblate also extract strings from lists or dictionaries.

YAML dosyası örneği:

weblate:
  hello: ""
  orangutan": ""
  try": ""
  thanks": ""

Typical Weblate Bileşen yapılandırması

Dosya maskesi

translations/messages.*.yml

Tek dilli temel dil dosyası

translations/messages.en.yml

Yeni çeviriler kalıbı

Empty

Dosya biçimi

YAML file

Ayrıca bakınız

YAML, Ruby YAML dosyaları

Ruby YAML dosyaları

2.9 sürümünde geldi.

Ruby i18n YAML files with language as root node.

Ruby i18n YAML dosyası örneği:

cs:
  weblate:
    hello: ""
    orangutan: ""
    try: ""
    thanks: ""

Typical Weblate Bileşen yapılandırması

Dosya maskesi

translations/messages.*.yml

Tek dilli temel dil dosyası

translations/messages.en.yml

Yeni çeviriler kalıbı

Empty

Dosya biçimi

Ruby YAML dosyası

Ayrıca bakınız

YAML, YAML dosyaları

DTD dosyaları

2.18 sürümünde geldi.

Örnek DTD dosyası:

<!ENTITY hello "">
<!ENTITY orangutan "">
<!ENTITY try "">
<!ENTITY thanks "">

Typical Weblate Bileşen yapılandırması

Dosya maskesi

locale/*.dtd

Tek dilli temel dil dosyası

locale/en.dtd

Yeni çeviriler kalıbı

Empty

Dosya biçimi

DTD dosyası

Ayrıca bakınız

Mozilla DTD format

Düz XML dosyaları

3.9 sürümünde geldi.

Düz XML dosyası örneği:

<?xml version='1.0' encoding='UTF-8'?>
<root>
  <str key="hello_world">Hello World!</str>
  <str key="resource_key">Translated value.</str>
</root>

Typical Weblate Bileşen yapılandırması

Dosya maskesi

locale/*.xml

Tek dilli temel dil dosyası

locale/en.xml

Yeni çeviriler kalıbı

Empty

Dosya biçimi

Düz XML dosyası

Ayrıca bakınız

Flat XML

Windows RC dosyaları

4.1 sürümünde değişti: Support for Windows RC files has been rewritten.

Not

Support for this format is currently in beta, feedback from testing is welcome.

Windows RC dosyası örneği:

LANGUAGE LANG_CZECH, SUBLANG_DEFAULT

STRINGTABLE
BEGIN
    IDS_MSG1                "Hello, world!\n"
    IDS_MSG2                "Orangutan has %d banana.\n"
    IDS_MSG3                "Try Weblate at http://demo.weblate.org/!\n"
    IDS_MSG4                "Thank you for using Weblate."
END

Typical Weblate Bileşen yapılandırması

Dosya maskesi

lang/*.rc

Tek dilli temel dil dosyası

lang/en-US.rc

Yeni çeviriler kalıbı

lang/en-US.rc

Dosya biçimi

RC dosyası

Ayrıca bakınız

Windows RC files

Uygulama mağazası üst veri dosyaları

3.5 sürümünde geldi.

Metadata used for publishing apps in various app stores can be translated. Currently the following tools are compatible:

The metadata consists of several textfiles, which Weblate will present as separate strings to translate.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

fastlane/android/metadata/*

Tek dilli temel dil dosyası

fastlane/android/metadata/en-US

Yeni çeviriler kalıbı

fastlane/android/metadata/en-US

Dosya biçimi

App store metadata files

İpucu

In case you don’t want to translate certain strings (for example changelogs), mark them read-only (see Parametreleri kullanarak davranışı özelleştirmek). This can be automated by the Toplu düzenleme.

Alt yazı dosyaları

3.7 sürümünde geldi.

Weblate çeşitli altyazı dosyalarını çevirebilir:

  • SubRip subtitle file (*.srt)

  • MicroDVD subtitle file (*.sub)

  • Advanced Substation Alpha subtitles file (*.ass)

  • Substation Alpha subtitle file (*.ssa)

Typical Weblate Bileşen yapılandırması

Dosya maskesi

path/*.srt

Tek dilli temel dil dosyası

path/en.srt

Yeni çeviriler kalıbı

path/en.srt

Dosya biçimi

SubRip subtitle file

Ayrıca bakınız

Subtitles

Excel Open XML

3.2 sürümünde geldi.

Excel Open XML (.xlsx) files can be imported and exported.

When uploading XLSX files for translation, be aware that only the active worksheet is considered, and there must be at least a column called source (which contains the source string) and a column called target (which contains the translation). Additionally there should be the column called context (which contains the context path of the translation string). If you use the XLSX download for exporting the translations into an Excel workbook, you already get a file with the correct file format.

HTML dosyaları

4.1 sürümünde geldi.

Not

Support for this format is currently in beta, feedback from testing is welcome.

The translatable content is extracted from the HTML files and offered for the translation.

Ayrıca bakınız

HTML

Metin dosyaları

4.6 sürümünde geldi.

Not

Support for this format is currently in beta, feedback from testing is welcome.

The translatable content is extracted from the plain text files and offered for the translation. Each paragraph is translated as a separate string.

Bu biçimin üç çeşidi vardır:

  • Düz metin dosyası

  • DokuWiki metin dosyası

  • MediaWiki metin dosyası

Ayrıca bakınız

Simple Text Documents

OpenDocument biçimi

4.1 sürümünde geldi.

Not

Support for this format is currently in beta, feedback from testing is welcome.

The translatable content is extracted from the OpenDocument files and offered for the translation.

Ayrıca bakınız

OpenDocument Format

IDML biçimi

4.1 sürümünde geldi.

Not

Support for this format is currently in beta, feedback from testing is welcome.

The translatable content is extracted from the Adobe InDesign Markup Language files and offered for the translation.

TermBase eXchange biçimi

4.5 sürümünde geldi.

TBX is an XML format for the exchange of terminology data.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

tbx/*.tbx

Tek dilli temel dil dosyası

Empty

Yeni çeviriler kalıbı

Empty

Dosya biçimi

TermBase eXchange dosyası

Ayrıca bakınız

TBX on Wikipedia, TBX, Sözlük

Stringsdict biçimi

4.8 sürümünde geldi.

Not

Support for this format is currently in beta, feedback from testing is welcome.

XML based format used by Apple which is able to store plural forms of a string.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

Resources/*.lproj/Localizable.stringsdict

Tek dilli temel dil dosyası

Resources/en.lproj/Localizable.stringsdict ya da Resources/Base.lproj/Localizable.stringsdict

Yeni çeviriler kalıbı

Empty

Dosya biçimi

Stringsdict dosyası

Fluent biçimi

4.8 sürümünde geldi.

Not

Support for this format is currently in beta, feedback from testing is welcome.

Fluent is a monolingual text format that focuses on asymmetric localization: a simple string in one language can map to a complex multi-variant translation in another language.

Typical Weblate Bileşen yapılandırması

Dosya maskesi

locales/*/messages.ftl

Tek dilli temel dil dosyası

locales/en/messages.ftl

Yeni çeviriler kalıbı

Empty

Dosya biçimi

Fluent dosyası

Ayrıca bakınız

Project Fluent website

Diğer biçimlerin desteği

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.