PHP
ローカリゼーション
サーチ…
構文
string gettext (string $message)
gettext()で文字列をローカライズする
GNU gettext
はphp.ini
インクルードされなければならないPHP内の拡張gettext
です:
extension=php_gettext.dll #Windows extension=gettext.so #Linux
gettext
関数は、PHPアプリケーションを国際化するために使用できるNLS(Native Language Support)APIを実装しています。
文字列を翻訳するには、ロケールを設定し、翻訳テーブルを設定し、翻訳したい文字列にgettext()
を呼び出すことで、PHPで行うことができます。
<?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