Localization file formats

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

Sugestie

Atunci când alegeți un format de fișier pentru aplicația voastră, este mai bine să folosiți un format bine stabilit în setul de instrumente/platforma pe care o utilizați. În acest fel, traducătorii voștri pot folosi în plus orice instrumente cu care sunt obișnuiți și vor contribui mai probabil la proiectul dumneavoastră.

Detecție automată

Weblate tries to detect file format during Adăugarea de proiecte și componente de traducere. The detection might be wrong for different variants of the same serialization format (JSON, YAML, properties) or file encoding, so please verify that Format fișier is correct before creating the component.

Capabilități ale tipurilor de traducere

Please refer to the documentation page of each individual file format for information about which features are supported in that format.

Formate bilingve și monolingve

Sunt acceptate atât formatul monolingual, cât și bilingual. Formatele bilingve stochează două limbi într-un singur fișier-sursă și traducere (exemple tipice sunt GNU gettext PO (Portable Object), XLIFF 1.1 and 1.2 sau Șiruri Apple iOS). Pe de altă parte, formatele monolingve identifică șirul de caractere prin ID, iar fiecare fișier de limbă conține doar maparea acestora într-o anumită limbă (tipic Resurse de șiruri Android). Unele formate de fișiere sunt utilizate în ambele variante, a se vedea descrierea detaliată de mai jos.

Pentru utilizarea corectă a fișierelor monolingve, Weblate are nevoie de acces la un fișier care să conțină lista completă a șirurilor de caractere care trebuie traduse împreună cu sursa lor - acest fișier se numește Fișier de limbă de bază monolingvă în Weblate, deși denumirea poate varia în paradigma dumneavoastră.

În plus, acest flux de lucru poate fi extins prin utilizarea Fișier de limbă intermediar pentru a include șiruri de caractere furnizate de dezvoltatori, dar care să nu fie utilizate ca atare în șirurile finale.

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”.

Descriere șir sursă

Descrierile șirului sursă pot fi utilizate pentru a transmite informații suplimentare despre șirul de tradus.

Several formats have native support for providing additional info to translators (for example XLIFF 1.1 and 1.2, GNU gettext PO (Portable Object), JSON WebExtension, Fișiere CSV, Excel Open XML, Qt Lingvist .ts, fișiere JSON go-i18n, Fișiere gotext JSON, Fișier ARB, Fișiere resurse .NET (RESX, RESW)). Many other formats extract closest comment as source string description.

Explicație

The Explicație on strings can be stored and parsed from a few file formats.

Currently supported only in Format TermBase eXchange.

Locație șir sursă

Localizarea unui șir de caractere în codul sursă ar putea ajuta traducătorii pricepuți să își dea seama cum este utilizat acel șir.

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 Qt Lingvist .ts.

Indicarori traducere

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 Personalizarea comportamentului cu ajutorul stegulețelor).

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 Specificarea indicatoarelor de traducere.

Context

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.

Sugestie

Pluralizing strings need proper support from the application framework as well. Choose native format of your platform such as GNU gettext PO (Portable Object), Resurse de șiruri Android or Format Stringsdict.

Șiruri numai pentru citire

Șirurile de caractere numai pentru citire din fișierele de traducere vor fi incluse, dar nu pot fi editate în Weblate. Această caracteristică este susținută nativ de câteva formate (XLIFF 1.1 and 1.2 și Resurse de șiruri Android), dar poate fi emulată în altele prin adăugarea unui indicator read-only, a se vedea Personalizarea comportamentului cu ajutorul stegulețelor.

Sprijinirea altor formate

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.

Pentru a adăuga suport pentru un nou format, abordarea preferată este de a implementa mai întâi suportul pentru acesta în translate-toolkit.

File format parameters

File format parameters provide a way to configure settings related to the file format. They are configured at component level and allow you to customize how file parsing and serialization are handled.

List of file format parameters

Parameter name

File formats

Label

Help text

csv_encoding

  • csv

  • csv-multi

File encoding

Encoding used for CSV files

Alegerile disponibile:

auto

Auto-detect

utf-8

UTF-8

csv_simple_encoding

  • csv-simple

File encoding

