PHP
Lokalisierung
Suche…
Syntax
string gettext (string $message)
Strings mit gettext () lokalisieren
GNU gettext
ist eine Erweiterung innerhalb von PHP, die in der php.ini
enthalten sein php.ini
:
extension=php_gettext.dll #Windows extension=gettext.so #Linux
Die gettext
Funktionen implementieren eine NLS-API (Native Language Support), mit der Sie Ihre PHP-Anwendungen internationalisieren können.
Das Übersetzen von Zeichenfolgen kann in PHP erfolgen, indem das Gebietsschema festgelegt wird, Ihre Übersetzungstabellen eingerichtet werden und gettext()
für jeden zu übersetzenden String gettext()
.
<?php
// Set language to French
putenv('LC_ALL= fr_FR');
setlocale(LC_ALL, 'fr_FR');
// Specify location of translation tables for 'myPHPApp' domain
bindtextdomain("myPHPApp", "./locale");
// Select 'myPHPApp' domain
textdomain("myPHPApp");
myPHPApp.po
#: /Hello_world.php:56
msgid "Hello"
msgstr "Bonjour"
#: /Hello_world.php:242
msgid "How are you?"
msgstr "Comment allez-vous?"
gettext () lädt eine vorgegebene .po-Datei, eine .mo-Datei. welche die zu übersetzenden Strings wie oben abbildet.
Nach diesem kleinen Einrichtungscode werden Übersetzungen in der folgenden Datei gesucht:
-
./locale/fr_FR/LC_MESSAGES/myPHPApp.mo
.
Wenn Sie gettext('some string')
aufrufen und wenn 'some string'
in der .mo
Datei übersetzt wurde, wird die Übersetzung zurückgegeben. Andernfalls wird 'some string'
unübersetzt zurückgegeben.
// Print the translated version of 'Welcome to My PHP Application'
echo gettext("Welcome to My PHP Application");
// Or use the alias _() for gettext()
echo _("Have a nice day");