Um die Anzeigesprache zu definieren gibt es unterschiedliche Wege. Die Lokalisierung der selbst definierten Inhalte wurde bereits in den Artikeln Internationalisierung und Lokalisierung Teil 1 und Internationalisierung und Lokalisierung Teil 2 vorgestellt. Heute möchte ich auf die vorgegebenen Inhalte eingehen.
Die Texte von Laufzeitfehlern, Menüaktionen, des Designers und genauso der textbasierten Umgebung des Standard-Clients sind fest vorgegeben. Standardmäßig wird hier die Sprache der Benutzeroberfläche (*U
) von dem Betriebssystem verwendet. Zurzeit stehen Deutsch (DE
), amerikanisches Englisch (EN
) und Türkisch (TR
) zur Verfügung, wobei Türkisch nur in der textbasierten Umgebung verwendet werden kann. An den anderen Stellen wird statt Türkisch Deutsch verwendet.
Die Sprache kann explizit über den Kommandozeilen-Parameter /c16lang
, die Umgebungsvariable c16lang
und den Eintrag Lang_Display
in der Konfigurationsdatei definiert werden.
Beispiele:
- Kommandozeilenargument:
c16_winc.exe /c16lang=TR
- Konfigurationsdatei:
Lang_Display=DE
Zunächst wird geprüft, ob der Kommandozeilen-Parameter angegeben ist, danach die Umgebungsvariable und zuletzt der Eintrag der Konfigurationsdatei.
Die Übersetzungen der textbasierten Umgebung sind in den Dateien c16.vrs
(DE
), c16_en.vrs
(EN
) und c16_tr.vrs
(TR
) hinterlegt. Ist eine der letzten beiden Dateien nicht vorhanden, wird ohne einen weiteren Hinweis Deutsch verwendet. Fehlt jedoch die c16.vrs
lässt sich der Client nicht starten. Für die weiteren Übersetzungen ist die Datei c16.vra
verantwortlich, ohne die sich weder der Designer, noch die Applikation starten lassen.
Applikations-Eigenschaft LangDisplay
Mit der Eigenschaft wpLangDisplay
vom _App
-Objekt kann zusätzlich die Anzeigesprache der Druckvorschau, von den Statusanzeigen von OemSave()
und SelRun()
, der Benutzerpflege (WinUrmDialog()
) und der Programminformationen (WinOpen(_WinC16Info)
) definiert werden. Hier können folgende Werte angegeben werden:
'??'
– Sprache der allgemeinen Einstellungen verwenden (Standard)'DE'
– Deutsch'EN'
– Englisch (U.S.)'*U'
– Sprache der Betriebssystem-Benutzeroberfläche
Beispiel:
_App->wpLangDisplay # 'EN';
tDlg # WinOpen(_WinC16Info);
tDlg->WinDialogRun(_WinDialogCenterScreen);
tDlg->WinClose();
Das Ergebnis sieht wie folgt aus:
4 Antworten
Ich habe die Bilder noch einmal verändert um das noch etwas zu verdeutlichen.
Aha, "Ctrl" statt "Strg". Alles klar.
@Kilian:
In den Screenshots geht es um die Menüaktionen, also die Tastenkombinationen, mit denen die Menüpunkte ausgelöst werden können. Der Titel der Menüpunkte wird vom Entwickler definiert und kann mit dem Modul "SysLcl" aus dem Artikel http://blog.conzept16.de/2011/09/I18n-L10n-Internationalisierung-und-Lokalisierung-Teil-1 übersetzt werden.
Deutsch und Englisch sind sich ja zum Verwechseln ähnlich 😉