Formáty lokalizačných súborov

Weblate podporuje širokú škálu prekladových formátov. Každý formát je mierne odlišný a poskytuje inú sadu funkcií.

Rada

Pri výbere formátu súboru pre vašu aplikáciu je lepšie držať sa nejakého ustáleného formátu v nástrojoch/platforme, ktoré používate. Týmto spôsobom budú vaši prekladatelia môcť navyše používať nástroje, na ktoré sú zvyknutí, a s väčšou pravdepodobnosťou prispejú k vášmu projektu.

Automatická detekcia

Weblate sa počas Pridávanie prekladových projektov a komponentov snaží detekovať formát súboru. Detekcia môže byť nesprávna pre rôzne varianty toho istého serializačného formátu (JSON, YAML, properties) alebo kódovania súboru, preto pred vytvorením komponentu overte, či je Formát súboru správny.

Schopnosti typov prekladov

Informácie o tom, ktoré funkcie sú v danom formáte podporované, nájdete na stránke dokumentácie pre každý jednotlivý formát súboru.

Dvoj-jazyčné a jedno-jazyčné formáty

Podporované sú jednojazyčné aj dvoj-jazyčné formáty. Dvoj-jazyčné formáty ukladajú dva jazyky v jednom súbore – zdroj a preklad (typickými príkladmi sú GNU gettext PO (Portable Object), XLIFF 1.1 a 1.2 alebo Reťazce Apple iOS). Na druhej strane, jedno-jazyčné formáty identifikujú reťazec podľa ID a každý jazykový súbor obsahuje iba mapovanie týchto ID na daný jazyk (zvyčajne Zdroje reťazcov pre Android). Niektoré formáty súborov sa používajú v oboch variantoch, pozrite si podrobný popis nižšie.

Pre správne použitie jedno-jazyčných súborov vyžaduje Weblate prístup k súboru obsahujúcemu kompletný zoznam reťazcov na preklad s ich zdrojom – tento súbor sa vo Weblate nazýva Jednojazyčný súbor základného jazyka, hoci názvoslovie sa vo vašom paradigme môže líšiť.

Tento pracovný postup možno navyše rozšíriť využitím Medzijazykový súbor na zahrnutie reťazcov poskytnutých vývojármi, ktoré sa však nemajú používať v konečných reťazcoch tak, ako sú.

Stavy reťazca

Mnohé formáty súborov rozlišujú iba „Nepreložené“ a „Preložené“ reťazce. Pri niektorých formátoch je možné ukladať jemnejšie stavové informácie, ako napríklad „Vyžaduje úpravu“ alebo „Schválené“.

Popis zdrojového reťazca

Popisy zdrojových reťazcov možno použiť na odovzdanie dodatočných informácií o reťazci na preklad.

Niekoľko formátov má natívnu podporu pre poskytovanie dodatočných informácií prekladateľom (napríklad XLIFF 1.1 a 1.2, GNU gettext PO (Portable Object), WebExtension JSON, Súbory CSV, Excel Open XML, Qt Linguist .ts, Súbory go-i18n JSON, Súbory gotext JSON, Súbor ARB, Zdrojové súbory .NET (RESX, RESW)). Mnoho ďalších formátov extrahuje najbližší komentár ako popis zdrojového reťazca.

Vysvetlenie

Vysvetlenie k reťazcom možno ukladať a parsovať z niekoľkých formátov súborov.

Momentálne podporované iba v Formát TermBase eXchange.

Umiestnenie zdrojového reťazca

Umiestnenie reťazca v zdrojovom kóde môže pomôcť skúseným prekladateľom zistiť, ako sa reťazec používa.

Tieto informácie sú zvyčajne dostupné v dvoj-jazyčných formátoch, kde sa reťazce extrahujú zo zdrojového kódu pomocou nástrojov. Napríklad GNU gettext PO (Portable Object) a Qt Linguist .ts.

Príznaky prekladu

Príznaky prekladu umožňujú prispôsobiť správanie Weblate. Niektoré formáty podporujú ich definovanie v prekladovom súbore (vždy ich môžete definovať aj v rozhraní Weblate, pozri Prispôsobenie správania pomocou príznakov).

