Formate de fișiere acceptate

Weblate acceptă cele mai multe formate de traducere înțelese de translate-toolkit, însă fiecare format fiind ușor diferit, pot apărea unele probleme cu formate care nu sunt bine testate.

Notă

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

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, XLIFF 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 limbaj intermediar pentru a include șiruri de caractere furnizate de dezvoltatori, dar care să nu fie utilizate ca atare în șirurile finale.

Detecție automată

Weblate poate detecta automat mai multe formate de fișiere larg răspândite, dar această detectare poate afecta performanța și va limita caracteristicile specifice unui anumit format de fișier (de exemplu, adăugarea automată de noi traduceri).

Capabilități ale tipurilor de traducere

Capacități ale tuturor formatelor acceptate:

Formatul

Lingvistică [1]

Pluralurile [2]

Descrieri [3]

Contextul [4]

Locație [5]

Indicatori [8]

State suplimentare [6]

GNU gettext

bilingv

da

da

da

da

da [9]

are nevoie de editare

Gettext monolingv

mono

da

da

da

da

da [9]

are nevoie de editare

XLIFF

ambele

da

da

da

da

da [10]

necesită editare, aprobat

Proprietăți Java

ambele

nu

da

nu

nu

nu

mi18n lang fișiere

mono

nu

da

nu

nu

nu

Proprietăți GWT

mono

da

da

nu

nu

nu

Traduceri Joomla

mono

nu

da

nu

da

nu

Qt Linguist .ts

ambele

da

da

nu

da

da [10]

are nevoie de editare

Resurse de șiruri Android

mono

da

da [7]

nu

nu

da [10]

Șiruri Apple iOS

ambele

nu

da

nu

nu

nu

Șiruri PHP

mono

nu [11]

da

nu

nu

nu

Fișiere JSON

mono

nu

nu

nu

nu

nu

Fișiere JSON i18next

mono

da

nu

nu

nu

nu

fișiere JSON go-i18n

mono

da

nu

nu

nu

nu

gotext JSON files

mono

da

da

nu

da

nu

Fișier ARB

mono

da

da

nu

nu

nu

WebExtensiune JSON

mono

da

da

nu

nu

nu

Fișiere de resurse .XML

mono

nu

da

nu

nu

da [10]

Fișiere ResourceDictionary

mono

nu

nu

nu

nu

da [10]

Fișiere CSV

ambele

nu

da

da

da

nu

are nevoie de editare

Fișiere YAML

mono

nu

da

nu

nu

nu

Fișiere Ruby YAML

mono

da

da

nu

nu

nu

Fișiere DTD

mono

nu

nu

nu

nu

nu

Fișiere XML plane

mono

nu

nu

nu

nu

da [10]

Fișiere Windows RC

mono

nu

da

nu

nu

nu

Excel Deschidere XML

mono

nu

da

da

da

nu

are nevoie de editare

Fișiere de metadate ale magazinului de aplicații

mono

nu

nu

nu

nu

nu

Fișiere de subtitrare

mono

nu

nu

nu

da

nu

Fișiere HTML

mono

nu

nu

nu

nu

nu

Formatul OpenDocument

mono

nu

nu

nu

nu

nu

Formatul IDML

mono

nu

nu

nu

nu

nu

Traduceri INI

mono

nu

nu

nu

nu

nu

Traduceri Inno Setup INI

mono

nu

nu

nu

nu

nu

Formatul TermBase eXchange

bilingv

nu

da

nu

nu

da [10]

Fișiere text

mono

nu

nu

nu

nu

nu

Formatul Stringsdict

mono

da

da

nu

nu

nu

Format fluent

mono

nu [12]

da

nu

nu

nu

Șiruri de caractere numai pentru citire

Nou în versiunea 3.10.

Ș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 ș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.

GNU gettext

Cel mai utilizat format pentru traducerea de software liber.

Informațiile contextuale stocate în fișier sunt susținute prin ajustarea antetelor sale sau prin crearea de legături către fișierele sursă corespunzătoare.

Fișierul bilingv gettext PO arată de obicei astfel:

#: 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ý"

Tipic Weblate Configurația componentei

