Lokalisierungsdateiformate

Weblate unterstützt eine Vielzahl von Übersetzungsformaten. Jedes Format unterscheidet sich geringfügig und bietet eine Reihe unterschiedlicher Funktionen.

Hinweis

Wenn Sie ein Dateiformat für Ihre Anwendung auswählen, ist es besser, ein gut bewährtes Format in dem/der von Ihnen verwendeten Toolkit/Plattform zu verwenden. Auf diese Weise können Ihre Übersetzer zusätzlich die Tools verwenden, an die sie gewöhnt sind und werden eher zu Ihrem Projekt beitragen.

Automatische Erkennung

Weblate versucht, das Dateiformat während Übersetzungsprojekte und Komponenten hinzufügen zu erkennen. Die Erkennung kann für verschiedene Varianten desselben Serialisierungsformats (JSON, YAML, properties) oder derselben Dateicodierung falsch sein. Bitte überprüfen Sie daher, ob das Dateiformat korrekt ist, bevor Sie die Komponente erstellen.

Fähigkeiten der Übersetzungstypen

Please refer to the documentation page of each individual file format for information about which features are supported in that format.

Zweisprachige und einsprachige Formate

Es werden sowohl einsprachige als auch zweisprachige Formate unterstützt. Zweisprachige Formate speichern zwei Sprachen in einer einzigen Datei – Quelle und Übersetzung (typische Beispiele sind GNU gettext PO (Portable Object), XLIFF 1.1 und 1.2 oder Apple-iOS-Zeichenketten). Auf der anderen Seite identifizieren einsprachige Formate die Zeichenkette durch eine ID und jede Sprachdatei enthält nur die Zuordnung dieser zu einer bestimmten Sprache (typischerweise Android-Zeichenketten-Ressourcen). Einige Dateiformate werden in beiden Varianten verwendet, siehe die detaillierte Beschreibung unten.

Für die korrekte Verwendung einsprachiger Dateien benötigt Weblate Zugriff auf eine Datei, die eine vollständige Liste der zu übersetzenden Zeichenketten mit ihrem Quelltext enthält – diese Datei heißt in Weblate Einsprachige Basissprachdatei, obwohl die Benennung in Ihrem Paradigma abweichen kann.

Zusätzlich kann dieser Arbeitsablauf durch die Verwendung von einer Zwischensprachedatei erweitert werden, um von Entwicklern bereitgestellte Zeichenketten einzuschließen, die jedoch nicht in den endgültigen Zeichenketten verwendet werden sollen.

Zeichenkettenstatus

Viele Dateiformate unterscheiden nur zwischen den Zeichenketten „nicht übersetzt“ und „übersetzt“. Bei einigen Formaten ist es möglich, detailliertere Statusinformationen zu speichern, wie z. B. „bearbeitungsbedürftig“ oder „genehmigt“.

Beschreibung der Ausgangszeichenkette

Ausgangszeichenkettenbeschreibungen können verwendet werden, um zusätzliche Informationen über den zu übersetzenden Text zu übergeben.

Mehrere Formate bieten native Unterstützung für das Bereitstellen zusätzlicher Informationen für Übersetzer (zum Beispiel XLIFF 1.1 und 1.2, GNU gettext PO (Portable Object), JSON-Datei WebExtension, CSV-Dateien, Excel Open XML, Qt Linguist (.ts), JSON-Dateien go-i18n, JSON-Dateien gotext, ARB-Datei, .NET-Ressourcendateien (RESX, RESW)). Viele andere Formate extrahieren den nächsten Kommentar als Ausgangszeichenkettenbeschreibung.

Erklärung

Die Erklärung für Zeichenketten kann aus einigen Dateiformaten gespeichert und analysiert werden.

Wird derzeit nur in TermBase-eXchange-Format unterstützt.

Ort der Ausgangszeichenkette

Der Ort einer Zeichenkette im Quellcode kann geübten Übersetzern helfen, herauszufinden, wie die Zeichenkette verwendet wird.

Diese Information ist in der Regel in zweisprachigen Formaten verfügbar, bei denen Zeichenketten mit Hilfe von Tools aus dem Quellcode extrahiert werden. Zum Beispiel GNU gettext PO (Portable Object) und Qt Linguist (.ts).

Übersetzungsmarkierungen

Übersetzungsmarkierungen ermöglichen das Verhalten von Weblate anzupassen. Einige Formate unterstützen die Definition dieser in der Übersetzungsdatei (Sie können jederzeit in der Weblate-Oberfläche definiert werden, siehe Verhalten mit Markierungen anpassen).

Diese Funktion ist den Markierungen in GNU gettext PO (Portable Object) nachempfunden.

Darüber hinaus extrahieren XML-basierte Formate, die Markierungen unterstützen, diese aus dem nicht standardmäßigen Attribut weblate-flags. Die Markierung max-length:N wird ebenfalls über das Attribut maxwidth unterstützt, wie im XLIFF-Standard definiert (siehe Angabe von Übersetzungsmarkierungen).

Kontext

Der Kontext wird verwendet, um identische Zeichenketten in einem zweisprachigen Format zu unterscheiden, die in verschiedenen Bereichen verwendet werden (z. B. kann Sun als abgekürzter Name des Tages „Sonntag“ oder als Name unseres nächstgelegenen Sterns verwendet werden).

Bei einsprachigen Formaten kann die Zeichenkettenkennung (oft als Schlüssel bezeichnet) denselben Zweck erfüllen und ein zusätzlicher Kontext ist nicht erforderlich.

Zeichenketten mit Pluralformen

Pluralformen sind notwendig, um Zeichenketten mit variabler Anzahl richtig zu lokalisieren. Die Regeln hängen von der Zielsprache ab und viele Formate folgen der CLDR-Spezifikation für diese Sprache.

Plural support in the supported features table means Weblate can represent plural strings for the format. Some formats need existing plural metadata or a specific variant, and cannot create new plural strings unless that is natively supported by the format.

Hinweis

Die Pluralbildung von Zeichenketten muss auch vom Anwendungsframework ordnungsgemäß unterstützt werden. Wählen Sie das native Format Ihrer Plattform wie GNU gettext PO (Portable Object), Android-Zeichenketten-Ressourcen oder Stringsdict-Format aus.

Mehrwertige Formate

Multivalue formats, such as Mehrwertige CSV-Datei (UTF-8) and TermBase-eXchange-Format, store independent source and target alternatives within one string. These alternatives have no one-to-one pairing, and their counts do not follow grammatical plural rules.

Source checks inspect every source alternative. Target checks compare each target alternative with the source alternatives. A target passes when it matches any source alternative, independently of their order or the languages‘ grammatical plural forms. The Unchanged translation check instead reports targets identical to any source alternative, subject to its usual exemptions. Automatic fixes are applied only when all source alternatives produce the same correction.

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 Übersetzungsspeicher contributions skip strings with multiple alternatives.

LLM translation services use only strings with one source alternative and one target alternative as examples of previous translations. They omit existing translation context for strings with multiple alternatives.

Schreibgeschützte Zeichenketten

Schreibgeschützte Zeichenketten aus Übersetzungsdateien werden einbezogen, können aber in Weblate nicht bearbeitet werden. Diese Funktion wird nur von wenigen Formaten (XLIFF 1.1 und 1.2 und Android-Zeichenketten-Ressourcen) nativ unterstützt, kann aber in anderen Formaten durch Hinzufügen einer read-only-Markierung emuliert werden, siehe Verhalten mit Markierungen anpassen.

Veraltete Zeichenketten entfernen

Some file formats can store obsolete strings. Weblate can remove these obsolete strings from formats that support this operation.

Unterstützung anderer Formate

Die meisten von translate-toolkit unterstützten Formate, die Serialisierung unterstützen, können problemlos unterstützt werden, wurden aber (noch) nicht getestet. In den meisten Fällen ist eine zusätzliche dünne Schicht in Weblate erforderlich, um die Unterschiede im Verhalten der verschiedenen Speicher zu verbergen.

Um die Unterstützung für ein neues Format hinzuzufügen, ist der bevorzugte Ansatz, zuerst die Unterstützung für dieses Format in das translate-toolkit zu implementieren.

Dateiformatparameter

Mit den Dateiformatparametern lassen sich die zum Dateiformat gehörenden Einstellungen konfigurieren. Sie werden auf Komponentenebene konfiguriert und ermöglichen das Anpassen der Dateianalyse und Serialisierung.

Liste der Dateiformatparameter

Parametername

Dateiformate

Label

Hilfetext

csv_encoding

  • csv

  • csv-multi

Dateicodierung

Für CSV-Dateien verwendete Codierung

