Die Struktur der.po-Dateien verstehen
A .po-Datei (Portable Object) ist das Standardformat, das von gettextbasierten Localization Workflows verwendet wird. Es paart ursprüngliche Quellzeichenfolgen ( Msgid) mit übersetzten Strings ( msgstr) und trägt Metadaten als Klartext. Neben den sichtbaren Paaren spielen zwei Elemente eine entscheidende Rolle für Übersetzer und Entwickler: Kommentare und Kontext. Kommentare kommunizieren Absicht, Einschränkungen oder Implementierungsdetails, während Kontext (die msgctxt Feld) diambiguiert identische Strings, die an verschiedenen Stellen verwendet werden.
Die Kenntnis der Dateianatomie hilft Ihnen, nützliche Kommentare und Kontext zu erstellen. Ein typischer Eintrag enthält optionale Entwickler- und Übersetzerkommentare, optionale Referenzlinien, die auf Quellcode-Standorte, Flaggen, die mehrere Formulare oder Formatierungen angeben, und die msgctxt wenn nötig. Behandeln Sie die Kommentare und Kontextfelder als Partner— sie sind leicht, menschlich lesbar und können teure Übersetzungsfehler verhindern.
Verschiedene Arten von Kommentaren in.po-Dateien
.po-Dateien unterstützen mehrere Kommentarformulare, jeweils mit einem bestimmten Zweck. Die Verwendung der richtigen Art von Kommentar macht Parsing genau für Werkzeuge und deutlicher für den Menschen. Unten ist eine genaue Erklärung der gemeinsamen Typen und wann sie zu verwenden.
Die nächsten Tabelle fasst Kommentartypen zusammen, was sie meinen, und praktische Anwendungsbeispiele.
| Präfix | Bedeutung | Ich will nicht |
|---|---|---|
| #. | Kommentar (Übersetzernote) | Verwendung für semantische Hinweise, die durch Extraktionswerkzeuge werden, wie Parameterbedeutung |
| #: | Referenz zum Quellort (Datei:line) | Fügen Sie beim Zeigen von Übersetzern ein, wo der String im Code erscheint |
| #, | Flaggen (z.B. Fuzzy, No-c-Format) | Mit Werkzeugen bestückt, um den Status oder die speziellen Anwendungen |
| # | Translator Kommentar (kostenlos) | In den Warenkorb |
| #| | Zurück untranslatierter String (obsolete) | Wenn du willst Sie die Geschichte nach Änderungen halten; selten notwendig, um zu bearbeiten |
Verwendung Das ist nicht möglich ( #: Pfad/Datei:line) wenn die Lage für Bedeutung wichtig ist. Verwendung #. für kurze, programmatisch extrahierte Hinweise und einfache # für gezielte Anweisungen, die Übersetzer lesen müssen. Vermeiden Sie doppelte Informationen über mehrere Kommentartypen; bevorzugen Sie einen maßgeblichen Kommentar pro Eintrag.
Leveraging Context (msgctxt) für genaue Übersetzungen
Die msgctxt Es besteht ein Feld, um identische Quellstrings, die in verschiedenen semantischen Kontexten verwendet werden, zu disambiguieren. Beispielsweise kann das englische Wort "Close" "nahe" oder "zu schließen" bedeuten. Ohne Kontext müssen Übersetzer raten, was zu Fehlern in Sprachen führen kann, in denen diese Bedeutungen unterschiedliche Wörter verwenden.
Die besten Anwendungen msgctxt:
- Wenn dersel Quellbesaite in UI-Elementen mit unterschiedlichen Funktionen erscheint (z.B. Buttonlabel vs descriptive text).
- Wenn Pluralisierung oder grammatische Geschlecht davon, wie der String verwendet wird.
- Wenn externe Format-Token oder Markup ändern Bedeutung und müssen genau erhalten bleiben.
Praktisches Beispiel (beschrieben) msgctxt wie "button:close" und "label:distanz-close" anstatt sich allein auf Kommentare zu verlassen. Dadurch wird eine maschinenlesbare Unterscheidung von Übersetzungswerkzeugen und Übersetzern gewährleistet. Vermeiden Sie übermäßig verbose Kontextwerte; halten Sie sie kurz, konsistent und stabil über Releases.
Best Practices zum Schreiben und Halten von Kommentare
Gute Kommentare sind genau, relevant und stabil. Sie betrachtet, warum ein String existiert, Platzhalter beschreibt und grammatische Vorteile. Wiederholen Sie nicht, was vorhanden aus der Quellfolge ist, sondern fügen Sie Informationen hinzu, die Fehler verhindern.
In den Warenkorb Sie sind jetzt:
- Platzhalter und Formatierung — Wenn ein String Platzhalter wie »%s" oder "{name}", beschreiben ihre Bestellung und ob sie weggelassen oder verändert werden können.
- In den Warenkorb Sie sind ein kurzer Anwendungsbeispiel — Einzeilige Anwendungen verwenden. Zum Beispiel: #. erscheint in der Kontoeinstellungsseite als Button-Label
- Mark nicht übersetzbare Teile — Wenn eine Marke oder ein technischer Begriff bleiben muss, geben Sie sie deutlich im Kommentar an.
- Sie ist ein Mann Sie Kommentare stabil und versioniert — Wenn Sie das UI-Verhalten ändern, besitzen Sie den Kommentar mit dem neuen Kontext und weisen Sie einen Datums- oder Kartenreferenz, wenn nützlich.
- Vermeiden Sie Entwickler-only jargon — Halten Sie die Sprache für professionelle Übersetzer offen; verwenden Sie einfache Sätze und vermeiden Sie interne Akronyme, wenn nicht erklärt.
Bei der A Konzentration von Kommentaren über Releases, führen Sie einen geschlossenen Pass, um obsolete Notizen und korrekte Referenzen zu. Wird ein String entfernt oder geändert, ergänzt oder gelöscht Sie entsprechende Kommentare, um verwirrende Übersetzer zu vermeiden.
Zusammenarbeit Tipps für Entwickler und Übersetzer
Die besten Lokalisierungsergebnisse resultieren aus einer leichten laufenden Zusammenarbeit. Kommentare und Kontext sind der Kommunikationskanal, der direkt im Übersetzungs-Workflow ist. Machen Sie das. Sie sie geformt, entschädigt Sie auf gemeinsamen Ebenen und Werkzeugverhalten zustimmen.
Maßnahmen zur Zusammenarbeit:
- Ein Kommentar schreiben — Entscheiden Sie sich auf Präfixe, minimale Kontextlänge und ob Sie Kartennummern enthalten. In den Warenkorb Sie den Führer, wo beide Teams zugreifen können.
- ANHANG Sie konsistente msgctxt-Konventionen — z.B. Präfixkontexte mit "Button:", "menu:" oder "error:" so kann Übersetzer die Nutzung schnell scannen und verschlechtern.
- Führen Sie eine Onboarding-Review für Übersetzer aus — Teilen Sie einen kurzen Spaziergang durch die Lokalisierungsmuster Ihre Codebase und die gemeinsame Platzhalter.
- Zwei-Wege-Kommentare fördern — Erlauben Sie den Übersetzern, Übersetzungen (#) mit Fragen oder Anmerkungen ergänzt. Sie diese Antworten und Empfehlungen oder Empfehlungen Siekommen Quellentare, um Klarstellungen zu reflektieren.
- Automatische Überprüfung — Integrieren Sie den., dass über fehlende Orthalterbeschreibungen warnt, leere msgctxt, wo Mehrdeigkeit vorhanden, oder uneinheitliche Referenzen.
Das Feedback der Wertübersetzer. Ein präziser Übersetzer Kommentar auf neu auftretende Mehrdeutigkeit ist Informationen, die Sie in der Quelle anwenden sollte, um wiederkehrende Probleme zu vermeiden. Das Ziel ist eine kontinuierliche Verbesserungsschleife, in der Kommentare und Kontext mit dem Produkt entwickelt werden, verlieren zu stale Annotations.