Masca de fișier

po/*.po

Fișier de limbă de bază monolingvă

Gol

Șablon pentru traduceri noi

po/messages.pot

Formatul fișierului

Gettext PO fișier

Gettext monolingv

Unele proiecte decid să utilizeze gettext ca formate monolingve - acestea codifică doar ID-urile în codul sursă, iar șirul trebuie apoi tradus în toate limbile, inclusiv în engleză. Acest lucru este acceptat, deși trebuie să alegeți acest format de fișier în mod explicit atunci când importați componente în Weblate.

Fișierul monolingv gettext PO arată de obicei astfel:

#: 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ý"

În timp ce fișierul limbii de bază va fi:

#: 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"

Tipic Weblate Configurația componentei

Masca de fișier

po/*.po

Fișier de limbă de bază monolingvă

po/en.po

Șablon pentru traduceri noi

po/messages.pot

Formatul fișierului

Gettext PO file (monolingv)

XLIFF

Format bazat pe XML creat pentru a standardiza fișierele de traducere, dar în cele din urmă este unul dintre multele standarde, în acest domeniu.

XML Localization Interchange File Format (XLIFF) este de obicei folosit ca bilingv, dar Weblate îl acceptă și ca monolingv.

Weblate acceptă XLIFF în mai multe variante:

XLIFF fișier de traducere

Fișier XLIFF simplu în care conținutul elementelor este stocat sub formă de text simplu (toate elementele XML sunt evadate).

XLIFF cu suport pentru placeables

XLIFF standard, care acceptă elemente de tip „placeables” și alte elemente XML.

XLIFF cu extensii gettext

XLIFF îmbogățit de XLIFF 1.2 Representation Guide for Gettext PO pentru a suporta pluralul.

Statele de traducere

Schimbat în versiunea 3.3: Weblate a ignorat atributul state înainte de versiunea 3.3.

Atributul state din fișier este parțial procesat și mapat la starea „Needs edit” din Weblate (următoarele stări sunt folosite pentru a marca șirul ca necesitând editare dacă există o țintă prezentă: new, needs-translation, needs-adaptation, needs-l10n). În cazul în care atributul state lipsește, un șir este considerat tradus de îndată ce există un element <target>.

Dacă șirul de traducere are approved="yes", acesta va fi, de asemenea, importat în Weblate ca „Approved”, orice altceva va fi importat ca „Waiting for review” (care corespunde specificației XLIFF).

În timpul salvării, Weblate nu adaugă aceste atribute decât dacă este necesar:

  • Atributul state este adăugat numai în cazul în care șirul este marcat ca necesitând editare.

  • Atributul approved se adaugă numai în cazul în care șirul a fost revizuit.

  • În alte cazuri, atributele nu sunt adăugate, dar sunt actualizate în cazul în care sunt prezente.

Aceasta înseamnă că, atunci când se utilizează formatul XLIFF, se recomandă cu tărie activarea procesului de revizuire Weblate, pentru a vedea și modifica starea aprobată a șirurilor de caractere.

În mod similar, atunci când importați astfel de fișiere (în formularul de încărcare), trebuie să alegeți Import as translated sub Procesarea șirurilor de caractere care necesită editare.

Spațiu alb și linii noi în XLIFF

În general, în formatele XML nu se fac diferențe între tipurile sau cantitățile de spații albe. Dacă doriți să îl păstrați, trebuie să adăugați steagul xml:space="preserve" la șirul de caractere.

De exemplu:

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

Specificarea indicatoarelor de traducere

Puteți specifica indicatori de traducere suplimentari (a se vedea Personalizarea comportamentului cu ajutorul stegulețelor) utilizând atributul weblate-flags. Weblate înțelege, de asemenea, atributele maxwidth și font din specificația XLIFF:

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

Atributul font este analizat pentru familia, dimensiunea și greutatea fontului, exemplul de mai sus arată toate acestea, deși este necesară doar familia fontului. Orice spațiu în alb din familia de fonturi este convertit în caractere de subliniere, astfel încât Source Sans Pro devine Source_Sans_Pro, vă rugăm să țineți cont de acest lucru atunci când numiți grupul de fonturi (a se vedea Gestionarea fonturilor).

Chei de șiruri

Weblate identifică unitățile din fișierul XLIFF prin atributul resname în cazul în care acesta este prezent și revine la id (împreună cu tag-ul file`, dacă este prezent).

Atributul resname ar trebui să fie un identificator prietenos pentru oameni al unității, ceea ce îl face mai potrivit pentru afișarea în Weblate în loc de id. Numele „Resname” trebuie să fie unic în întregul fișier XLIFF. Acest lucru este cerut de Weblate și nu este reglementat de standardul XLIFF - acesta nu impune nicio restricție de unicitate pentru acest atribut.

Tipic Weblate Configurația componentei pentru XLIFF bilingv

Masca de fișier

localizări/*.xliff

Fișier de limbă de bază monolingvă

Gol

Șablon pentru traduceri noi

localizări/en-US.xliff

Formatul fișierului

XLIFF Fișier de traducere

Tipic Weblate Configurația componentei pentru XLIFF monolingv

Masca de fișier

localizări/*.xliff

Fișier de limbă de bază monolingvă

localizări/en-US.xliff

Șablon pentru traduceri noi

localizări/en-US.xliff

Formatul fișierului

XLIFF Fișier de traducere

Proprietăți Java

Format nativ Java pentru traduceri.

Proprietățile Java sunt utilizate de obicei ca traduceri monolingve.

Weblate acceptă variantele ISO-8859-1, UTF-8 și UTF-16 ale acestui format. Toate acestea acceptă stocarea tuturor caracterelor Unicode, doar că sunt codificate diferit. În ISO-8859-1, se folosesc secvențele de scăpare Unicode (de exemplu zkou\u0161ka), toate celelalte codifică caracterele direct, fie în UTF-8, fie în UTF-16.

Notă

Încărcarea secvențelor de scăpare funcționează și în modul UTF-8, așa că vă rugăm să aveți grijă să alegeți setul de codificare corect pentru a corespunde nevoilor aplicației dumneavoastră.

Tipic Weblate Configurația componentei

Masca de fișier

src/app/Bundle_*.proprietăți

Fișier de limbă de bază monolingvă

src/app/Bundle.proprietăți

Șablon pentru traduceri noi

Gol

Formatul fișierului

Proprietăți Java (ISO-8859-1)`

mi18n lang fișiere

Nou în versiunea 4.7.

Format de fișier utilizat pentru localizarea JavaScript de către mi18n. Sintactic, se potrivește cu Proprietăți Java.

Tipic Weblate Configurația componentei

Masca de fișier

*.lang

Fișier de limbă de bază monolingvă

en-US.lang

Șablon pentru traduceri noi

Gol

Formatul fișierului

mi18n fișier lang

Proprietăți GWT

Format nativ GWT pentru traduceri.

Proprietățile GWT sunt utilizate de obicei ca traduceri monolingve.

Tipic Weblate Configurația componentei

Masca de fișier

src/app/Bundle_*.proprietăți

Fișier de limbă de bază monolingvă

src/app/Bundle.proprietăți

Șablon pentru traduceri noi

Gol

Formatul fișierului

GWT Proprietăți

Traduceri INI

Nou în versiunea 4.1.

Formatul fișierului INI pentru traduceri.

Traducerile INI sunt utilizate de obicei ca traduceri monolingve.

Tipic Weblate Configurația componentei

Masca de fișier

limbă/*.ini

Fișier de limbă de bază monolingvă

limbă/en.ini

Șablon pentru traduceri noi

Gol

Formatul fișierului

FIșier INI

Notă

Weblate extrage cheile numai din secțiunile dintr-un fișier INI. În cazul în care fișierul INI nu are secțiuni, este posibil să doriți să utilizați în schimb Traduceri Joomla sau Proprietăți Java.

Traduceri Inno Setup INI

Nou în versiunea 4.1.

Formatul de fișier Inno Setup INI pentru traduceri.

Traducerile Inno Setup INI sunt utilizate de obicei ca traduceri monolingve.

Notă

Singura diferență notabilă față de Traduceri INI este aceea că suportă caracterele de substituție %n și %t` pentru pauză de linie și tabulare.

Tipic Weblate Configurația componentei

Masca de fișier

limbă/*.islu

Fișier de limbă de bază monolingvă

limbă/en.islu

Șablon pentru traduceri noi

Gol

Formatul fișierului

Inno Setup INI Fișier

Notă

Doar fișierele Unicode (.islu) sunt acceptate în prezent, varianta ANSI (.isl) nu este acceptată în prezent.

Traduceri Joomla

Nou în versiunea 2.12.

Format nativ Joomla pentru traduceri.

Traducerile Joomla sunt de obicei folosite ca traduceri monolingve.

Tipic Weblate Configurația componentei

Masca de fișier

limbă/*/com_foobar.ini

