Bestandsindelingen voor vertalen

Weblate ondersteunt een 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 1.1 en 1.2

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

ja

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 1.1 en 1.2 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 1.1 en 1.2, 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 1.1 en 1.2 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

De meeste indelingen die worden ondersteund door translate-toolkit, welke serialisatie van ondersteuning gemakkelijk kan worden ondersteund, maar die zijn (nog) niet getest. In de meeste gevallen is een aanvullende dunne laag in Weblate vereist om de verschillen in gedrag van de verschillende opslagmogelijkheden te verbergen.

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

Parameters bestandsindeling

Parameters voor bestandsindelingen verschaffen een manier om instellingen te configureren die zijn gerelateerd aan de bestandsindeling. Ze worden geconfigureerd op het niveau van het onderdeel en stellen u in staat aan te passen hoe parsen en serialiseren van bestanden worden afgehandeld.

Lijst met parameters voor bestandsindelingen

Naam parameter

Bestandsindelingen

Label

Helptekst

csv_codering

  • csv

  • csv-multi

Bestandsversleuteling

Codering gebruikt voor CSV-bestanden

Beschikbare keuzes:

auto

Auto-detectie

utf-8

UTF-8

csv_eenvoudige_codering

  • csv-simple

Bestandsversleuteling

Codering gebruikt voor eenvoudige CSV-bestanden

Beschikbare keuzes:

auto

Auto-detectie

utf-8

UTF-8

iso-8859-1

ISO-8859-1

flatxml_key_name

  • flatxml

FlatXML sleutelnaam

flatxml_root_name

  • flatxml

FlatXML bronnaam

flatxml_value_name

  • flatxml

FlatXML waardenaam

gwt_codering

  • gwt

Bestandsversleuteling

Codering gebruikt voor GWT-eigenschappenbestanden

Beschikbare keuzes:

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

JSON-inspringing

json_indent_style

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

stijl JSON-inspringing

Beschikbare keuzes:

spaces

Spaties

tabs

Tabs

json_sort_keys

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

JSON-sleutels sorteren

json_use_compact_separators

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Vermijd spaties na scheidingstekens

merge_duplicates

  • markdown

  • html

  • txt

  • dokuwiki

  • mediawiki

  • asciidoc

Dubbele tekenreeks corrigeren

Voegt identieke brontekens samen tot één vertaaleenheid. Voorkomt verlies van vertalingen tijdens het herstructureren van bestanden of het herschikken van tabellen door positieafhankelijke context te verwijderen.

po_fuzzy_matching

  • po

Vage overeenkomsten gebruiken

po_keep_previous

  • po

Vorige msgids van vertaalde tekenreeksen bewaren

po_line_wrap

  • po

  • po-mono

Tekstterugloop

Gettext breekt regels standaard af bij 77 tekens en bij nieuwe regels. Met de optie voor de opdrachtregel --no-wrap wordt tekst alleen omgelopen bij nieuwe regels.

Beschikbare keuzes:

77

Regels afbreken bij 77 tekens en nieuwe regels (standaard in xgettext)

65535

Alleen afbreken op nieuwe regels (zoals xgettext --no-wrap)

-1

Geen regelafbreking

po_no_location

  • po

Neem geen locatie-informatie in het bestand op

properties_codering

  • properties

  • xwiki-page-properties

Bestandsversleuteling

Codering gebruikt voor Java-eigenschappenbestand

Beschikbare keuzes:

iso-8859-1

ISO-8859-1

utf-8

UTF-8

utf-16

UTF-16

strings_codering

  • strings

Bestandsversleuteling

Codering gebruikt voor iOS-tekenreeksbestanden

Beschikbare keuzes:

utf-16

UTF-16

utf-8

UTF-8

xml_closing_tags

  • ts

  • plainxliff

  • xliff

  • xliff2

  • xliff2-placeables

  • poxliff

  • apple-xliff

  • resx

  • aresource

  • moko-resource

  • cmp-resource

  • tbx

Sluittag toevoegen aan blanco xml-tags

yaml_indent

  • yaml

  • ruby-yaml

YAML-inspringing

yaml_line_break

  • yaml

  • ruby-yaml

Regeleinden

Beschikbare keuzes:

dos

DOS (\r\n)

unix

UNIX (\n)

mac

MAC (\r)

yaml_line_wrap

  • yaml

  • ruby-yaml

Tekstterugloop

Beschikbare keuzes:

80

Regels afbreken bij 80 tekens

100

Regels afbreken bij 100 tekens

120

Regels afbreken bij 120 tekens

180

Regels afbreken bij 180 tekens

65535

Geen regelafbreking