Verfügbare Auswahlmöglichkeiten:

auto

Auto-Erkennung

utf-8

UTF-8

csv_escape_formulas

  • csv

  • csv-multi

  • csv-simple

Tabellenkalkulationsformeln maskieren

Beim Speichern von CSV-Dateien wird bei Präfixwerten, die wie Tabellenkalkulationsformeln aussehen, ein Apostroph hinzugefügt.

csv_simple_encoding

  • csv-simple

Dateicodierung

Für einfache CSV-Dateien verwendete Codierung

Verfügbare Auswahlmöglichkeiten:

auto

Auto-Erkennung

utf-8

UTF-8

iso-8859-1

ISO-8859-1

dos_eol

Alle Dateiformate

DOS-Zeilenumbrüche

DOS-Zeilenumbrüche (rn) anstelle von UNIX-Zeilenumbrüche (n) in Zeichenketten verwenden.

flatxml_key_name

  • flatxml

FlatXML-Schlüsselname

flatxml_root_name

  • flatxml

FlatXML-Wurzelname

flatxml_value_name

  • flatxml

FlatXML-Wertname

gwt_encoding

  • gwt

Dateicodierung

Für GWT-Properties-Dateien verwendete Codierung

Verfügbare Auswahlmöglichkeiten:

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-Einrückung

json_indent_style

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

JSON-Einrückungsstil

Verfügbare Auswahlmöglichkeiten:

spaces

Leerzeichen

tabs

Tabulatoren

json_sort_keys

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Nach JSON-Schlüssel sortieren

Verfügbare Auswahlmöglichkeiten:

none

Nicht sortieren

case_sensitive

Groß-/Kleinschreibung beachten

case_insensitive

Groß-/Kleinschreibung nicht beachten

json_use_compact_separators

  • json

  • json-nested

  • webextension

  • i18next

  • i18nextv4

  • arb

  • go-i18n-json

  • go-i18n-json-v2

  • formatjs

  • gotext

Leerzeichen nach Trennzeichen vermeiden

line_max_length

  • markdown

  • mdx

Maximale Zeilenlänge

Die maximale Anzahl von Zeichen für jede Zeile in der Ausgabedatei.

md_extract_code_blocks

  • markdown

  • mdx

Codeblöcke extrahieren

Ob übersetzbare Inhalte aus Codeblöcken in Markdown- und MDX-Dateien extrahiert werden sollen.

md_extract_frontmatter

  • markdown

  • mdx

Front Matter extrahieren

Ob YAML-Front-Matter-Blöcke in Markdown- und MDX-Dateien extrahiert und übersetzt werden sollen.

md_frontmatter_translate_values

  • markdown

  • mdx

Front-Matter-Werte übersetzen

YAML-Front-Matter wird analysiert und es werden ausschließlich skalare Zeichenkettenwerte übersetzt. Schlüssel, Struktur, Kommentare und Formatierungen bleiben, soweit möglich, erhalten.

md_no_placeholders

  • markdown

  • mdx

Platzhalter deaktivieren

Deaktiviert die Erkennung und Verarbeitung von Platzhaltern in Markdown- und MDX-Dateien.

merge_duplicates

  • markdown

  • mdx

  • html

  • txt

  • dokuwiki

  • mediawiki

  • asciidoc

Identische Zeichenketten deduplizieren

Konsolidiert identische Ausgangszeichenketten zu einer einzigen Übersetzungseinheit. Verhindert Übersetzungsverluste beim Umstrukturieren von Dateien oder Neuanordnen von Tabellen, indem positionsabhängiger Kontext entfernt wird.

po_contributor_comments

  • po

  • po-mono

Kommentare des Mitwirkenden

Fügt Namen und Jahre der Mitwirkenden zu den Header-Kommentaren hinzu. SPDX wandelt außerdem vorhandene erkannte Kommentare von Mitwirkenden in SPDX-FileCopyrightText-Einträge um.

Verfügbare Auswahlmöglichkeiten:

none

Deaktiviert

gettext

Gettext

spdx

SPDX

po_fuzzy_matching

  • po

Fuzzy-Matching verwenden

po_keep_previous

  • po

Vorherige msgids der übersetzten Zeichenketten beibehalten

Überprüft die vorherigen msgid-Kommentare auf ungenaue Zeichenketten.

po_line_wrap

  • po

  • po-mono

Umbruch langer Zeilen

Standardmäßig bricht gettext Zeilen bei 77 Zeichen und bei Zeilenvorschüben um. Mit dem Parameter --no-wrap wird der Umbruch nur bei Zeilenvorschüben durchgeführt.

Verfügbare Auswahlmöglichkeiten:

77

Zeilenumbruch nach 77 Zeichen und bei Zeilenumbrüchen (xgettext-Standard)

65535

Zeilenumbruch nur nach Zeilenvorschüben (wie xgettext --no-wrap)

-1

Kein Umbruch langer Zeilen

po_no_location

  • po

Keine Ortsangaben in die Datei aufnehmen

po_remove_obsolete

  • po

  • po-mono

Veraltete Zeichenketten entfernen

Entfernt veraltete Einträge aus den PO-Dateien, beim Speichern von Übersetzungsänderungen oder beim Aktualisieren aus einer POT-Datei.

po_report_msgid_bugs_to

  • po

  • po-mono

msgid-Fehler melden an

Lässt Weblate den „Report-Msgid-Bugs-To“-Dateiheader aktualisieren, wenn die Adresse für Fehlerberichte bei Ausgangszeichenketten gesetzt ist.

po_set_language_team

  • po

  • po-mono

Language-Team-Header aktualisieren

Lässt Weblate den „Language-Team“-Dateiheader aktualisieren.

po_set_last_translator

  • po

  • po-mono

Last-Translator-Header aktualisieren

Lässt Weblate den „Last-Translator“-Dateiheader aktualisieren.

po_set_x_generator

  • po

  • po-mono

X-Generator-Header aktualisieren

Lässt Weblate den „X-Generator“-Dateiheader aktualisieren.

properties_encoding

  • properties

Dateicodierung

Für Java-Properties-Dateien verwendete Codierung

Verfügbare Auswahlmöglichkeiten:

iso-8859-1

ISO-8859-1

utf-8

UTF-8

utf-16

UTF-16

strings_encoding

  • strings

Dateicodierung

Für iOS-Zeichenketten-Dateien verwendete Codierung

Verfügbare Auswahlmöglichkeiten:

utf-8

UTF-8

utf-16

UTF-16

xliff_placeables

  • xliff

  • xliff2

Platzhalter-Unterstützung

Legt fest, ob Inline-XML-Elemente innerhalb von XLIFF-Zeichenketten als bearbeitbare Platzhalter beibehalten werden. Bei „Nur Klartext“ werden XML-Auszeichnungen maskiert und der Inhalt als Text behandelt. Bei „Platzhalter unterstützen“ bleiben Tags wie <x id=“name“ =““> oder </x> in den Zeichenketten erhalten und werden im Editor als Platzhalter angezeigt

Verfügbare Auswahlmöglichkeiten:

plain

Nur Klartext

placeables

Platzhalter unterstützen

xml_closing_tags

  • ts

  • xliff

  • xliff2

  • poxliff

  • apple-xliff

  • resx

  • aresource

  • moko-resource

  • cmp-resource

  • tbx

Schließendes Tag für leere XML-Tags einschließen

xml_whitespace_handling

  • xliff

  • poxliff

  • apple-xliff

  • xliff2

Leerzeichenbehandlung

Legt fest, wie XLIFF-Leerzeichen behandelt werden. „xml:space folgen“ berücksichtigt die Attribute in der Datei. „Immer beibehalten“ behält alle Leerzeichen bei. „Immer normalisieren“ fasst Leerzeichen zusammen, auch wenn xml:space=“preserve“ gesetzt ist.

Verfügbare Auswahlmöglichkeiten:

standard

xml:space folgen

preserve

Immer beibehalten

normalize

Immer normalisieren

yaml_indent

  • yaml

  • ruby-yaml

YAML-Einrückung

yaml_line_break

  • yaml

  • ruby-yaml

Zeilenumbrüche

Verfügbare Auswahlmöglichkeiten:

dos

DOS (\r\n)

unix

UNIX (\n)

mac

MAC (\r)

yaml_line_wrap

  • yaml

  • ruby-yaml

Umbruch langer Zeilen

Verfügbare Auswahlmöglichkeiten:

80

Zeilenumbruch bei 80 Zeichen

100

Zeilenumbruch bei 100 Zeichen

120

Zeilenumbruch bei 120 Zeichen

180

Zeilenumbruch bei 180 Zeichen

65535

Kein Umbruch langer Zeilen