Fișier de limbă de bază monolingvă

limbă/en-GB/com_foobar.ini

Șablon pentru traduceri noi

Gol

Formatul fișierului

Fișier de limbă Joomla

Qt Linguist .ts

Format de traducere utilizat în aplicațiile bazate pe Qt.

Fișierele Qt Linguist sunt utilizate atât ca traduceri bilingve, cât și monolingve.

Tipic Weblate Configurația componentei atunci când se utilizează ca bilingv

Masca de fișier

i18n/app.*.ts

Fișier de limbă de bază monolingvă

Gol

Șablon pentru traduceri noi

i18n/app.de.ts

Formatul fișierului

Qt Linguist Traducere fișier

Tipic Weblate Configurația componentei atunci când se utilizează ca monolingv

Masca de fișier

i18n/app.*.ts

Fișier de limbă de bază monolingvă

i18n/app.en.ts

Șablon pentru traduceri noi

i18n/app.en.ts

Formatul fișierului

Qt Linguist Traducere fișier

Resurse de șiruri Android

Format de fișier specific Android pentru traducerea aplicațiilor.

Resursele de șiruri de caractere Android sunt monolingve, Fișier de limbă de bază monolingvă este stocat într-o locație diferită de celelalte fișiere – res/values/strings.xml.

Tipic Weblate Configurația componentei

