Поиск…


Синтаксис

  • string gettext (string $message)

Локализация строк с помощью gettext ()

GNU gettext - это расширение внутри PHP, которое должно быть включено в php.ini :

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

Функции gettext реализуют API NLS (поддержка родного языка), который можно использовать для интернационализации ваших приложений PHP.


Перевод строк можно выполнить на PHP, установив локаль, настроив таблицы перевода и вызов 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 () загружает заданный пост-выполнимый файл .po., .mo. который отображает ваши переведенные строки, как указано выше.

После этого небольшого бита кода установки теперь будут выполняться переводы в следующем файле:

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

Всякий раз, когда вы вызываете gettext('some string') , если 'some string' была переведена в .mo файл, перевод будет возвращен. В противном случае 'some string' будет возвращена непереведенной.

// 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow