PHP
Lokalisering
Sök…
Syntax
string gettext (string $message)
Lokalisering av strängar med gettext ()
GNU gettext
är en förlängning inom PHP som måste inkluderas på php.ini
:
extension=php_gettext.dll #Windows extension=gettext.so #Linux
gettext
funktionerna implementerar ett NLS (Native Language Support) API som kan användas för att internationalisera dina PHP-applikationer.
Översättning av strängar kan göras i PHP genom att ställa in språk, ställa in dina översättningstabeller och ringa gettext()
på vilken sträng du vill översätta.
<?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 () laddar en given .po-fil, en .mo. som kartlägger dina sträng som ska översättas som ovan.
Efter denna lilla inställningskod letas nu efter översättningar i följande fil:
-
./locale/fr_FR/LC_MESSAGES/myPHPApp.mo
.
När du kallar gettext('some string')
, om 'some string'
har översatts i .mo
filen, kommer översättningen att returneras. Annars kommer 'some string'
att returneras oöversatt.
// 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");
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow