Bestandsindelingen voor vertalen

Weblate ondersteunt ene breed bereik aan vertaalindelingen. Elke indeling verschilt licht van andere en verschaft een andere set mogelijkheden.

Hint

Bij het kiezen van een bestandsindeling voor uw toepassing, is het beter te blijven bij een goed ontwikkelde indeling voor de toolkit/het platform dat u gebruikt. Op die manier kunnen vertalers aanvullend de gereedschappen gebruiken waaraan zij gewend zijn en zullen waarschijnlijk sneller bijdragen aan uw project.

Automatische detectie

Weblate probeert de bestandsindeling te detecteren gedurende Vertaalprojecten en onderdelen toevoegen. Het detecteren zou verkeerd kunnen zijn voor dezelfde serialisatie-indeling (JSON, YAML, properties) of bestandscodering, verifieer dus dat Bestandsformaat correct is voordat u het onderdeel maakt.

Mogelijkheden typen vertaling

Mogelijkheden voor alle ondersteunde indelingen

Indeling

Taalsoort [1]

Meervoud [2]

Beschrijvingen [3]

Context [4]

Locatie [5]

Vlaggen [8]

Aanvullende statussen [6]

GNU gettext PO (Portable Object)

tweetalig

ja

ja

ja

ja

ja [9]

bewerken nodig

Eentalige gettext

eentalig

ja

ja

ja

ja

ja [9]

bewerken nodig

XLIFF

beide

ja

ja

ja

ja

ja

bewerken nodig, goedgekeurd

Java eigenschappen

beide

nee

ja

nee

nee

nee

te verslepen/mi18n-taalbestanden

eentalig

nee

ja

nee

nee

nee

GWT-eigenschappen

eentalig

ja

ja

nee

nee

nee

Joomla vertalingen

eentalig

nee

ja

nee

ja

nee

Qt Linguist .ts

beide

ja

ja

nee

ja

ja

bewerken nodig

Android bronnen tekenreeksen

eentalig

ja

ja [7]

nee

nee

ja

Apple iOS tekenreeksen

beide

nee

ja

nee

nee

nee

PHP-tekenreeksen

eentalig

nee [10]

ja

nee

nee

nee

JSON-bestanden

eentalig

nee

nee

nee

nee

nee

i18next JSON-bestanden

eentalig

ja

nee

nee

nee

nee

go-i18n JSON-bestanden

eentalig

ja

ja

nee

nee

nee

gotext JSON-bestanden

eentalig

ja

ja

nee

ja

nee

ARB-bestand

eentalig

ja

ja

nee

nee

nee

WebExtension JSON

eentalig

ja

ja

nee

nee

nee

.NET resource-bestanden (RESX, RESW)

eentalig

nee

ja

nee

nee

ja

ResourceDictionary-bestanden

eentalig

nee

nee

nee

nee

ja

CSV-bestanden

beide

nee

ja

ja

ja

nee

bewerken nodig

YAML-bestanden

eentalig

nee

nee

nee

nee

nee

Ruby YAML-bestanden

eentalig

ja

nee

nee

nee

nee

DTD-bestanden

eentalig

nee

nee

nee

nee

nee

Platte XML-bestanden

eentalig

nee

nee

nee

nee

ja

Windows RC-bestanden

eentalig

nee

ja

nee

nee

nee

Excel Open XML

eentalig

nee

ja

ja

ja

nee

bewerken nodig

App-store metadata-bestanden

eentalig

nee

nee

nee

nee

nee

Ondertitel-bestanden

eentalig

nee

nee

nee

ja

nee

HTML-bestanden

eentalig

nee

nee

nee

nee

nee

Markdown-bestanden

eentalig

nee

nee

nee

nee

nee

OpenDocument-indeling

eentalig

nee

nee

nee

nee

nee

IDML-indeling

eentalig

nee

nee

nee

nee

nee

INI-vertalingen

eentalig

nee

nee

nee

nee

nee

Inno Setup INI vertalingen

eentalig

nee

nee

nee

nee

nee

TermBase-eXchange indeling

tweetalig

nee

ja

nee

nee

ja

Tekstbestanden

eentalig

nee

nee

nee

nee

nee

Stringsdict indeling

eentalig

ja

nee

nee

nee

nee

Indeling Fluent

eentalig

nee [11]

ja

nee

nee

nee

Tweetalige en eentalige indelingen

Beide indelingen, eentalig en tweetalig, worden ondersteund. Tweetalige indelingen slaan twee talen op in een enkel bestand—bron en vertaling (typische voorbeelden zijn GNU gettext PO (Portable Object), XLIFF of Apple iOS tekenreeksen). Aan de andere kant identificeren eentalige indelingen de tekenreeks op zijn ID, en elk taalbestand bevat alleen de verwijzingen daarvan voor een opgegeven taal (typisch Android bronnen tekenreeksen). Sommige bestandsindelingen worden in beide varianten gebruikt, bekijk de gedetailleerde beschrijving hieronder.

