Ricerca…


Sintassi

  • string gettext (string $message)

Localizzare le stringhe con gettext ()

GNU gettext è un'estensione all'interno di PHP che deve essere inclusa nel php.ini :

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

Le funzioni gettext implementano un'API NLS (Native Language Support) che può essere utilizzata per internazionalizzare le tue applicazioni PHP.


La traduzione di stringhe può essere eseguita in PHP impostando le impostazioni locali, impostando le tabelle di conversione e chiamando gettext() su qualsiasi stringa che si desidera tradurre.

<?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 () carica un dato file .po post-conforme, un .mo. che mappa le tue stringhe da tradurre come sopra.

Dopo questo piccolo bit di codice di installazione, le traduzioni verranno ora cercate nel seguente file:

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

Ogni volta che chiami gettext('some string') , se 'some string' è stata tradotta nel file .mo , la traduzione verrà restituita. In caso contrario, 'some string' verrà restituita non tradotta.

// 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow