Mit Icinga Web 2 halten unfassbar viele innovative Funktionen Einzug in die Welt der Überwachung mit Icinga, welche euch bei jedem Einsatz erneut überwältigt, demütig und (selbstredend) erfolgreich eure Arbeit erledigen lassen. Selbstverständlich wird dies zu einem großen Teil dem geschuldet sein, was Euch im Browser visuell präsentiert wird, doch auch die kleinen Dinge tragen zu einem sehr großen Teil dieser Lebenserfahrung bei.
Eines dieser kleinen Dinge möchte ich euch heute vorstellen. Die Internationalisierung (Auch als i18n und l10n bekannt) sorgt dafür, dass Icinga Web 2 in der für euch richtigen Sprache, Zeitzone sowie Zeit- und Datums-Darstellung erscheint. Vollautomatisch. Natürlich könnt ihr die Sprache und Zeitzone euren Wünschen nach permanent festlegen, unabhängig davon was euch Icinga Web 2 mit unwiderlegbarer Genauigkeit automatisch vorschlägt.
Erreicht wird dies mittels der folgenden Techniken:
Sprache
Sendet ein Browser den HTTP Accept-Language Header bei einem Request, besteht für Icinga Web 2 die Möglichkeit aus den präferierten Sprachen des Benutzers automatisch die passendste und verfügbare auszuwählen. Gibt es keine der gewünschten Sprachen, wird Englisch oder die in den Nutzer-Einstellungen definierte Sprache aktiviert. (Im Hintergrund nutzen wir gettext.)
Zeitzone
Da die Browser leider nicht von sich aus die aktuelle Zeitzone des Benutzers bei einem Request mitsenden, müssen wir hierfür auf eine eigene Lösung zurückgreifen. Nachdem JavaScript nach dem ersten Request geladen wurde, kann es bei folgenden die Zeitzone in den Header einpflegen. Da wir sowieso jeden einzelnen Request mit JavaScript abfangen, ist das kein allzu großes Problem. Ist JavaScript deaktiviert oder unfähig die Zeitzone zu registrieren, wird UTC (bzw. die für den Server konfigurierte Standard Zeitzone) oder die in den Nutzer-Einstellungen definierte Zeitzone aktiviert.
Formate
Das Format für die Darstellung der Zeit und eines Datums wird anhand der aktuellen Sprache festgestellt. Hierfür greifen wir auf das PHP Modul Intl zurück.
Unglücklicherweise besitzen auch wir nicht die nötigen Kenntnisse alle der mehr als 6000 bekannten Sprachen in Icinga Web 2 zu integrieren. Deshalb stehen euch zum bevorstehenden Release folgende Sprachen zur Verfügung:

  • Englisch
  • Deutsch
  • Portugiesisch

Mit genug Huldigungen und über die Maßen lobenden Worten, sind wir durchaus dazu bereit eure gettext Sprachkataloge als Ergänzung zu integrieren.
Und nun wünschen wir euch viel Spaß mit Icinga Web 2, den ihr mit Sicherheit haben werdet.
Und zum Abschluss für all jene die allzu ernst durch’s Leben schreiten: 😉

Johannes Meyer
Johannes Meyer
Developer

Johannes ist seit 2011 bei uns und hilft bei der Entwicklung zukünftiger Knüller (Icinga2, Icinga Web 2, ...) aus dem Hause NETWAYS.