Voor correct gebruiken van eentalige bestanden vereist Weblate toegang tot een bestand dat de volledige lijst bevat van te vertalen tekenreeksen, met hun bron—dat bestand wordt Enkeltalig basistaalbestand genoemd binnen Weblate, hoewel de naam kan variëren in uw paradigma.

Aanvullend kan deze werkwijze worden uitgebreid door Tussenliggend taalbestand te gebruiken om tekenreeksen op te nemen die worden verschaft door ontwikkelaars, maar niet zullen worden gebruikt in de uiteindelijke tekenreeksen.

Statussen tekenreeks

Veel bestandsindelingen onderscheiden alleen “Niet vertaalde” en “Vertaalde” tekenreeksen. Met enkele indelingen is het mogelijk om fijner afgestemde informatie voor de status op te slaan, zoals “Bewerken nodig” of “Goedgekeurd”.

Locatie van bronomschrijving

Beschrijvingen van brontekenreeksen kunnen worden gebruikt om aanvullende informatie door te geven over de te vertalen tekenreeks.

Verscheidene indelingen hebben eigen ondersteuning voor het verschaffen van aanvullende informatie aan vertalers (bijvoorbeeld XLIFF, GNU gettext PO (Portable Object), WebExtension JSON, CSV-bestanden, Excel Open XML, Qt Linguist .ts, go-i18n JSON-bestanden, gotext JSON-bestanden, ARB-bestand, .NET resource-bestanden (RESX, RESW)). Vele andere indelingen nemen de dichtstbijzijnde opmerking uit als beschrijving voor de brontekenreeks.

Uitleg

De Uitleg voor tekenreeksen kan worden opgeslagen en geparset uit een paar bestandsindelingen.

Momenteel alleen ondersteund in TermBase-eXchange indeling.

Locatie van brontekenreeks

Locatie van een tekenreeks in de broncode zou gevorderde vertalers kunnen helpen vast te stellen hoe de tekenreeks wordt gebruikt.

Deze informatie is gewoonlijk beschikbaar in tweetalige indelingen waar tekenreeksen worden uitgenomen uit de broncode met programma’s. Bijvoorbeeld GNU gettext PO (Portable Object) en Qt Linguist .ts.

Vlaggen voor vertaling

Vlaggen voor vertalingen maken het mogelijk het gedrag van Weblate aan te passen. Sommige indelingen ondersteunen het definiëren ervan in het vertaalbestand (u kunt ze altijd definiëren in de interface van Weblate, bekijk Gedrag aanpassen met vlaggen).

Deze mogelijkheid is gemodelleerd naar de vlaggen in GNU gettext PO (Portable Object).

Aanvullend, voor alle op XML gebaseerde indelingen, worden de vlaggen uitgenomen ui het niet standaard attribuut weblate-flags. Aanvullend wordt max-length:N ondersteund door het attribuut maxwidth, zoals dat is gedefinieerd in de standaard voor XLIFF, bekijk Vlaggen voor vertalingen specificeren.

Context

Context wordt gebruikt om verschil te kunnen maken tussen identieke tekenreeksen in een tweetalige indeling, gebruikt in verschillende bereiken (bijvoorbeeld Zon kan worden gebruikt als een afgekorte naam voor de dag “Zondag” of als de naam van onze dichtstbijzijnde ster).

Voor eentalige indelingen kan de identificatie van de tekenreeks (vaak sleutel genoemd) hetzelfde doel dienen en is aanvullende context niet noodzakelijk.

Tekenreeksen met meervouden

Meervouden zijn noodzakelijk om tekenreeksen correct te vertalen in een variabel aantal. De regels zijn afhankelijk van een doeltaal en veel indelingen volgen de specificatie CLDR daarvoor.

Hint

Voor het maken van tekenreeksen met meervouden is ook de juiste ondersteuning van het framewerk van de toepassing nodig. Kies de eigen indeling voor uw platform, zoals GNU gettext PO (Portable Object), Android bronnen tekenreeksen of Stringsdict indeling.

Alleen-lezen-tekenreeksen

Tekenreeksen Alleen-lezen uit vertaalbestanden zullen worden opgenomen, maar zij kunnen niet worden bewerkt in Weblate. Deze mogelijkheid wordt door een klein aantal indelingen zelf ondersteund (XLIFF en Android bronnen tekenreeksen), maar kan door andere worden geëmuleerd door een vlag read-only toe te voegen, bekijk Gedrag aanpassen met vlaggen.

Andere indelingen ondersteunen

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.

Voor het toevoegen van ondersteuning voor een nieuwe indeling is de voorkeursbenadering om eerst ondersteuning ervoor te implementeren in de translate-toolkit.