Masca de fișier

res/values-*/strings.xml

Fișier de limbă de bază monolingvă

res/values/strings.xml

Șablon pentru traduceri noi

Gol

Formatul fișierului

Resurse de șiruri Android

Notă

Structurile Android string-array nu sunt acceptate în prezent. Pentru a rezolva această problemă, puteți despărți array-urile de șiruri de caractere:

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

devin:

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

Rețeaua string-array care indică elementele string ar trebui să fie stocată într-un alt fișier și să nu fie disponibilă pentru traducere.

Acest script poate ajuta la pre-procesarea fișierelor strings.xml și a traducerilor existente: https://gist.github.com/paour/11291062

Sugestie

Pentru a evita traducerea unor șiruri de caractere, acestea pot fi marcate ca netranslatabile. Acest lucru poate fi util în special pentru referințele de șiruri de caractere:

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

Șiruri Apple iOS

Format de fișier utilizat de obicei pentru traducerea aplicațiilor Apple iOS, dar și standardizat de PWG 5100.13 și utilizat pe NeXTSTEP/OpenSTEP.

Șirurile de caractere Apple iOS sunt utilizate de obicei ca fiind monolingve.

Tipic Weblate Configurația componentei

Masca de fișier

Resurse/*.lproj/Localizable.strings

Fișier de limbă de bază monolingvă

Resurse/en.lproj/Localizable.strings sau Resurse/Base.lproj/Localizable.strings

Șablon pentru traduceri noi

Gol

Formatul fișierului

Șiruri de caractere pentru iOS (UTF-8)

Șiruri PHP

Traducerile PHP sunt, de obicei, monolingve, așa că se recomandă să specificați un fișier de bază cu (ceea ce este cel mai adesea) șiruri de caractere în limba engleză.

Exemplu de fișier:

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

Tipic Weblate Configurația componentei

Masca de fișier

lang/*/texts.php

Fișier de limbă de bază monolingvă

lang/en/texts.php

Șablon pentru traduceri noi

lang/en/texts.php

Formatul fișierului

