Configuration:Create Menu Language/de

From Scrabble3D Manual
Revision as of 14:24, 23 April 2014 by Ocye (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Diese Seite beschreibt die alternative Art der Lokalisierung.
das aktuelle Vorgehen ist hier beschrieben.

Durch Auswahl einer Menüsprache können alle Dialogelemente des Programms in der Übersetzung (Lokalisierung) angezeigt werden. Die Einträge der jeweiligen Menüsprache befinden sich in einer Textdatei, die dasselbe Format wie eine Initialisierungsdatei aufweist, die jedoch mit der Endung .lang versehen ist. Damit Sonderzeichen und Umlaute verarbeitet werden können, muss die Datei im UTF-8 Format abgespeichert sein. Das Programm erzeugt, falls nicht vorhanden, selbst die Datei english.lang, die beispielsweise als Quelltext für Übersetzungen herangezogen werden kann.

Zu Beginn stehen dateiübergreifende Informationen, die per [Header] gekennzeichnet sind. Angaben zu Author, Version und Date werden nach dem Laden der Datei im Konfigurationsdialog angezeigt. Die Angabe LangID=<Bezeichner> wird auf dem Spielserver zur Darstellung der Landesflagge genutzt. Der Bezeichner muss hier dem ISO 639-1 code folgen. Möglich sind auch weitere Angaben, wie zum Beispiel die Lizenzierung oder ein Kommentar, die jedoch vom Programm nicht genutzt werden.

Im Bereich [Translation] werden alle übersetzbaren Texte aufgelistet. Alle "fest" programmierten Steuerelemente haben einen Namen und eine Eigenschaft, die hier zur Identifikation genutzt werden. Im Programm sind diese Namen dem Typ des Elements entsprechend vergeben worden, zum Beispiel mi=Menuitem, cb=Checkbox, gb=Groupbox, lb=Label usw. Die beiden Eigenschaften Caption und Hint beinhalten übersetzbaren Text, Caption steht für den ausgegebenen Text, Hint für den Tooltip. In einer Caption kann ein Hotkey per Et-Zeichen (Ampersand) definiert werden, der eine Aktivierung des Eintrags per Alt+<Taste> zulässt. Es spielt keine Rolle, welcher Buchstabe genutzt wird und ob diese Angabe überhaupt gemacht wird. Beispiel: Ein Ampersand bei &Spiel in der Zeile tbNewGame.Caption=Neues &Spiel bewirkt, dass das S unterstrichen ist und per Alt+S aktiviert werden kann. Schreibt man stattdessen &Neues Spiel wird das N unterstrichen und Alt+N ist der Hotkey. Viele Steuerelemente werden erst während der Programmausführung erzeugt und können auch erst dann übersetzt werden. Sowohl in diesem Fall als auch bei dynamischen Nachrichten werden spezielle Zeichenketten genutzt, zum Beispiel "r2dview_caption=2D-Ansicht" oder "rmain_infoappstarted=Programm gestartet".

[Header]
Author=Hans Schmidt
Version=1
Date=2010-01-30
LangID=eo
Licence=Creative Commons
Comment=Just a demo
[Translation]
fmMain.Caption=Scrabble3D
tbExit.Caption=E&xit
tbExit.Hint=Fini programo
rMain_GameEnd=Ludofino

Eine neue Sprachdatei kann erstellt werden, indem entweder eine vorhandene Datei kopiert und umbenannt wird oder indem sie komplett neu erstellt wird. Wenn eine leere Datei mit der Endung .lang im Konfigurationsverzeichnis gespeichert wird, ist diese Datei beim nächsten Programmstart im Menü der Sprachauswahl verfügbar. Wenn diese leere lang-Datei ausgewählt wird, werden alle gerade aktuellen Werte dort eingetragen, da kein übersetzter Eintrag vorhanden ist. Ist zum Beispiel Deutsch die aktuelle Sprache und man wählt eine leere Datei an, werden alle relevanten Einträge in diese Datei mit der jeweiligen deutschen Übersetzung eingetragen.

Spezielle Formatierungen werden durch %s (Zeichenkette) und %d (Zahl) angegeben. Bei der Übersetzung kann die Position beliebig verändert werden. Zum Beispiel kann "rmain_gameendwin=Game is won by %s" durch "rmain_gameendwin=%s gewinnt das Spiel" ersetzt werden. Die Anweisung %s wird im Programm natürlich durch den Namen des Spielers ersetzt, der gewonnen hat. Sind mehrere Formatierungsanweisungen in einer Sequenz enthalten, ist die Reihenfolge von Bedeutung. Insbesondere darf %s und %d nicht vertauscht werden.

Für Hints ist es möglich, einen Zeilenumbruch zu definieren. Dazu muss in die Übersetzung \\n an die Stelle eingetragen werden, an der ein Umbruch erfolgen soll. Alle \\n-Sequenzen werden vom Programm automatisch durch einen Zeilenumbruch ersetzt.

Für Texte mit multiple Pluralformen kann das Pipe-Zeichen genutzt werden. Dieses trennt die einzelnen Formen entsprechend der Einstellung zur Sprache. Zum Beispiel: Text|Text1|Text2.

GeoLogo.png Language:

DeutschEnglishEspañolFrançaisGaeilgeGàidhligItalianoSvenska