Buscar..


Sintaxis

  • string gettext (string $message)

Localizando cadenas con gettext ()

GNU gettext es una extensión dentro de PHP que debe incluirse en php.ini :

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

Las funciones gettext implementan una API NLS (Native Language Support) que puede utilizarse para internacionalizar sus aplicaciones PHP.


Las cadenas de traducción se pueden hacer en PHP configurando la configuración regional, configurando las tablas de traducción y llamando a gettext() en cualquier cadena que desee traducir.

<?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 () carga un archivo .po post-compilado dado, un .mo. que mapea tus cadenas traducidas como las anteriores.

Después de este pequeño código de configuración, las traducciones se buscarán en el siguiente archivo:

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

Siempre que llame a gettext('some string') , si 'some string' se ha traducido en el archivo .mo , se devolverá la traducción. De lo contrario, 'some string' se devolverá sin traducir.

// 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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow