KI & Technologie
SRT-Untertitel online übersetzen ohne Zeitstempel zu verlierenWarum Untertitelübersetzung Präzisionsarbeit ist Eine SRT-Datei ist ein streng strukturiertes Format. Jeder Untertitelb…
Amanda Lee
Sprachdateien in PO, YAML, .properties, RESX, XLIFF und JSON sehen aus wie Listen von Sätzen, doch nur die Werte sind Fließtext. Die Schlüssel sind Bezeichner, nach denen der Code sucht; die Platzhalter sind Lücken, die der Code zur Laufzeit füllt; Escapes und Markup sind Syntax, auf die sich der Parser verlässt. Wer die ganze Zeile als Text behandelt, erzeugt eine Datei, die sich wunderbar liest und sich nicht laden lässt – oder die lädt und dann abstürzt, sobald ein Bildschirm zum ersten Mal eine Zahl formatiert. Der Fehler zeigt sich meist nur in einer Sprache, und genau das macht ihn zur am schwersten zu entdeckenden Fehlerart im Review.
Englisch hat zwei Pluralformen, daher liegt die Annahme nahe, dass jede Sprache zwei hat. Das GNU-gettext-Handbuch zeigt, warum das nicht funktioniert: Jede Sprache deklariert ihre eigene Plural-Forms-Regel, Englisch verwendet nplurals=2, und Russisch braucht drei Formen, die nach den letzten Ziffern der Zahl gewählt werden. Eine ins Russische übersetzte PO-Datei, in der nur zwei Formen ausgefüllt sind, kompiliert, läuft und gibt für jede Anzahl, die auf 2, 3 oder 4 endet, die falsche Grammatik aus. Korrekte Pluralbehandlung bedeutet, so viele msgstr-Einträge zu erzeugen, wie die Zielsprache verlangt – nicht so viele, wie die Ausgangssprache zufällig hatte.
Die Wortstellung unterscheidet sich zwischen Sprachen, daher muss ein Satz mit zwei Werten diese oft in umgekehrter Reihenfolge bringen. Positionale Platzhalter wie %1$s und %2$s oder benannte wie {count} und {user} gibt es genau dafür: Die Übersetzung darf sie umstellen, aber jeder muss weiterhin genau einmal vorkommen. Anonyme Platzhalter wie ein bloßes %s lassen sich nicht sicher umstellen – ein Problem, das man besser vor der Übersetzung in den Quelltexten behebt als danach.
Jedes Format hat seine eigenen Tücken. In YAML gibt die Spezifikation einem Literal-Block (|) und einem gefalteten Block (>) unterschiedliches Zeilenumbruchverhalten, und Anker (&) und Aliase (*) lassen einen Knoten einen anderen wiederverwenden – beides muss also unangetastet durchkommen. XLIFF 2.1 verpackt die ursprüngliche Formatierung in Inline-Elemente wie <ph> und <pc>, die eine Übersetzung an ihrer Stelle um die richtigen Wörter herum halten muss. In .NET werden RESX-Ressourcen zur Laufzeit per Name für die aktuelle UI-Kultur gesucht, sodass ein umbenanntes data-Element stillschweigend auf die Standardsprache zurückfällt. Und eine Java-.properties-Datei behandelt das erste nicht maskierte =, : oder Leerzeichen als Schlüsseltrenner, sodass ein verirrter Doppelpunkt in einem übersetzten Schlüssel diesen in zwei Teile spaltet.
Fast immer, weil ein Platzhalter nur in dieser Sprache verändert wurde – umbenannt, weggelassen oder verdoppelt. Der Code übergibt jeder Sprache dieselben Argumente, daher scheitert genau die eine Übersetzung, die nicht mehr zu ihnen passt, sobald dieser Bildschirm formatiert wird.
Pluralregeln gehören zur Sprache, nicht zur Software. Mit gettext kann jede Sprache ihre eigene Regel deklarieren; Russisch wählt anhand der letzten Ziffern der Zahl zwischen drei Formen, sodass eine Übersetzung mit nur zwei Formen für viele Anzahlen die falsche Grammatik ausgibt.
Weil die klassische Methode Properties.load(InputStream) die Datei als Latin-1 liest. Zeichen außerhalb dieses Bereichs müssen als \uXXXX-Escapes geschrieben werden, oder die Datei muss mit einem Reader geladen werden, der die richtige Kodierung verwendet.
Ja, wenn sie positional (%1$s, %2$s) oder benannt ({count}, {user}) sind – für eine natürliche Wortstellung ist das Umstellen oft sogar nötig. Jeder Platzhalter muss trotzdem genau einmal vorkommen. Bloße %s-Platzhalter lassen sich nicht sicher umstellen.
Schlüssel sind Bezeichner, kein Text. Der Code fragt einen String über seinen Schlüssel ab; ein übersetzter Schlüssel bedeutet, dass die Suche fehlschlägt und die App einen rohen Schlüssel anzeigt oder auf die Standardsprache zurückfällt.
Laden Sie eine PO-, YAML-, .properties- oder RESX-Datei hoch und erhalten Sie sie mit Schlüsseln, Platzhaltern, Escapes und Struktur genau dort zurück, wo sie waren.
Sprachdatei Kostenlos Übersetzen
KI & Technologie
SRT-Untertitel online übersetzen ohne Zeitstempel zu verlierenWarum Untertitelübersetzung Präzisionsarbeit ist Eine SRT-Datei ist ein streng strukturiertes Format. Jeder Untertitelb…
Amanda Lee
KI & Technologie
PowerPoint-Präsentation online übersetzenDie eigentliche Herausforderung beim Übersetzen einer Präsentation Eine PowerPoint-Präsentation ist mehr als Text. Jede…
Amanda Lee