QT Linguist (ts)
Qt Linguist verwendet TS (Translation Source)-XML-Dateien zur Verwaltung der Lokalisierung für Qt-basierte Anwendungen, die mit Qt Widgets oder Qt Quick erstellt wurden. Das lupdate-Tool extrahiert übersetzbare Zeichenketten aus C++- und QML-Quellen in .ts-Dateien; lrelease kompiliert sie in binäre .qm-Dateien, die zur Laufzeit geladen werden.
Qt-TS-Dateien sind XML-Dateien, die context-Elemente enthalten, die jeweils einer Quelldatei oder logischen Gruppierung entsprechen. Jeder Kontext enthält message-Elemente mit einem source-Element (Originaltext) und einem translation-Element (übersetzter Text). Kommentare und Disambiguierungshinweise verwenden das comment-Element. Der Übersetzungsstatus wird mit einem type-Attribut verfolgt – unfinished, vanished oder obsolete –, um den Update-Lebenszyklus zu verwalten.
Best Practice: Verwenden Sie die tr()-Funktion konsistent für alle benutzersichtbaren Zeichenketten in C++ und qsTr() in QML. Geben Sie Disambiguierungstext mit dem tr()-Kontextparameter an, wenn dieselbe englische Zeichenkette in verschiedenen Kontexten unterschiedliche Übersetzungen erfordert. Führen Sie lupdate regelmäßig aus, um .ts-Dateien mit Quellcodeänderungen synchron zu halten – nicht mehr vorhandene Zeichenketten werden erhalten und können wiederhergestellt werden, wenn sie versehentlich entfernt wurden. Language Monster unterstützt das Qt-Linguist-TS-Format und verarbeitet context-Elemente und Übersetzungsstatusverfolgung.
