Astro-Software 17 Kstars (deutsche Version)

Wie funktionieren Sprachen in KDE?

KDE und andere Sprachen, das ist ein Kapitel für sich!

Sprachunterstützung für KDE-Programme werden von KDE-Übersetzerteams möglich gemacht. So wird zum Beispiel für kstars folgendes angeboten:

https://edu.kde.org/kstars/i18n.php

Klicken wir hier bei den GUI-Strings bei German auf „get“, so wird uns die Datei „kstars.po“ zum Download angeboten. Und das ist schon gar nicht einmal so schlecht, denn diese po-Datei enthält die komplette deutsche Übersetzung von kstars. Klicken wir auf „Speichern“, so haben wir nach kurzer Zeit diese Datei in unserem Download-Ordner.

Nun müssen wir diese po-Datei nur noch an die richtige Stelle auf unserer Festplatte schieben und gut isses.

Sollte man meinen…

Etwas Gemeckere zwischendurch

Lasst es erstmal bleiben mit dem Download der po-Datei. Denn das, was uns auf dieser offiziellen Seite für die I18n-Sprachunterstützung von kstars angeboten wird, ist schlichweg unbrauchbar, da uralt. Ich hab mal nachgesehen, die po-Datei ist vor 7 Jahren entstanden. Das muß, computertechnisch gesehen, kurz nach der Sintflut gewesen sein. kstars sieht lustig aus, wenn ich es mit dieser Sprachdatei kompiliere. Ich hab´s ausprobiert.

Wo gibt es eine aktuelle kstars.po?

Also brauchen wir eine aktuelle Version der Sprachdatei!

Ich hab etwas gesucht und bin doch tatsächlich fündig geworden. Die Übersetzungsdatei in einer aktuellen Version befindet sich im trunk-branch in einem Zweig mit dem Namen extragear-edu. Bevor nun die große Sucherei losgeht, hier ist die Adresse:

https://l10n.kde.org/stats/gui/trunk-kf5/package/kstars/de/

Klicke ich auf dieser Seite auf kstars.po, wird mir die Sprachdatei zum Download angeboten.

Was mach ich nun mit kstars.po?

Wenn wir vorhin alles richtig gemacht haben, so befindet sich nun die aktuelle Version von kstars.po im Download-Verzeichnis unseres Rechners.

Und jetzt wird es interessant: Wenn ich nämlich kstars mit der deutschen Sprachunterstützung kompilieren will, muß ich die kstars.po mit kompilieren. Und dieser Kompiliervorgang ist mit einigen Überraschungen gesegnet.

Drum gehen wir das Ganze Schritt für Schritt durch

kstars mit deutscher Sprachunterstützung kompilieren

Wenn ihr euch an den Artikel erinnert, in dem ich das Kompilieren von kstars mit englischer Sprachunterstützung gezeigt habe, dann werden ihr jetzt vielleicht sagen: „Ist doch ganz einfach, 5 Zeilen und die Sache ist gegessen“.

Ganz so einfach ist es denn doch nicht mit den Sprachen in KDE.

Bis zur Zeile 3 bleiben wir identisch mit dem englischen Weg. Ab da wird die Straße dann so holprig, daß wir vom Fahrrad absteigen und schieben müssen.

Am besten gehen wir diesen Weg also Schritt für Schritt …

Projekt bilden, die Erste…

Die Zeilen 1 bis 3 sind identisch bei der englischen und deutschen Version:

  1. Wir erzeugen im build-Verzeichnis einen Unterordner mit dem Namen kstars
  2. und begeben uns in diesen Ordner
  3. Dort bereiten wir das Kompilieren vor
mkdir -p ~/astrostuff/build/kstars &&\
cd ~/astrostuff/build/kstars &&\
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ~/astrostuff/kstars

Eine neue Heimat für kstars.po

Durch den cmake-Befehl in Zeile 3 hat sich der neu angelegte Ordner mit Dateien und Verzeichnissen gefüllt. Ein Verzeichnis mit dem Namen „po“ finden wir da drin aber nicht. Und exakt so ein Verzeichnis brauchen wir als neue Heimat für kstars.po.

