4 Die Menüpunkte

4.9 Hilfe

4.9.3 Language Editor

Es gibt nur zwei Gründe, den Language Editor zu nutzen:
 - Sie wollen die Programmoberfläche in eine andere Sprache übersetzen
 - Sie sind mir den derzeitigen Begriffen nicht zufrieden
Wenn beides nicht zutrifft, können Sie sich die Lektüre dieses Kapitels sparen!

Familienbande benötigt für jede Sprache eine Sprachdatei, in der die Texte, die im Programm vorkommen, eingetragen sind. Diese Sprachdateien sind in Familienbande integriert und werden über den Menüpunkt  „Sprache“ ausgewählt.
Um die Sprachdatei zu bearbeiten, müssen Sie diese Sprachdatei zuerst aus Familienbande heraus bekommen. Das geht über den Language Editor.

Der Language Editor (deutsch: Sprach-Editor) soll die Übersetzung von Familienbande erleichtern. Um ihn aufrufen zu können, muss man sich zuvor als Betatester angemeldet haben. Wie man das wird, steht hier:
<www.familienbande-genealogie.de/betatester.html>

Wenn Sie der Anweisung gefolgt sind, haben Sie nun eine Datei „Familienbande-Key.png“ im Programmverzeichnis. Vergessen Sie nicht den Registrierschlüssel im Infodialog („Über Familienbande“) einzugeben.

Um aus Neugierde einen Blick auf den Language Editor zu werfen, können Sie das Menü mit gedrückter Shift-Taste aufrufen. Auch dann wird Ihnen der Menüpunkt angeboten.

Auf der Karteikarte „Texte“ finden Sie ein Suchfeld (mit einem Lupensymbol davor) und eine Tabelle mit den zu übersetzenden Texten. Unten links im Fenster findet sich zudem eine Zahl, die Ihnen die Anzahl der vorhandenen Zeilen anzeigt. Lassen Sie sich davon nicht abschrecken, die meisten Übersetzungen bestehen nur aus sehr wenigen Worten.

In der linken Spalte der Tabelle befindet sich eine fortlaufende Nummerierung. Sie hilft Ihnen, die Stelle wieder zu finden, an der Sie Ihre Arbeit unterbrochen haben.
Die mittlere Spalte enthält die Bezeichnung des Textes, wie er im Programmcode von Familienbande benutzt wird. Das ist für Sie nicht sonderlich wichtig und kann auch nicht verändert werden.
Der wesentliche Teil befindet sich in der rechten Spalte. Dort steht der Text, der übersetzt werden muss.

Sie sind noch nicht abgeschreckt und wollen noch immer eine Übersetzung wagen? Gut!

Stellen Sie in Familenbande eine Sprache ein, die Sie kennen oder die Sie bearbeiten möchten. Rufen Sie nun, wenn nicht schon geschehen, den Language Editor auf. Familienbande versucht dann, eine Datei „language.txt“ in das Verzeichnis zu schreiben, in dem sich die Programmdatei befindet. Ist das schreibgeschützt oder wenn Sie nicht die nötigen Zugriffsrechte für dieses Verzeichnis haben, kommt eine entsprechende Meldung. In diesem Fall sollten Sie über den Button [Sichern als ...] die Sprachdatei an einem anderem Ort sichern.

Aufbau der Sprachdatei.
Schauen Sie sich die Sprachdatei in einem Texteditor an. Möglicherweise arbeiten Sie lieber mit einem Texteditor. Das funktioniert ebenfalls.

Die Sprachdatei hat folgenden Aufbau:

 - Einleitender Text mit Angabe zum Übersetzer
 - Datenblock für die Landesfahne
 - Übersetzungszeilen
 - Übersetzungsblöcke

Im einleitenden Text steht als Allererstes, in spitzen Klammern, die Sprache (z. B. < Polski>). Dieser Text wird im Hilfe-Menü als Landessprache, hinter dem Fahnensymbol, ausgegeben.
Danach findet sich ein Hinweis auf den Übersetzer und ein paar erklärende Worte zu dieser Datei.

Zwischen den Zeilen <Beginn DATA> und <Ende DATA> findet sich ein codierter Datenblock, der ein Bild der Landesfahne enthält. Wie der erzeugt werden kann, wird später erklärt.

Die meisten Zeilen sind die eigentlichen Übersetzungszeilen. Sie beginnen mit einem Wort, welches ein Name für eine Variable ist, der im Programmcoode von Familienbande genutzt wird. Dieser Name darf nicht verändert werden. Darauf folgen die Trennzeichen „|#|“. Sie trennen den Variablennamen vom Variableninhalt, dem eigentlichen Text.
Der Text hinter den Trennzeichen ist also genau der Teil, der für eine Übersetzung verändert werden muss.

Zu guter Letzt bleiben noch die Übersetzungsblöcke <AboutBlock> und <KonfessionBlock>. Sie enthalten mehrere Textzeilen, die als Block übersetzt werden. Der <AboutBlock>  enthält den Text, der im Fenster „Über Familienbande“ angezeigt wird und sollte demzufolge von der Textaufteilung etwa eine zentrierte Darstellung geben.
Im Block <KonfessionBlock> befinden sich alle Konfessionen, die für den FOKO-Export benötigt werden. Die einzelnen Zeilen enthalten ein zweistelliges Kürzel, gefolgt von einer ausgeschriebenen Konfessionsangabe. Das Kürzel sollte nach Möglichkeit nicht verändert werden. Nur dann ist eine Zuordnung innerhalb des FOKO-Projektes sinnvoll möglich.

