Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| it:programmiersprache:python:qt:translation:start [23.08.2025 08:36] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | it:programmiersprache:python:qt:translation:start [23.08.2025 08:36] (aktuell) – ↷ Seite von it:python:qt:translation:start nach it:programmiersprache:python:qt:translation:start verschoben marsch | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Qt - Translation ====== | ||
| + | |||
| + | |||
| + | ===== Installation ===== | ||
| + | |||
| + | Erforderliche Tools auf dem Rechner | ||
| + | |||
| + | <tabbox Ubuntu PySide2> | ||
| + | |||
| + | <code shell> | ||
| + | sudo apt install pyside2-tools | ||
| + | </ | ||
| + | |||
| + | <tabbox Ubuntu PySide6> | ||
| + | |||
| + | <code shell> | ||
| + | sudo apt install pyside6-tools pyqt6-dev-tools qt6-l10n-tools assistant-qt6 | ||
| + | </ | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | <wrap em> | ||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | Info: | ||
| + | |||
| + | Beim starten von '' | ||
| + | |||
| + | * '' | ||
| + | |||
| + | Bei dem Werkzeug '' | ||
| + | |||
| + | Ein erneuter Start von '' | ||
| + | |||
| + | Nachdem ich '' | ||
| + | |||
| + | < | ||
| + | </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | **Tip** | ||
| + | |||
| + | Bei der Suche nach Paketen, die bestimmte Dateien auf das System installieren könnte das Werkzeug Synaptic-Paketverwaltung (Paket '' | ||
| + | |||
| + | Oder die Web-Site: [[https:// | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ===== lupdate ===== | ||
| + | |||
| + | ==== Voraussetzungen ==== | ||
| + | |||
| + | Eine Übersetzung wird in der Anwendung mit | ||
| + | <code python> | ||
| + | self.tr(" | ||
| + | </ | ||
| + | durchgeführt. | ||
| + | |||
| + | Das Programm '' | ||
| + | <code python> | ||
| + | self.setWindowTitle(" | ||
| + | </ | ||
| + | ein Fenstertitel gesetzt werden soll, dann wird dieser Eintrag nicht gefunden, da für den String " | ||
| + | <code python> | ||
| + | self.setWindowTitle(self.tr(" | ||
| + | </ | ||
| + | Auf diese Weise werden Strings für die Übersetzung von anderen Strings unterschieden, | ||
| + | |||
| + | <WRAP important round center 60%> | ||
| + | **Achtung!** | ||
| + | |||
| + | Wenn der Inhalt einer String-Variablen übersetzt werden soll, schlägt der Mechanismus fehl. | ||
| + | <code python> | ||
| + | string_variable = " | ||
| + | |||
| + | self.setWindowTitle(self.tr(string_variable)) | ||
| + | </ | ||
| + | wird nicht als zu übersetzender String erkannt und landet damit auch nicht in der '' | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== Projekt-Datei erstellen ==== | ||
| + | |||
| + | Man kann zwar sehr lange Kommandozeilen zusammen stellen, aber so eine Projekt-Datei ist einfacher zu handhaben. | ||
| + | |||
| + | <file text project.pro> | ||
| + | CODECFORTR = UTF-8 | ||
| + | |||
| + | SOURCES = src/ | ||
| + | src/ | ||
| + | src/ | ||
| + | src/ | ||
| + | src/ | ||
| + | src/ | ||
| + | src/ | ||
| + | src/ | ||
| + | |||
| + | TRANSLATIONS = lang/ | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Update durchführen ==== | ||
| + | |||
| + | Das eigentliche Update (oder deren Erstellung) wird durch die Kommandozeile | ||
| + | <code shell> | ||
| + | pyside2-lupdate -verbose project.pro | ||
| + | </ | ||
| + | durchgeführt. | ||
| + | |||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Qt Linguist ===== | ||
| + | |||
| + | Die eigentliche Übersetzung wird durch [[https:// | ||
| + | |||
| + | Bei mir aktuell ist leider nur '' | ||
| + | <code shell> | ||
| + | cd Projekte/ | ||
| + | |||
| + | pyside6-linguist lang/ | ||
| + | </ | ||
| + | |||
| + | Nach Abschluss aller Übersetzungen, | ||
| + | |||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== lrelease ===== | ||
| + | |||
| + | Mit | ||
| + | <code shell> | ||
| + | pyside6-lrelease lang/ | ||
| + | </ | ||
| + | wird die '' | ||
| + | |||
| + | * [[https:// | ||
| + | |||
| + | |||
| + | ====== Andere Möglichkeiten ====== | ||
| + | |||
| + | <WRAP todo round center 60%> | ||
| + | Check '' | ||
| + | </ | ||