Nun ja, kein allzu große Problem. Legen wir einfach dieses Verzeichnis neu an und spendieren ihm noch ein Unterverzeichnis mit dem Namen „de“.

mkdir -p ~/astrostuff/build/kstars/po/de

Und in dieses de-Verzeichnis kopieren wir die deutsche Übersetzungsdatei von kstars, die im Download-Verzeichnis unseres Rechners auf bessere Zeiten wartet.

mv ~/Downloads/kstars.po ~/astrostuff/build/kstars/po/de

Dieses Unterzeichnis „de“ ist übrigens reserviert für die deutsche Sprache. Würden wir kstars auf italienisch übersetzen wollen, dann würden wir anstelle von „de“ ein Unterverzeichnis mit dem Namen „it“ benötigen.

Projekt bilden, die Zweite…

Wer nun meint, er könne gleich mit dem Kompilieren loslegen, der sieht sich getäuscht. Denn da gibt es noch eine Kleinigkeit, die fehlt. Das will ich mal kurz erklären.

Beim Kompilieren mit dem make-Befehl wird unsere Klartext-Übersetzungdatei kstars.po umgewandelt in eine Datei mit dem Namen „kstars.mo“. Diese Datei enthält die Übersetzungen nicht mehr im Klartext, sondern in binärem Code.

kstars.mo wird aber nur erzeugt, wenn ein Ordner mit dem Namen „locale“ im Build-Verzeichnis für kstars zu finden ist. Ist er aber nicht.

Der Ordner „locale“ wird beim Bilden des Projekts (cmake) mit allen notwendigen Unterverzeichnissen erzeugt, aber nur dann, wenn ein Ordner „po“ vorhanden ist. Diesen Ordner samt Unterordner „po“ haben wir vorhin erzeugt. Also können wir das Projekt, diesmal mit bekannter Sprachunterstützung, nochmals bilden

cd ~/astrostuff/build/kstars &&\
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release ~/astrostuff/kstars

Und ob ihr es glaubt oder nicht! Wie durch ein Wunder ist in „~/astrostuff/build/kstars“ ein neues Verzeichnis „locale“ erschienen in dem sich das Unterverzeichnis „de“ befindet.

Aber jetzt: Zeit zum Kompilieren

make -j4

Nun dauert es eine Weile, bis kstars kompiliert ist. Dabei beikommt „~/astrostuff/build/kstars/locale/de“ einen Mieter, nämlich das „übersetzte Übersetzungsfile“ 🙂 kstars.mo

kstars installieren

Was bleibt, ist die Installation von kstars auf die Festplatte:

sudo make -j4 install

Nachwort

Ich hab mich vor einiger Zeit schonmal über das Thema „Sprachunterstützung für kstars“ ausgelassen.

Eigentlich sollte das Herunterladen der po-Dateien automatisiert erfolgen, wenn man dem cmake-Befehl die Option „-DFETCH_TRANSLATIONS=ON“ mitgibt.

Das hat schon damals nicht out of the box funktioniert, sondern erforderte gutes Zureden. Und aktuell funktioniert nicht einmal mehr mein Workaround von damals.

Deshalb das ganze Gerüöle oben.

Das war´s denn wohl. Ich denke, nun bin nicht nur ich ins Schwitzen gekommen. Ist gar nicht so einfach mit den Sprachen in KDE. ich hab es aber dennoch geschafft 🙂

Stay tuned 🙂

Hinweis

Geschrieben für und getestet mit Linux openSUSE Tumbleweed.
Die Verwendung von Code, der in dieser Astro-Software-Reihe gezeigt wird, erfolgt ausschließlich auf eigene Gefahr.

Die Artikel bauen aufeinander auf und müssen der Reihe nach abgearbeitet werden, sonst klappt es nicht mit dem kompilieren.

https://sternenkarten.com/
Menüpunkt: Astro-Software

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google Foto

Du kommentierst mit Deinem Google-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.