PHP șiruri de caractere

Laravel PHP șiruri de caractere

Schimbat în versiunea 4.1.

Fișierele de localizare Laravel PHP sunt acceptate și cu plural:

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

Fișiere JSON

Nou în versiunea 2.0.

Schimbat în versiunea 2.16: Începând cu Weblate 2.16 și cu translate-toolkit cel puțin 2.2.4, sunt acceptate și fișierele JSON cu structuri imbricate.

Schimbat în versiunea 4.3: Structura fișierului JSON este păstrată în mod corespunzător chiar și în cazul situațiilor complexe, care erau afectate în versiunile anterioare.

Formatul JSON este utilizat în principal pentru traducerea aplicațiilor implementate în JavaScript.

Weblate acceptă în prezent mai multe variante de traduceri JSON:

Traducerile JSON sunt, de obicei, monolingve, astfel încât se recomandă să specificați un fișier de bază cu (ceea ce este cel mai adesea) șiruri de caractere în limba engleză.

Exemplu de fișier:

{
  "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.": ""
}

Fișierele imbricate sunt, de asemenea, acceptate (a se vedea mai sus pentru cerințe), un astfel de fișier poate arăta ca:

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

Sugestie

JSON file și JSON nested structure file pot gestiona același tip de fișiere. Ambele păstrează structura JSON existentă în timpul traducerii.

Singura diferență între ele este atunci când se adaugă șiruri noi folosind Weblate. Formatul structurii imbricate analizează cheia nou adăugată și introduce noul șir în structura corespunzătoare. De exemplu, cheia app.name este inserată ca:

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

Tipic Weblate Configurația componentei

Masca de fișier

langs/translation-*.json

Fișier de limbă de bază monolingvă

langs/translation-en.json

Șablon pentru traduceri noi

Gol

Formatul fișierului

Fisier cu structură imbricata JSON

Fișiere JSON i18next

Schimbat în versiunea 2.17: Începând cu Weblate 2.17 și cu translate-toolkit cel puțin 2.2.5, sunt acceptate și fișierele JSON i18next cu plural.

Schimbat în versiunea 4.15.1: Support for v4 variant of this format was added.

Sugestie

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 este un cadru de internaționalizare scris în și pentru JavaScript. Weblate sprijină fișierele sale de localizare cu caracteristici precum pluralul.

Traducerile i18next sunt monolingve, așa că este recomandat să specificați un fișier de bază cu (ceea ce este cel mai adesea) șiruri de caractere în limba engleză.

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.

Exemplu de fișier:

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

Tipic Weblate Configurația componentei

Masca de fișier

langs/*.json

Fișier de limbă de bază monolingvă

langs/en.json

Șablon pentru traduceri noi

Gol

Formatul fișierului

i18next JSON file v3

fișiere JSON go-i18n

Nou în versiunea 4.1.

Traducerile go-i18n sunt monolingve, așa că este recomandat să specificați un fișier de bază cu (ceea ce este cel mai adesea) șiruri de caractere în limba engleză.

Notă

Weblate acceptă formatul go-i18n JSON v1, pentru formate JSON plate vă rugăm să utilizați Fișiere JSON. Formatul v2 cu hash nu este acceptat în prezent.

Tipic Weblate Configurația componentei

Masca de fișier

langs/*.json

Fișier de limbă de bază monolingvă

langs/en.json

Șablon pentru traduceri noi

Gol

Formatul fișierului

go-i18n JSON fișier

gotext JSON files

Nou în versiunea 4.15.1.

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

Tipic Weblate Configurația componentei

Masca de fișier

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

Fișier de limbă de bază monolingvă

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

Șablon pentru traduceri noi

Gol

Formatul fișierului

gotext JSON file

Fișier ARB

Nou în versiunea 4.1.

Traducerile ARB sunt monolingve, astfel încât se recomandă să specificați un fișier de bază cu (ceea ce este cel mai adesea) șiruri de caractere în limba engleză.

Tipic Weblate Configurația componentei

Masca de fișier

lib/l10n/intl_*.arb

Fișier de limbă de bază monolingvă

lib/l10n/intl_en.arb

Șablon pentru traduceri noi

Gol

Formatul fișierului

ARB fișier

WebExtensiune JSON

Nou în versiunea 2.16: Acest lucru este acceptat începând cu Weblate 2.16 și cu translate-toolkit cel puțin 2.2.4.

Format de fișier utilizat la traducerea extensiilor pentru Mozilla Firefox sau Google Chromium.

Notă

Deși acest format se numește JSON, specificația sa permite includerea de comentarii, care nu fac parte din specificația JSON. În prezent, Weblate nu acceptă fișiere cu comentarii.

Exemplu de fișier:

{
  "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"
  }
}

Tipic Weblate Configurația componentei

Masca de fișier

_locale/*/messages.json

