Szukaj…


Składnia

  • string gettext (string $message)

Lokalizowanie ciągów za pomocą gettext ()

GNU gettext to rozszerzenie w PHP, które musi znajdować się na php.ini :

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

Funkcje gettext implementują API NLS (Native Language Support), które można wykorzystać do internacjonalizacji aplikacji PHP.


Tłumaczenie łańcuchów można wykonać w PHP, ustawiając ustawienia regionalne, konfigurując tabele tłumaczeń i wywołując gettext() na dowolnym łańcuchu, który chcesz tłumaczyć.

<?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 () ładuje dany plik .po zgodny z post, a .mo. który mapuje twoje przyszłe przetłumaczone ciągi jak wyżej.

Po tym małym fragmencie kodu instalacyjnego będą teraz wyszukiwane tłumaczenia w następującym pliku:

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

Ilekroć wywołasz gettext('some string') , jeśli 'some string' został przetłumaczony w pliku .mo , tłumaczenie zostanie zwrócone. W przeciwnym razie 'some string' zostanie zwrócony bez tłumaczenia.

// 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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow