ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

Internationalisierung

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Die "intl"-Erweiterung 🇬🇧 von PHP ermöglicht es Entwicklern, Aufgabenstellungen, deren Ausgabe sich in verschiedenen Sprachen, oder genauer gesagt in Gebietsschemas, unterscheidet, zu automatisieren. Mit ihr kann man zum Beispiel die in der deutschen Sprache üblichen Formatierungen für Datums- und Zeitangaben, Dezimalzahlen und Währungsangaben korrekt ausgeben lassen. (Siehe auch: i18n.)

Installation

Die Installation der "intl"-Erweiterung erfolgt mit folgendem Paket[1]:

  • php-intl (universe)

Paketliste zum Kopieren:

sudo apt-get install php-intl 

Oder mit apturl installieren, Link: apt://php-intl

Bei einer serverseitigen Anwendung muss nun der Server neu geladen werden. Bei Apache zum Beispiel so:

sudo systemctl reload apache2 

Anwendung

PHP unterstützt alle Gebietsschemas, deren Sprachpakete unter Ubuntu zuvor installiert worden sind. Die Anwendung in PHP funktioniert nur, wenn man den exakten Sprachpaketnamen verwendet, den auch Ubuntu verwendet. Die im System installierten Sprachpakete und ihre Bezeichnungen erfährt man durch die Eingabe im Terminal[2] von:

locale -a 

Für das Gebietsschema Deutschland lautet die Bezeichnung dann zum Beispiel:

de_DE.UTF-8

In einem Skript

In einer beliebigen PHP-Datei kann man nun den gewünschten Sprachpaketnamen verwenden, zum Beispiel so[3]:

1
2
<?php
setlocale (LC_ALL,'de_DE.UTF-8');

Systemweit

Möchte man ein Gebietsschema als Standard für die gesamte PHP-Installation festlegen, so kann man dies in der PHP-Konfigurationsdatei 🇩🇪 festlegen. Hierfür im PHP-Konfigurationsverzeichnis (siehe: PHP (Abschnitt „Konfiguration“)) eine neue Datei anlegen, zum Beispiel[3]:

sudo touch /etc/php/PHP.VERSION/apache2/conf.d/99-myintl.ini 

Dort folgendes mit einem Editor[4] eingeben:

1
2
[intl]
intl.default_locale = GEWÜNSCHTES_GEBIETSSCHEMA

Für Deutschland sähe der entsprechende Eintrag also so aus:

1
2
[intl]
intl.default_locale = de_DE.UTF-8

Damit diese Änderungen serverseitig wirksam werden, müssen sie dem Webserver mittels dem jeweiligen reload-Befehl bekannt gemacht werden.

Diese Revision wurde am 27. September 2020 14:30 von mubuntuHH erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Programmierung, Internet, Server, Netzwerk, PHP, Locales, LAMP