Táto funkcia je modelovaná podľa príznakov v GNU gettext PO (Portable Object).

Navyše, formáty založené na XML, ktoré podporujú príznaky, ich extrahujú z neštandardného atribútu weblate-flags. Príznak max-length:N je tiež podporovaný prostredníctvom atribútu maxwidth attribute podľa definície v štandarde XLIFF, pozri Špecifikácia prekladových príznakov.

Kontext

Kontext sa používa na rozlíšenie identických reťazcov v dvoj-jazyčnom formáte používanom v rôznych rozsahoch (napríklad Sun môže byť použitý ako skratka dňa „Nedeľa“ alebo ako názov našej najbližšej hviezdy).

Pre jedno-jazyčné formáty môže identifikátor reťazca (často nazývaný kľúč) slúžiť na rovnaký účel a ďalší kontext nie je potrebný.

Reťazce s množným číslom

Množné čísla sú nevyhnutné na správnu lokalizáciu reťazcov s premenným počtom. Pravidlá závisia od cieľového jazyka a mnohé formáty sa v tomto riadia špecifikáciou CLDR.

Podpora množného čísla v tabuľke podporovaných funkcií znamená, že Weblate dokáže reprezentovať reťazce v množnom čísle pre daný formát. Niektoré formáty potrebujú existujúce metadáta množného čísla alebo špecifický variant a nemôžu vytvárať nové reťazce v množnom čísle, pokiaľ to nie je natívne podporované formátom.

Rada

Pluralizácia reťazcov potrebuje aj správnu podporu aplikačného frameworku. Vyberte natívny formát vašej platformy, ako napríklad GNU gettext PO (Portable Object), Zdroje reťazcov pre Android alebo Formát Stringsdict.

Viachodnotové formáty

Viachodnotové formáty, ako sú Viachodnotový súbor CSV a Formát TermBase eXchange, ukladajú nezávislé zdrojové a cieľové alternatívy v rámci jedného reťazca. Tieto alternatívy nemajú párovanie jedna ku jednej a ich počty sa neriedlia gramatickými pravidlami množného čísla.

Kontroly zdroja skúmajú každú zdrojovú alternatívu. Kontroly cieľa porovnávajú každú cieľovú alternatívu so zdrojovými alternatívami. Cieľ prejde, keď sa zhoduje s ľubovoľnou zdrojovou alternatívou, nezávisle od ich poradia alebo gramatických tvarov množného čísla jazyka. Kontrola Nezmenený preklad namiesto toho hlási ciele identické s ľubovoľnou zdrojovou alternatívou, podľa svojich obvyklých výnimiek. Automatické opravy sa aplikujú iba vtedy, keď všetky zdrojové alternatívy produkujú rovnakú opravu.

Machine translation suggestions translate each source alternative independently. Automatic machine translation supports strings with one source alternative and at most one target alternative; it skips strings with multiple alternatives to preserve them. Translation service glossaries can use all alternatives. Automatic Prekladová pamäť contributions skip strings with multiple alternatives.

Služby LLM prekladu používajú iba reťazce s jednou zdrojovou alternatívou a jednou cieľovou alternatívou ako príklady predchádzajúcich prekladov. Vynechávajú existujúci kontext prekladu pre reťazce s viacerými alternatívami.

Reťazce iba na čítanie

Reťazce iba na čítanie z prekladových súborov budú zahrnuté, ale vo Weblate ich nemožno upravovať. Túto funkciu natívne podporuje len niekoľko formátov (XLIFF 1.1 a 1.2 a Zdroje reťazcov pre Android), ale v iných ju možno simulovať pridaním príznaku read-only, pozri Prispôsobenie správania pomocou príznakov.

Odstránenie zastaraných reťazcov

Niektoré formáty súborov môžu ukladať zastarané reťazce. Weblate dokáže odstrániť tieto zastarané reťazce z formátov, ktoré túto operáciu podporujú.

Podpora iných formátov

Väčšina formátov podporovaných translate-toolkit, ktoré podporujú serializáciu, môže byť ľahko podporovaná, ale zatiaľ neprešli žiadnym testovaním. Vo väčšine prípadov je vo Weblate potrebná ďalšia tenká vrstva na skrytie rozdielov v správaní rôznych úložísk.