Wer möchte, kann eine Übersetzung oder Textänderung gern auch in einem Texteditor seiner Wahl durchführen. Wichtig ist vor allem, dass alle Umlaute und Sonderzeichen in der Textcodierung UTF-8 gesichert werden.
Wenn in einer Zeile (einem übersetzten Text) ein Zeilenumbruch erfolgen soll, so ist das durch die Zeilenfolge „<br>“ zu kennzeichnen.

Die fertige Übersetzung ist in einer Datei mit dem Namen „language.txt“ zu sichern. Diese Datei wird von Familienbande bei Programmstart geladen, wenn sie sich im selben Verzeichnis wie die Programmdatei befindet.

Bitte beachten Sie, dass der Language Editor genau dort ebenfalls seine Datei sichert. Das kann unter Umständen dazu führen, dass die Sprachdatei im Programmverzeichnis ungewollt überschrieben wird. Sorgen Sie also dafür, dass Sie die Übersetzungsarbeit zumindest noch als Backup an anderer Stelle liegen haben. Es ist empfehlenswert, die in Arbeit befindliche Datei mit einem anderem Namen zu versehen.

Mit diesen Informationen können Sie eine Übersetzung der Programmoberfläche durchführen.


Lokalisierung der Programmoberfläche mithilfe des Language Editors.

Um Ihnen die Arbeit, Familienbande in eine andere Sprache zu übersetzen, zu erleichtern, bietet Familienbande den Language Editor. Dort sind alle zu übersetzenden Texte neben den Variablennamen aufgeführt.

Nach Aufruf des Language Editors befinden Sie sich auf der Karteikarte „Texte“. Dort findet sich im oberen Bereich ein Suchfeld, mit dem Sie nach beliebigen Begriffen in den Texten (nur rechte Spalte) suchen können. Haben Sie einen neuen Suchbegriff eingegeben, hat der Button hinter dem Suchfeld die Beschriftung „Suchen“. Kicken Sie auf diesen Button, wird von der ersten Tabellenzeile an, die Texte nach dem Suchbegriff durchsucht und die erste Fundstelle angezeigt. Danach ändert sich die Beschriftung von „Suchen“ in „Weiter“. Ein erneuter Klick auf den Button zeigt Ihnen die nächste Zeile mit dem gesuchten Begriff an.
Um einen Text zu übersetzen, müssen Sie lediglich in das entsprechende Tabellenfeld (rechte Spalte) klicken. Daraufhin wird das Tabellenfeld zu einer Eingabezeile.

Wenn Sie den kompletten Text einer Zeile gelöscht haben und zu einer anderen Zeile wechseln, wird der deutsche Originaltext angezeigt. Um zu erkennen, dass hier noch keine Übersetzung vorliegt, wird die Zeile Hellgelb hinterlegt und der Text in Grau ausgegeben.

Zu Anfang sollten Sie den Button [Neu] anklicken. Damit werden alle vorbelegten Texte gelöscht und alle Zeile sind hellgelb. Wenn Sie bereits eine Sprachdatei haben, können Sie diese über den Button [Datei öffnen] laden. Diese Funktion ist hilfreich, wenn Familienbande erweiter wurde und dadurch neue Texte hinzugekommen sind. Die in der vorhandenen Sprachdatei gefundenen Übersetzungen werden damit übernommen. Sie müssen dann nur noch die hellgelben Zeilen bearbeiten.

Eine Erleichterung bieten die Funktionen zum Importieren und Exportieren der Tabellenzeilen als CSV-Datei. Diese Funktionen können Sie über das Kontextmenü aufrufen.
Mit „Save as CSV“ wird eine Textdatei erzeugt, die Sie in eine Tabellenkalkulation (z. B. Open Office oder LibreOffice) importieren können. Achten Sie beim Import darauf, dass die Zeichencodierung auf UTF-8 steht. Wählen Sie als Trennzeichen das Tabulatorzeichen.
Haben Sie die CSV-Datei in einer Tabellenkalkulation bearbeitet und wieder als CSV-Datei gesichert (achten Sie auf die Zeichencodierung UTF-8 und den Tabulator als Trennzeichen), können Sie mit „Import CSV“ die Datei wieder einlesen.

Mit diesen Funktionen können Sie die Übersetzung recht einfach mit einem Online-Übersetzungsdienst ausführen lassen. Solche Übersetzungen führen jedoch in vielen Fällen zu ungeeigneten Ergebnissen und sollten deshalb nur als Grundlage für eine Übersetzung dienen.

In einigen Fällen sind die in Familienbande vorkommenden Texte aus mehreren Teilstücken zusammengesetzt. Solche mehrteiligen Texte erkennen Sie an der fortlaufenden Nummerierung des Variablennamens.

Beispiel:
UpdateWindowMessage1_1|#|Die Version vom
UpdateWindowMessage1_2|#|steht zum Download zur Verfügung.

Zwischen die beiden Texte fügt Familienbande einen weiteren ein. Somit wird im Programm z. B. folgender Text daraus erzeugt:

    Die Version vom 05.11.2011 steht zum Download zur Verfügung.

Sollten Sie Fragen zu bestimmten Zusammenhängen oder die Bedeutung der Texte haben, helfe ich gern!


Auf der zweiten Karteikarte gibt es nicht viel zu erklären. Dort finden Sie die zu übersetzenden Textblöcke, die zu Anfang dieses Kapitels bereits erwähnt wurden. Mithilfe des Auswahlmenüs können Sie zwischen ihnen wechseln.

Bleibt abschließend noch zu klären, wie Sie den Datenblock für die Landesfahne erzeugen können (wird im Hilfemenü vor der eingestellten Sprache angezeigt). Eigentlich hatte ich geplant, dafür eine passende Funktion anzubieten. Da aber nur selten neue Übersetzungen erzeugt werden, wurde diese Funktion noch nicht eingebaut. Bitte mailen Sie mich also im Bedarfsfall an.