Aktuelle Sprache ermitteln

Hallo,

Gibt es eine Möglichkeit, die Sprache der IPS Installation aus einem Modul zu ermitteln?

Gruß,
Florian

Zumindest schwierig da IP-Symcon ja auf unterschiedlichen Plattformen läuft und da der Ansatz sehr unterschiedlich wäre wenn überhaupt an die Infos ranzukommen. Und in IP-Symcon ist das meines Wissens nirgendwo gespeichert das hängt von den Einstellungen des Betriebssystems ab auf dem IP-Symcon läuft. Aber was spricht denn dagegen das einfach den User in einem Dropdown Feld selber auswählen zu lassen?

So mache ich es aktuell. Aber noch besser wäre es aus meiner Sicht, wenn ich die Sprache der IPS Installation ermitteln könnte.

Ich frag mal doof… Wofür brauchst du dies?

paresy

Ich hatte auch schon daran gedacht.
Mir sind da Profile und Namen der Statusvariablen eingefallen.
Michael

Da sollten die PHP Module eher Zugriff auf eine Lokalisierungfunktion haben die wiederum über die locale.json läuft.

paresy

Dann wären auch Platzhalter wie %f oder %d gut.

Michael

Zum Beispiel für Amazon Echo damit klar ist was für eine Skill Sprache benutzt wird.

Genau. Aktuell habe ich ein Dropdown-Menü für die Sprachauswahl, aber es wäre natürlich schön, wenn ich als Default Wert die Systemsprache verwenden könnte.

Hallo,

Ich mache es nun so und denke, das sollte funktionieren:


    public static function GetIPSLocale()
    {
        // Get info about the system default ~Switch variable profile
        $info = @IPS_GetVariableProfile('~Switch');

        // Get the display text of the OFF option
        $name = $info['Associations'][0]['Name'];

        // Check if the locale is German, otherwise English
        $locale = ($name == 'Aus')? 'de-DE': 'en-US';

        // Return the value
        return $locale;
    }

Wäre ich jetzt nicht drauf gekommen, aber praktisch :). Und auf einem English System ist dann $name (Off)?

Ist doch wurscht, Hauptsache nicht ‚Aus‘ :wink:
Michael