Na pridanie podpory nového formátu je preferovaným prístupom najprv implementovať jeho podporu v translate-toolkit.

Parametre formátu súboru

Parametre formátu súboru poskytujú spôsob konfigurácie nastavení súvisiacich s formátom súboru. Konfigurujú sa na úrovni komponentu a umožňujú vám prispôsobiť spôsob spracovania parsovania a serializácie súborov.

Zoznam parametrov formátu súboru

Názov parametra

Formáty súborov

Štítok

Text pomocníka

csv_encoding

  • csv

  • csv-multi

Kódovanie súboru

Kódovanie používané pre súbory CSV

Dostupné voľby:

auto

Automatická detekcia

utf-8

UTF-8

csv_escape_formulas

  • csv

  • csv-multi

  • csv-simple

Escapovať vzorce tabuľkových procesorov

Pri ukladaní súborov CSV predraďovať hodnotám, ktoré vyzerajú ako vzorce tabuľkových procesorov, apostrof.

csv_simple_encoding

  • csv-simple

Kódovanie súboru

Kódovanie používané pre jednoduché súbory CSV

Dostupné voľby:

auto

Automatická detekcia

utf-8

UTF-8

iso-8859-1

ISO-8859-1

dos_eol

Všetky formáty súborov

Koncovky riadkov DOS

Použije zakončenia riadkov DOS (rn) namiesto zakončení riadkov UNIX (n) v reťazcoch.

flatxml_key_name

  • flatxml

Názov kľúča FlatXML

flatxml_root_name

  • flatxml

Názov koreňa FlatXML

flatxml_value_name

  • flatxml

Názov hodnoty FlatXML

gwt_encoding

  • gwt

Kódovanie súboru

Kódovanie používané pre súbory GWT Properties

Dostupné voľby:

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

Odsadenie JSON

json_indent_style

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Štýl odsadenia JSON

Dostupné voľby:

spaces

Medzery

tabs

Tabulátory

json_sort_keys

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Zoradiť kľúče JSON

Dostupné voľby:

none

Neradiť

case_sensitive

Radenie s rozlišovaním veľkosti písmen

case_insensitive

Radenie bez rozlišovania veľkosti písmen

json_use_compact_separators

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Vyhnúť sa medzerám po oddeľovačoch

line_max_length

  • markdown

  • mdx

Maximálna dĺžka riadku

Maximálny počet znakov pre každý riadok vo výstupnom súbore.

md_extract_code_blocks

  • markdown

  • mdx

Extrahovať bloky kódu

Či sa má extrahovať preložiteľný obsah z blokov kódu v súboroch Markdown a MDX.

md_extract_frontmatter

  • markdown

  • mdx

Extrahovať front matter

Či sa majú extrahovať a prekladať YAML front matter bloky v súboroch Markdown a MDX.

md_frontmatter_translate_values

  • markdown

  • mdx

Preložiť hodnoty front matter

Spracovať YAML front matter a prekladať iba skalárne hodnoty reťazcov. Kľúče, štruktúra, komentáre a formátovanie sú zachované, keď je to možné.

md_no_placeholders

  • markdown

  • mdx

Zakázať zástupné symboly

Zakazuje detekciu a spracovanie zástupných symbolov v súboroch Markdown a MDX.

merge_duplicates

  • markdown

  • mdx

  • html

  • txt

  • dokuwiki

  • mediawiki

  • asciidoc

Odstrániť duplicity identických reťazcov

Konsoliduje identické zdrojové reťazce do jednej prekladovej jednotky. Zabraňuje strate prekladu pri reštrukturalizácii súborov alebo preusporiadaní tabuliek odstránením kontextu závislého od pozície.

po_contributor_comments

  • po

  • po-mono

Komentáre prispievateľov

Pridať mená prispievateľov a roky do komentárov hlavičky. SPDX tiež konvertuje existujúce rozpoznané komentáre prispievateľov na položky SPDX-FileCopyrightText.

Dostupné voľby:

none

Vypnuté

gettext

Gettext

spdx

SPDX

po_fuzzy_matching

  • po

Použiť nejasné zarovnanie

