EAGLE Help

language()


Funktion
Liefert den Sprachcode des verwendeten Systems.

Syntax
string language();

Rückgabewert
language liefert einen String bestehend aus zwei Kleinbuchstaben, der die auf dem aktuellen System verwendete Sprache angibt. Falls sich diese Einstellung nicht ermitteln läßt, wird ein leerer String zurückgegeben.

Die language-Funktion kann dazu benutzt werden, in einem ULP unterschiedliche Texte zu verwenden, je nachdem welche Sprache das aktuelle System verwendet.

In dem folgenden Beispiel sind alle im ULP verwendeten Strings im Array I18N[] aufgelistet, beginnend mit einem String der die verschiedenen Sprachcodes enthält die dieses ULP unterstützt. Beachten Sie die vtab-Zeichen, die dazu benutzt werden, die einzelnen Teile jedes Strings zu trennen (diese sind wichtig für die lookup-Funktion) und die Benutzung der Kommas um die Strings zu trennen. Die eigentliche Arbeit wird in der Funktion tr() gemacht, welche die übersetzte Version des übergebenen Strings zurückliefert. Sollte der ursprüngliche String im I18N-Array nicht gefunden werden, oder es keine Übersetzung für die aktuelle Sprache geben, so wird der ursprüngliche String unübersetzt verwendet.

Die erste im I18N-Array definierte Sprache muß diejenige sein, in der die im restlichen ULP verwendeten Strings geschrieben sind, und sollte generell Englisch sein um das Programm einer möglichst großen Zahl von Benutzern zugänglich zu machen.

Example

string I18N[] = {
  "en\v"
  "de\v"
  "it\v"
  ,
  "I18N Demo\v"
  "Beispiel für Internationalisierung\v"
  "Esempio per internazionalizzazione\v"
  ,
  "Hello world!\v"
  "Hallo Welt!\v"
  "Ciao mondo!\v"
  ,
  "+Ok\v"
  "+Ok\v"
  "+Approvazione\v"
  ,
  "-Cancel\v"
  "-Abbrechen\v"
  "-Annullamento\v"
  };
int Language = strstr(I18N[0], language()) / 3;
string tr(string s)
{
  string t = lookup(I18N, s, Language, '\v');
  return t ? t : s;
}
dlgDialog(tr("I18N Demo")) {
  dlgHBoxLayout dlgSpacing(350);
  dlgLabel(tr("Hello world!"));
  dlgHBoxLayout {
    dlgPushButton(tr("+Ok")) dlgAccept();
    dlgPushButton(tr("-Cancel")) dlgReject();
    }
  };

Index Copyright © 2005 CadSoft Computer GmbH