Fordítási fájlformátumok

A Weblate számos különböző fordítási formátumot támogat. Minden formátum kissé eltér, és más-más képességeket kínál.

Tipp

Amikor fájlformátumot választ az alkalmazásához, érdemes olyat használni, amely jól bevált és az adott eszközkészletben vagy platformon megszokott. Így a fordítók a számukra ismerős eszközökkel dolgozhatnak, és nagyobb valószínűséggel járulnak hozzá a projekthez.

Automatikus felismerés

A Weblate megpróbálja automatikusan felismerni a fájlformátumot a Fordítási projektek és összetevők hozzáadása során. Az azonos formátumú, de különböző változatokat használó fájloknál (például JSON, YAML, properties) vagy eltérő kódolás esetén ez a felismerés téves lehet, ezért mindig ellenőrizze, hogy a Fájlformátum beállítás helyes-e az összetevő létrehozása előtt.

Fordítástípusok képességei

A támogatott formátumok képességei

Formátum

Nyelviség [1]

Többes szám [2]

Leírások [3]

Kontextus [4]

Hely [5]

Jelzők [8]

További állapotok [6]

GNU gettext PO (Portable Object)

kétnyelvű

igen

igen

igen

igen

igen [9]

szerkesztést igényel

Egynyelvű gettext

egynyelvű

igen

igen

igen

igen

igen [9]

szerkesztést igényel

XLIFF

mindkettő

igen

igen

igen

igen

igen

szerkesztést igényel, jóváhagyva

Java properties

mindkettő

nem

igen

nem

nem

nem

draggable/i18n nyelvi fájlok

egynyelvű

nem

igen

nem

nem

nem

GWT properties

egynyelvű

igen

igen

nem

nem

nem

Joomla-fordítások

egynyelvű

nem

igen

nem

igen

nem

Qt Linguist .ts

mindkettő

igen

igen

nem

igen

igen

szerkesztést igényel

Android szövegerőforrások

egynyelvű

igen

igen [7]

nem

nem

igen

Apple iOS-sztringek

mindkettő

nem

igen

nem

nem

nem

PHP-szövegek

egynyelvű

nem [10]

igen

nem

nem

nem

JSON-fájlok

egynyelvű

nem

nem

nem

nem

nem

i18next JSON-fájlok

egynyelvű

igen

nem

nem

nem

nem

go-i18n JSON-fájlok

egynyelvű

igen

igen

nem

nem

nem

gotext JSON-fájlok

egynyelvű

igen

igen

nem

igen

nem

ARB-fájl

egynyelvű

igen

igen

nem

nem

nem

WebExtension JSON

egynyelvű

igen

igen

nem

nem

nem

.NET-erőforrásfájlok (RESX, RESW)

egynyelvű

nem

igen

nem

nem

igen

ResourceDictionary-fájlok

egynyelvű

nem

nem

nem

nem

igen

CSV-fájlok

mindkettő

nem

igen

igen

igen

nem

szerkesztést igényel

YAML-fájlok

egynyelvű

nem

nem

nem

nem

nem

Ruby YAML-fájlok

egynyelvű

igen

nem

nem

nem

nem

DTD-fájlok

egynyelvű

nem

nem

nem

nem

nem

Egyszerű XML-fájlok

egynyelvű

nem

nem

nem

nem

igen

Windows RC-fájlok

egynyelvű

nem

igen

nem

nem

nem

Excel Open XML

egynyelvű

nem

igen

igen

igen

nem

szerkesztést igényel

App Store-metaadatfájlok

egynyelvű

nem

nem

nem

nem

nem

Feliratfájlok

egynyelvű

nem

nem

nem

igen

nem

HTML-fájlok

egynyelvű

nem

nem

nem

nem

nem

Markdown-fájlok

egynyelvű

nem

nem

nem

nem

nem

OpenDocument-formátum

egynyelvű

nem

nem

nem

nem

nem

IDML-formátum

egynyelvű

nem

nem

nem

nem

nem

INI-fordítások

egynyelvű

nem

nem

nem

nem

nem

Inno Setup INI fordítások

egynyelvű

nem

nem

nem

nem

nem

TermBase eXchange-formátum

kétnyelvű

nem

igen

nem

nem

igen

Szövegfájlok

egynyelvű

nem

nem

nem

nem

nem

Stringsdict-formátum

egynyelvű

igen

nem

nem

nem

nem

Fluent-formátum

egynyelvű

nem [11]

igen

nem

nem

nem

Egynyelvű és kétnyelvű formátumok

