BBfriendブログ

PHP の gettext を調べる

このサイトで採用してるCMSimple_XHは未だ配列形式の翻訳なので po,mo形式のgettextを調べました

PHPでgettxライブラリ

PHPでgettxtを と思ったのですがいろいろと種類がありそう.

  https://github.com/smmoosavi/php-gettext
 https://weblate.org/ja/ 
  https://github.com/WeblateOrg/weblate これ?


 ライブラリとして、使用するなら、oscarotero/Gettext か使いこなされるWordpressの I10n.php周辺の流用でしょうか。


取りあえず標準のgettext でのサンプル

<?php
//header('Content-Type: text/html; charset=UTF-8');
//日本人がこのページを見たときは日本語で、それ以外は英語で表示するには、以下のように環境変数 HTTP_ACCEPT_LANGUAGE を見て日本語(ja)があれば $language に ja_JP をセットします。

$language = 'en';
if (ereg('ja', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
    $language = 'ja_JP';
}
//echo $_SERVER['HTTP_ACCEPT_LANGUAGE'] .' : ' .$language .'    あいうえお<hr>';

// Set locale and default domain.
putenv("LANG=$language");
setlocale(LC_ALL, $language);
$domain = 'messages';
bindtextdomain($domain, "./locale");
bind_textdomain_codeset('messages', 'UTF-8');
textdomain($domain);

// Output
echo gettext("Hello");
echo '<hr>';
echo _("Hello");
?>

参考になりそうなサイト

http://hetarena.com/archives/1620

コメント