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.
Ayrıca bakınız
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 strings). 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 taban 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).
Translation types capabilities
Capabilities of all supported formats:
Format |
Linguality 1 |
Plurals 2 |
Descriptions 3 |
Context 4 |
Location 5 |
Flags 8 |
Additional states 6 |
---|---|---|---|---|---|---|---|
bilingual |
yes |
yes |
yes |
yes |
yes 9 |
needs editing |
|
mono |
yes |
yes |
yes |
yes |
yes 9 |
needs editing |
|
both |
yes |
yes |
yes |
yes |
yes 10 |
needs editing, approved |
|
both |
no |
yes |
no |
no |
no |
||
mono |
no |
yes |
no |
no |
no |
||
mono |
yes |
yes |
no |
no |
no |
||
mono |
no |
yes |
no |
yes |
no |
||
both |
yes |
yes |
no |
yes |
yes 10 |
needs editing |
|
mono |
yes |
yes 7 |
no |
no |
yes 10 |
||
both |
no |
yes |
no |
no |
no |
||
mono |
no 11 |
yes |
no |
no |
no |
||
mono |
no |
no |
no |
no |
no |
||
mono |
yes |
no |
no |
no |
no |
||
mono |
yes |
no |
no |
no |
no |
||
mono |
yes |
yes |
no |
no |
no |
||
mono |
yes |
yes |
no |
no |
no |
||
mono |
no |
yes |
no |
no |
yes 10 |
||
mono |
no |
no |
no |
no |
yes 10 |
||
both |
no |
yes |
yes |
yes |
no |
needs editing |
|
mono |
no |
yes |
no |
no |
no |
||
mono |
yes |
yes |
no |
no |
no |
||
mono |
no |
no |
no |
no |
no |
||
mono |
no |
no |
no |
no |
yes 10 |
||
mono |
no |
yes |
no |
no |
no |
||
mono |
no |
yes |
yes |
yes |
no |
needs editing |
|
mono |
no |
no |
no |
no |
no |
||
mono |
no |
no |
no |
yes |
no |
||
mono |
no |
no |
no |
no |
no |
||
mono |
no |
no |
no |
no |
no |
||
mono |
no |
no |
no |
no |
no |
||
mono |
no |
no |
no |
no |
no |
||
mono |
no |
no |
no |
no |
no |
||
bilingual |
no |
yes |
no |
no |
yes 10 |
||
mono |
no |
no |
no |
no |
no |
||
mono |
yes |
yes |
no |
no |
no |
||
mono |
no 12 |
yes |
no |
no |
no |
- 1
- 2
Plurals are necessary to properly localize strings with variable count.
- 3
Source string descriptions can be used to pass additional info about the string to translate.
- 4
Context is used to differentiate identical strings 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).
- 5
Location of a string in source code might help proficient translators figure out how the string is used.
- 6
Additional states supported by the file format in addition to “Untranslated” and “Translated”.
- 7
XML comment placed before the
<string>
element, parsed as a source string description.- 8
- 9(1,2)
The gettext type comments are used as flags.
- 10(1,2,3,4,5,6,7)
The flags are extracted from the non-standard attribute
weblate-flags
for all XML based formats. Additionallymax-length:N
is supported through themaxwidth
attribute as defined in the XLIFF standard, see Specifying translation flags.- 11
The plurals are supported only for Laravel which uses in string syntax to define them, see Localization in Laravel.
- 12
Plurals are handled in the syntax of the strings and not exposed as plurals in Weblate.
Salt okunur dizgiler
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 Customizing behavior using flags.
GNU gettext
Özgür yazılım çevirmek için en yaygın olarak kullanılan biçim.
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
Empty |
Yeni çeviriler için şablon |
|
Dosya biçimi |
Gettext PO file |
Ayrıca bakınız
Translating software using GNU gettext, Translating documentation using Sphinx, Gettext on Wikipedia, PO Files, “configure” dosyasındaki ALL_LINGUAS değişkenini güncelle, Gettext çıktısını özelleştir, LINGUAS dosyasını güncelle, MO dosyaları üret, POT ile eşleşmesi için PO dosyalarını güncelle (msgmerge)
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
|
Dosya biçimi |
Gettext PO file (monolingual) |
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 supports XLIFF in several variants:
- XLIFF translation file
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.
- XLIFF with gettext extensions
XLIFF enriched by XLIFF 1.2 Representation Guide for Gettext PO to support plurals.
Ayrıca bakınız
XML Localization Interchange File Format (XLIFF) specification, XLIFF 1.2 Representation Guide for Gettext PO
Translation states
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
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.
For example:
<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 Customizing behavior using flags) 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
Managing fonts).
Dizgi 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 Component configuration for bilingual XLIFF |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
Empty |
Yeni çeviriler için şablon |
|
Dosya biçimi |
XLIFF Translation File |
Typical Weblate Component configuration for monolingual XLIFF |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
|
Dosya biçimi |
XLIFF Translation File |
Ayrıca bakınız
XLIFF on Wikipedia, XLIFF, font attribute in XLIFF 1.2, maxwidth attribute in XLIFF 1.2
Java properties
Native Java format for translations.
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
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 properties.
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
mi18n lang dosyası |
GWT özellikleri
Native GWT format for translations.
GWT properties are usually used as monolingual translations.
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
GWT Properties |
INI translations
4.1 sürümünde geldi.
INI file format for translations.
INI translations are usually used as monolingual translations.
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
INI File |
Not
Weblate only extracts keys from sections within an INI file. In case your INI file lacks sections, you might want to use Joomla translations or Java properties instead.
Ayrıca bakınız
INI Files, Java properties, Joomla translations, Inno Setup INI çevirileri
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 translations is in supporting %n
and %t
placeholders for line break and tab.
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
Inno Setup INI Dosyası |
Not
Only Unicode files (.islu
) are currently supported, ANSI variant
(.isl
) is currently not supported.
Ayrıca bakınız
Joomla translations
2.12 sürümünde geldi.
Native Joomla format for translations.
Joomla translations are usually used as monolingual translations.
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
Joomla Language File |
Ayrıca bakınız
Mozilla and Java properties files, INI translations, Inno Setup INI çevirileri
Qt Linguist .ts
Translation format used in Qt based applications.
Qt Linguist files are used as both bilingual and monolingual translations.
Typical Weblate Component configuration when using as bilingual |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
Empty |
Yeni çeviriler için şablon |
|
Dosya biçimi |
Qt Linguist Translation File |
Typical Weblate Component configuration when using as monolingual |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
|
Dosya biçimi |
Qt Linguist Translation File |
Ayrıca bakınız
Qt Linguist manual, Qt .ts, Bilingual and monolingual formats
Android string resources
Android specific file format for translating applications.
Android string resources are monolingual, the Tek dilli taban dil dosyası is
stored in a different location from the other files – res/values/strings.xml
.
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
Android String Resource |
Ayrıca bakınız
Android string resources documentation, Android string resources
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
Apple iOS strings
File format typically used for translating Apple iOS applications, but also standardized by PWG 5100.13 and used on NeXTSTEP/OpenSTEP.
Apple iOS strings are usually used as monolingual.
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
iOS Strings (UTF-8) |
PHP dizgileri
PHP translations are usually monolingual, so it is recommended to specify a base file with (what is most often the) English strings.
Example file:
<?php
$LANG['foo'] = 'bar';
$LANG['foo1'] = 'foo bar';
$LANG['foo2'] = 'foo bar baz';
$LANG['foo3'] = 'foo bar baz bag';
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
|
Dosya biçimi |
PHP strings |
Laravel PHP dizgileri
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
JSON files
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:
Simple key / value files, used for example by vue-i18n or react-intl.
Files with nested keys.
JSON translations are usually monolingual, so it is recommended to specify a base file with (what is most often the) English strings.
Example file:
{
"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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
JSON nested structure file |
Ayrıca bakınız
JSON, Hedef dil dosyalarını güncelleme, JSON çıktısını özelleştir, Çeviri dosyaslarını temizle,
JSON i18next files
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.
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 format. The v2 and v1 variants are mostly compatible, with exception of how plurals are handled.
The v4 variant uses different approach for storing plurals and is currently not supported.
Example file:
{
"hello": "Hello",
"apple": "I have an apple",
"apple_plural": "I have {{count}} apples",
"apple_negative": "I have no apples"
}
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
i18next JSON file |
go-i18n JSON files
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 files. The v2 format with hash is currently not supported.
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
go-i18n JSON file |
Ayrıca bakınız
JSON, go-i18n, Hedef dil dosyalarını güncelleme, JSON çıktısını özelleştir, Çeviri dosyaslarını temizle,
ARB File
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
ARB file |
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.
Example file:
{
"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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
WebExtension JSON file |
Ayrıca bakınız
JSON, Google chrome.i18n, Mozilla Extensions Internationalization
.XML resource files
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
.NET kaynak dosyası |
ResourceDictionary files
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
ResourceDictionary file |
Ayrıca bakınız
Flat XML, Flat XML files, Hedef dil dosyalarını güncelleme, Çeviri dosyaslarını temizle
CSV files
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 taban 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.
Example file:
Thank you for using Weblate.,Děkujeme za použití Weblate.
Typical Weblate Component configuration for bilingual CSV |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
Empty |
Yeni çeviriler için şablon |
|
Dosya biçimi |
CSV file |
Typical Weblate Component configuration for monolingual CSV |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
|
Dosya biçimi |
Basit CSV dosyası |
Multivalue CSV file
4.13 sürümünde geldi.
This variant of the CSV files allows storing multiple translations per string.
Ayrıca bakınız
YAML files
2.9 sürümünde geldi.
The plain YAML files with string keys and values. Weblate also extract strings from lists or dictionaries.
Example of a YAML file:
weblate:
hello: ""
orangutan": ""
try": ""
thanks": ""
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
YAML file |
Ayrıca bakınız
Ruby YAML files
2.9 sürümünde geldi.
Ruby i18n YAML files with language as root node.
Example Ruby i18n YAML file:
cs:
weblate:
hello: ""
orangutan: ""
try: ""
thanks: ""
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
Ruby YAML file |
Ayrıca bakınız
DTD files
2.18 sürümünde geldi.
Example DTD file:
<!ENTITY hello "">
<!ENTITY orangutan "">
<!ENTITY try "">
<!ENTITY thanks "">
Typical Weblate Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
DTD file |
Ayrıca bakınız
Flat XML files
3.9 sürümünde geldi.
Example of a flat XML file:
<?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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
Flat XML file |
Ayrıca bakınız
Windows RC files
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.
Example Windows RC file:
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
|
Dosya biçimi |
RC file |
Ayrıca bakınız
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
|
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 Customizing behavior using flags). This can be automated by the Toplu düzenleme.
Subtitle files
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
|
Dosya biçimi |
SubRip subtitle file |
Ayrıca bakınız
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 files
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
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
OpenDocument Format
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
IDML Format
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
Empty |
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
TermBase eXchange dosyası |
Ayrıca bakınız
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
Stringsdict dosyası |
Ayrıca bakınız
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 Component configuration |
|
---|---|
Dosya maskesi |
|
Tek dilli taban dil dosyası |
|
Yeni çeviriler için şablon |
Empty |
Dosya biçimi |
Fluent file |
Ayrıca bakınız
Diğer biçimleri destekleme
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.
Ayrıca bakınız