A Weblate támogatja az egynyelvű és az kétnyelvű formátumokat egyaránt. A kétnyelvű formátumok ugyanabban a fájlban tartalmazzák a forrás- és célnyelvi szövegeket (tipikus példák: GNU gettext PO (Portable Object), XLIFF, Apple iOS-sztringek). Az egynyelvű formátumok azonosítóval jelölik a szöveget, és minden nyelv külön fájlban tárolja ezek fordítását (például: Android szövegerőforrások). Bizonyos fájlformátumok mindkét változatban előfordulhatnak – lásd lentebb a részletes leírást.

Az egynyelvű fájlok helyes használatához a Weblate-nek szüksége van egy olyan fájlra, amely tartalmazza az összes fordítandó szöveget és azok forrását – ez a fájl a Weblate-ben Egynyelvű alap nyelvi fájl néven szerepel, bár más rendszerekben eltérő lehet az elnevezés.

Ez a munkafolyamat kibővíthető a Köztes nyelvi fájl használatával is, így azokat a fejlesztők által biztosított szövegeket is be lehet vonni, amelyek nem a végleges fordítási célra szolgálnak.

Szövegállapotok

Sok fájlformátum csak az „Nincs lefordítva” és a „Lefordítva” állapotot különbözteti meg. Bizonyos formátumok azonban lehetővé teszik részletesebb állapotinformációk tárolását is, például „Szerkesztést igényel” vagy „Jóváhagyva”.

Forrásszöveg leírása

A forrásszövegekhez fűzött leírások további információkat adhatnak a fordítónak.

Számos formátum natív módon támogatja az ilyen kiegészítéseket (például: XLIFF, GNU gettext PO (Portable Object), WebExtension JSON, CSV-fájlok, Excel Open XML, Qt Linguist .ts, go-i18n JSON-fájlok, gotext JSON-fájlok, ARB-fájl, .NET-erőforrásfájlok (RESX, RESW)). Sok más formátumnál pedig a legközelebbi megjegyzést értelmezi a rendszer forrásszöveg-leírásként.

Magyarázat

A Magyarázat kiegészítő információi néhány fájltípusban tárolhatók és értelmezhetők.

Jelenleg ez kizárólag a TermBase eXchange-formátum formátumban támogatott.

Forrásszöveg helye

A szöveg forráskódbeli helye segítheti a gyakorlott fordítókat annak megértésében, hogy milyen kontextusban használatos az adott szöveg.

Ez az információ jellemzően a kétnyelvű formátumokban érhető el, ahol a szövegeket forráskódból kinyerő eszközök használják – például: GNU gettext PO (Portable Object) és Qt Linguist .ts.

Fordítási jelzők

A fordítási jelzők (segítségével testre szabható a Weblate viselkedése. Bizonyos formátumok lehetővé teszik ezek közvetlen megadását a fordítási fájlban (de ezeket bármikor megadhatja a Weblate felületén is, lásd: Viselkedés testreszabása jelzők használatával).

Ez a funkció a GNU gettext PO (Portable Object) rendszerében használt jelzők alapján került kialakításra.

Ezenfelül minden XML-alapú formátum esetén a jelzők a nem szabványos weblate-flags attribútumból kerülnek kiolvasásra. A max-length:N jelzés a maxwidth attribútumon keresztül is támogatott az XLIFF szabvány szerint – lásd: Fordítási jelzők megadása.

Környezet

A kontextust arra használjuk, hogy megkülönböztessük azonos szövegeket a kétnyelvű formátumokban, amelyek különböző szövegkörnyezetben fordulnak elő (például a Sun jelentheti a „Sunday” rövidítését vagy a Nap csillagunk nevét).

Egynyelvű formátumoknál ezt a szerepet jellemzően az azonosító (kulcs) tölti be, így nincs szükség külön kontextusmezőre.

Többes számú szövegek

A többes számok kezelése elengedhetetlen a változó számosságú szövegek megfelelő lokalizálásához. A szabályok a célnyelvtől függenek, és sok fájlformátum a CLDR specifikációt követi ezen a téren.

Tipp

Ehhez azonban az alkalmazás keretrendszerének is támogatnia kell a többes számot. Érdemes az adott platform natív formátumát választani, például: GNU gettext PO (Portable Object), Android szövegerőforrások vagy Stringsdict-formátum.

Csak olvasható szövegek

A fordítási fájlokban szereplő, csak olvasható szövegek megjelennek a Weblate-ben, de nem szerkeszthetők. Ezt a funkciót néhány formátum natívan is támogatja (például: XLIFF és Android szövegerőforrások), más esetekben a read-only jelző hozzáadásával szimulálható – lásd: Viselkedés testreszabása jelzők használatával.

További formátumok támogatása

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.

Ha új formátum támogatására van szükség, a legjobb megoldás, ha először a translate-toolkit-ben valósítják meg a támogatást.