Fișier de limbă de bază monolingvă

_locale/en/messages.json

Șablon pentru traduceri noi

Gol

Formatul fișierului

Fișier JSON al extensiei web

Fișiere de resurse .XML

Nou în versiunea 2.3.

Un fișier resursă .XML (.resx) utilizează un format de fișier XML monolingv utilizat în aplicațiile Microsoft .NET. Este interschimbabil cu .resw, atunci când folosește o sintaxă identică cu cea a fișierului .resx.

Tipic Weblate Configurația componentei

Masca de fișier

Resurse/Limbă.*.resx

Fișier de limbă de bază monolingvă

Resurse/Limbă.*.resx

Șablon pentru traduceri noi

Gol

Formatul fișierului

fișier de resurse .NET

Fișiere ResourceDictionary

Nou în versiunea 4.13.

ResourceDictionary este un format de fișier XML monolingv utilizat pentru a împacheta resurse de șiruri de caractere localizabile pentru aplicațiile Windows Presentation Foundation (WPF).

Tipic Weblate Configurația componentei

Masca de fișier

Limbi/*.xaml

Fișier de limbă de bază monolingvă

Limbă/en.xaml

Șablon pentru traduceri noi

Gol

Formatul fișierului

ResurseDicționar de fișiere

Fișiere CSV

Nou în versiunea 2.4.

Fișierele CSV pot conține o simplă listă de surse și traduceri. Weblate acceptă următoarele fișiere:

  • Fișiere cu câmpuri care definesc antetul (location, source, target, ID, fuzzy, context, translator_comments, developer_comments). Aceasta este abordarea recomandată, deoarece este cea mai puțin predispusă la erori. Alegeți FileCSV ca format de fișier.

  • Fișiere cu două câmpuri - sursă și traducere (în această ordine). Alegeți Simple CSV file ca format de fișier.

  • Fișiere fără antet cu câmpuri în ordinea definită de translate-toolkit: location, source, target, ID, fuzzy, context, translator_comments, developer_comments. Alegeți ca format de fișier CSV file.

  • Nu uitați să definiți Fișier de limbă de bază monolingvă atunci când fișierele dumneavoastră sunt monolingve (a se vedea Formate bilingve și monolingve).

Sugestie

În mod implicit, formatul CSV detectează automat codificarea fișierelor. Acest lucru poate să nu fie fiabil în unele cazuri particulare și poate cauza pierderi de performanță. Vă rugăm să alegeți o variantă de format de fișier cu codificare pentru a evita acest lucru (de exemplu CSV file (UTF-8)).

Atenționare

În prezent, formatul CSV detectează automat dialectul fișierului CSV. În unele cazuri, este posibil ca detectarea automată să nu reușească și să obțineți rezultate mixte. Acest lucru este valabil în special pentru fișierele CSV cu linii noi în valori. Ca soluție de rezolvare, se recomandă să omiteți caracterele de ghilimele.

Exemplu de fișier:

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

Tipic Weblate Configurația componentei pentru CSV bilingv

Masca de fișier

locale/*.csv

Fișier de limbă de bază monolingvă

Gol

Șablon pentru traduceri noi

locale/en.csv

Formatul fișierului

File CSV

Tipic Weblate Configurația componentei pentru CSV monolingv

Masca de fișier

locale/*.csv

Fișier de limbă de bază monolingvă

locale/en.csv

Șablon pentru traduceri noi

locale/en.csv

Formatul fișierului

File CSV simplu

Fișier CSV multivaloare

Nou în versiunea 4.13.

Această variantă a fișierelor CSV permite stocarea mai multor traduceri per șir.

Vezi și

tt:formate/csv

Fișiere YAML

Nou în versiunea 2.9.

Fișierele YAML simple cu chei și valori de tip șir de caractere. Weblate extrage, de asemenea, șiruri de caractere din liste sau dicționare.

Exemplu de fișier YAML:

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

Tipic Weblate Configurația componentei

Masca de fișier

traduceri/messages.*.yml

Fișier de limbă de bază monolingvă

traduceri/messages.en.yml

Șablon pentru traduceri noi

Gol

Formatul fișierului

fișier YAML

Vezi și

tt:formate/yaml, Fișiere Ruby YAML

Fișiere Ruby YAML

Nou în versiunea 2.9.

Fișiere Ruby i18n YAML cu limba ca nod rădăcină.

Exemplu de fișier Ruby i18n YAML:

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

Tipic Weblate Configurația componentei

Masca de fișier

traduceri/messages.*.yml

Fișier de limbă de bază monolingvă

traduceri/messages.en.yml

Șablon pentru traduceri noi

Gol

Formatul fișierului

`Ruby YAML fișier `

Vezi și

tt:formate/yaml, Fișiere YAML

Fișiere DTD

Nou în versiunea 2.18.

Exemplu de fișier DTD:

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

Tipic Weblate Configurația componentei

Masca de fișier

locale/*.dtd

Fișier de limbă de bază monolingvă

locale/en.dtd

Șablon pentru traduceri noi

Gol

Formatul fișierului

DTD fișier

Vezi și

tt:formate/dtd

Fișiere XML plane

Nou în versiunea 3.9.

Exemplu de fișier XML plat:

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

Tipic Weblate Configurația componentei

Masca de fișier

locale/*.xml

Fișier de limbă de bază monolingvă

locale/en.xml

Șablon pentru traduceri noi

Gol

Formatul fișierului

Fișier XML plat

Vezi și

tt:formate/flatxml

Fișiere Windows RC

Schimbat în versiunea 4.1: Suportul pentru fișierele Windows RC a fost rescris.

Notă

Suportul pentru acest format este în prezent în stadiul beta, feedback-ul de la testare este binevenit.

Exemplu de fișier Windows RC:

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

Tipic Weblate Configurația componentei

Masca de fișier

lang/*.rc

Fișier de limbă de bază monolingvă

lang/en-US.rc

Șablon pentru traduceri noi

lang/en-US.rc

Formatul fișierului

RC fișier

Vezi și

Windows RC files

Fișiere de metadate ale magazinului de aplicații

Nou în versiunea 3.5.

Metadatele utilizate pentru publicarea aplicațiilor în diverse magazine de aplicații pot fi traduse. În prezent, următoarele instrumente sunt compatibile:

Metadatele constau din mai multe fișiere text, pe care Weblate le va prezenta ca șiruri separate pentru traducere.

Tipic Weblate Configurația componentei

Masca de fișier

fastlane/android/metadata/*`

Fișier de limbă de bază monolingvă

fastlane/android/metadata/en-US

Șablon pentru traduceri noi

fastlane/android/metadata/en-US

Formatul fișierului

Filele de metadate ale magazinului de aplicații

Sugestie

În cazul în care nu doriți să traduceți anumite șiruri de caractere (de exemplu, changelogs), marcați-le ca fiind doar pentru citire (a se vedea Personalizarea comportamentului cu ajutorul stegulețelor). Acest lucru poate fi automatizat de către Editare în masă.

Fișiere de subtitrare

Nou în versiunea 3.7.

Weblate poate traduce diverse fișiere de subtitrare:

  • Fișier subtitrat SubRip (*.srt)

  • Fișier de subtitrare MicroDVD (*.sub)

  • Fișier de subtitrări Advanced Substation Alpha (*.ass)

  • Fișier de subtitrare Substation Alpha (*.ssa)

Tipic Weblate Configurația componentei

Masca de fișier

path/*.srt

Fișier de limbă de bază monolingvă

path/en.srt

Șablon pentru traduceri noi

path/en.srt

Formatul fișierului

SubRip fișier de subtitrare

Vezi și

tt:formate/subtitluri

Excel Deschidere XML

Nou în versiunea 3.2.

Fișierele Excel Open XML (.xlsx) pot fi importate și exportate.

Atunci când încărcați fișiere XLSX pentru traducere, rețineți că este luată în considerare doar foaia de lucru activă și că trebuie să existe cel puțin o coloană numită source (care conține șirul sursă) și o coloană numită target (care conține traducerea). În plus, trebuie să existe coloana numită context (care conține calea de context a șirului de traducere). Dacă folosiți descărcarea XLSX pentru a exporta traducerile într-un registru de lucru Excel, obțineți deja un fișier cu formatul de fișier corect.

Fișiere HTML

Nou în versiunea 4.1.

Notă

Suportul pentru acest format este în prezent în stadiul beta, feedback-ul de la testare este binevenit.

Conținutul traductibil este extras din fișierele HTML și oferit pentru traducere.

Vezi și

tt:formate/html

Fișiere text

Nou în versiunea 4.6.

Notă

Suportul pentru acest format este în prezent în stadiul beta, feedback-ul de la testare este binevenit.

Conținutul care poate fi tradus este extras din fișierele de text simplu și oferit pentru traducere. Fiecare paragraf este tradus ca un șir de caractere separat.

Există trei variante ale acestui format:

  • Fișier text simplu

  • Fișier text DokuWiki

  • Fișier text MediaWiki

Vezi și

tt:formate/text

Formatul OpenDocument

Nou în versiunea 4.1.

Notă

Suportul pentru acest format este în prezent în stadiul beta, feedback-ul de la testare este binevenit.

Conținutul traductibil este extras din fișierele OpenDocument și oferit pentru traducere.

Vezi și

tt:formate/odf

Formatul IDML

Nou în versiunea 4.1.

Notă

Suportul pentru acest format este în prezent în stadiul beta, feedback-ul de la testare este binevenit.

Conținutul traductibil este extras din fișierele Adobe InDesign Markup Language și oferit pentru traducere.

Formatul TermBase eXchange

Nou în versiunea 4.5.

TBX este un format XML pentru schimbul de date terminologice.

Tipic Weblate Configurația componentei

Masca de fișier

tbx/*.tbx

Fișier de limbă de bază monolingvă

Gol

Șablon pentru traduceri noi

Gol

Formatul fișierului

TermBase eXchange fișier

Formatul Stringsdict

Nou în versiunea 4.8.

Notă

Suportul pentru acest format este în prezent în stadiul beta, feedback-ul de la testare este binevenit.

Format bazat pe XML utilizat de Apple, care poate stoca mai multe forme ale unui șir de caractere.

Tipic Weblate Configurația componentei

Masca de fișier

Resurse/*.lproj/Localizable.stringsdict

Fișier de limbă de bază monolingvă

Resurse/en.lproj/Localizable.stringsdict sau Resurse/Base.lproj/Localizable.stringsdict

Șablon pentru traduceri noi

Gol

Formatul fișierului

Stringsdict fișier

Format fluent

Nou în versiunea 4.8.

Notă

Suportul pentru acest format este în prezent în stadiul beta, feedback-ul de la testare este binevenit.

Fluent este un format de text monolingv care se concentrează pe localizarea asimetrică: un simplu șir de caractere într-o limbă poate fi asociat cu o traducere complexă cu mai multe variante în altă limbă.

Tipic Weblate Configurația componentei

Masca de fișier

locale/*/messages.ftl

Fișier de limbă de bază monolingvă

locale/en/messages.ftl

Șablon pentru traduceri noi

Gol

Formatul fișierului

Fișier fluent`

Sprijinirea altor formate

Majoritatea formatelor acceptate de translate-toolkit care acceptă serializarea pot fi acceptate cu ușurință, dar nu au fost (încă) testate. În cele mai multe cazuri este nevoie de un strat subțire în Weblate pentru a ascunde diferențele de comportament ale diferitelor stocări translate-toolkit.

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