po_keep_previous

  • po

Zachovať predchádzajúce msgids preložených reťazcov

Ovláda predchádzajúce komentáre msgid pre nejasné reťazce.

po_line_wrap

  • po

  • po-mono

Zalamovanie dlhých riadkov

Predvolene gettext zalamuje riadky na 77 znakoch a na nových riadkoch. S parametrom --no-wrap sa zalamovanie vykonáva iba na nových riadkoch.

Dostupné voľby:

77

Zalamovať riadky na 77 znakoch a na nových riadkoch (predvolené xgettext)

65535

Zalomiť riadky iba na nových riadkoch (ako xgettext --no-wrap)

-1

Žiadne zalamovanie riadkov

po_no_location

  • po

Nezahrnúť informácie o umiestnení v súbore

po_remove_obsolete

  • po

  • po-mono

Odstrániť zastarané reťazce

Odstrániť zastarané položky zo súborov PO pri ukladaní zmien prekladu alebo aktualizácii zo súboru POT.

po_report_msgid_bugs_to

  • po

  • po-mono

Nahlásiť chyby v msgid

Umožňuje Weblate aktualizovať hlavičku „Report-Msgid-Bugs-To“ v súbore, ak je nastavená adresa na hlásenie chýb zdrojových reťazcov.

po_set_language_team

  • po

  • po-mono

Aktualizovať hlavičku jazykového tímu

Umožňuje Weblate aktualizovať hlavičku „Language-Team“ v súbore.

po_set_last_translator

  • po

  • po-mono

Aktualizovať hlavičku posledného prekladateľa

Umožňuje Weblate aktualizovať hlavičku „Last-Translator“ v súbore.

po_set_x_generator

  • po

  • po-mono

Aktualizovať hlavičku X-Generator

Umožňuje Weblate aktualizovať hlavičku „X-Generator“ v súbore.

properties_encoding

  • properties

Kódovanie súboru

Kódovanie používané pre súbory Java Properties

Dostupné voľby:

iso-8859-1

ISO-8859-1

utf-8

UTF-8

utf-16

UTF-16

strings_encoding

  • strings

Kódovanie súboru

Kódovanie používané pre súbory reťazcov iOS

Dostupné voľby:

utf-8

UTF-8

utf-16

UTF-16

xliff_placeables

  • xliff

  • xliff2

Podpora miest

Ovláda, či sa inline XML prvky vo vnútri reťazcov XLIFF zachovávajú ako upraviteľné miesta. Iba obyčajný text escapuje XML značkovanie a považuje obsah za text. Pri podpore miest zostávajú značky ako <x id=“name“ =““> alebo </x>

Dostupné voľby:

plain

Iba obyčajný text

placeables

Podporovať miesta

xml_closing_tags

  • ts

  • xliff

  • xliff2

  • poxliff

  • apple-xliff

  • resx

  • aresource

  • moko-resource

  • cmp-resource

  • tbx

Zahrnúť zatváraciu značku pre prázdne značky XML

xml_whitespace_handling

  • xliff

  • poxliff

  • apple-xliff

  • xliff2

Spracovanie bielych znakov

Ovláda, ako sa spracúvajú biele znaky v XLIFF. Rešpektovanie xml:space ctí atribúty v súbore. Vždy zachovať ponecháva všetky biele znaky. Vždy normalizovať spája biele znaky, aj keď je nastavené xml:space=“preserve“.

Dostupné voľby:

standard

Rešpektovať xml:space

preserve

Vždy zachovať

normalize

Vždy normalizovať

yaml_indent

  • yaml

  • ruby-yaml

Odsadenie YAML

yaml_line_break

  • yaml

  • ruby-yaml

Zlomy riadkov

Dostupné voľby:

dos

DOS (\r\n)

unix

UNIX (\n)

mac

MAC (\r)

yaml_line_wrap

  • yaml

  • ruby-yaml

Zalamovanie dlhých riadkov

Dostupné voľby:

80

Zalomiť riadky na 80 znakoch

100

Zalomiť riadky na 100 znakoch

120

Zalomiť riadky na 120 znakoch

180

Zalomiť riadky na 180 znakoch

65535

Žiadne zalamovanie riadkov