Encoding used for simple CSV files

Alegerile disponibile:

auto

Auto-detect

utf-8

UTF-8

iso-8859-1

ISO-8859-1

dos_eol

All file formats

Terminții de linie DOS

Use DOS line endings (rn) instead of UNIX line endings (n) in strings.

flatxml_key_name

  • flatxml

FlatXML key name

flatxml_root_name

  • flatxml

FlatXML Root name

flatxml_value_name

  • flatxml

FlatXML value name

gwt_encoding

  • gwt

File encoding

Encoding used for GWT Properties files

Alegerile disponibile:

utf-8

UTF-8

iso-8859-1

ISO-8859-1

json_indent

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Indentarea JSON

json_indent_style

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Stil indentare JSON

Alegerile disponibile:

spaces

Spații

tabs

File

json_sort_keys

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Sortează chei JSON

json_use_compact_separators

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Avoid spaces after separators

line_max_length

  • markdown

  • mdx

Maximum line length

The maximum number of characters for each line in the output file.

md_extract_code_blocks

  • markdown

  • mdx

Extract code blocks

Whether to extract translatable content from code blocks in Markdown and MDX files.

md_extract_frontmatter

  • markdown

  • mdx

Extract front matter

Whether to extract and translate YAML front matter blocks in Markdown and MDX files.

md_no_placeholders

  • markdown

  • mdx

Disable placeholders

Disables detection and processing of placeholders in Markdown and MDX files.

merge_duplicates

  • markdown

  • mdx

  • html

  • txt

  • dokuwiki

  • mediawiki

  • asciidoc

Deduplicate identical strings

Consolidates identical source strings into a single translation unit. Prevents translation loss during file restructuring or table reordering by removing position-dependent context.

po_fuzzy_matching

  • po

Folosește potrivire confuză

po_keep_previous

  • po

Păstrează msgid-urile anterioare ale șirurilor traduse

po_line_wrap

  • po

  • po-mono

Împachetare linii lungi

By default, gettext wraps lines at 77 characters and at newlines. With the --no-wrap parameter, wrapping is only done at newlines.

Alegerile disponibile:

77

Împachetează linii la 77 de caractere și la linii noi (implicit xgettext)

65535

Only wrap lines at newlines (like xgettext --no-wrap)

-1

Fără împachetare linie

po_no_location

  • po

Do not include location information in the file

po_report_msgid_bugs_to

  • po

  • po-mono

Report msgid bugs to

Lets Weblate update the „Report-Msgid-Bugs-To” file header if Source string bug reporting address is set.

po_set_language_team

  • po

  • po-mono

Update language team header

Lets Weblate update the „Language-Team” file header.

po_set_last_translator

  • po

  • po-mono

Update last translator header

Lets Weblate update the „Last-Translator” file header.

po_set_x_generator

  • po

  • po-mono

Update X-Generator header

Lets Weblate update the „X-Generator” file header.

properties_encoding

  • properties

File encoding

Encoding used for Java Properties files

Alegerile disponibile:

iso-8859-1

ISO-8859-1

utf-8

UTF-8

utf-16

UTF-16

strings_encoding

  • strings

File encoding

Encoding used for iOS strings files

Alegerile disponibile:

utf-8

UTF-8

utf-16

UTF-16

xml_closing_tags

  • ts

  • plainxliff

  • xliff

  • xliff2

  • xliff2-placeables

  • poxliff

  • apple-xliff

  • resx

  • aresource

  • moko-resource

  • cmp-resource

  • tbx

Include etichetă de închidere pentru etichetele XML goale

yaml_indent

  • yaml

  • ruby-yaml

Indentare YAML

yaml_line_break

  • yaml

  • ruby-yaml

Linie de pauză

Alegerile disponibile:

dos

DOS (\r\n)

unix

UNIX (\n)

mac

MAC (\r)

yaml_line_wrap

  • yaml

  • ruby-yaml

Împachetare linii lungi

Alegerile disponibile:

80

Împachetează linii la 80 de caractere

100

Împachetează linii la 100 de caractere

120

Împachetează linii la 120 de caractere

180

Împachetează linii la 180 de caractere

65535

Fără împachetare linie