Zoeken…


Syntaxis

  • string gettext (string $message)

Tekenreeksen lokaliseren met gettext ()

GNU gettext is een extensie binnen PHP die moet worden opgenomen in php.ini :

extension=php_gettext.dll #Windows
extension=gettext.so #Linux

De gettext functies implementeren een NLS (Native Language Support) API die kan worden gebruikt om uw PHP-applicaties te internationaliseren.


Het vertalen van strings kan worden gedaan in PHP door de locale in te stellen, je vertalingstabellen in te stellen en gettext() aan te roepen op elke string die je wilt vertalen.

<?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 () laadt een bepaald post-conform .po-bestand, een .mo. die uw te vertalen strings in kaart brengt zoals hierboven.

Na dit kleine stukje installatiecode worden nu vertalingen gezocht in het volgende bestand:

  • ./locale/fr_FR/LC_MESSAGES/myPHPApp.mo .

Wanneer u gettext('some string') .mo , en als 'some string' in het .mo bestand is vertaald, wordt de vertaling geretourneerd. Anders wordt 'some string' onvertaald geretourneerd.

// 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow