まだ色々と改良したい点があるのだが、もう飛行機に乗る時間なので、とりあえず今日はここまで。横が時間軸、木の大きさがはてなブックマークの数である。ちなみに、実験に使ったフィードは、弾さんの「404 Blog Not Found」。更新の頻度と、ブクマの付き具合がとても良かったのでお借りした(フィードって借りるものか?)。
ジュンヤです。 5分でわかる PHP で書かれた Web サービスの国際化 に続いて gettext の話。 以下、英語で「Hello」、日本語で「こんにちは」と表示する簡単なプログラム hello.php です。 <?php $language = 'en'; if (ereg('ja', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) { $language = 'ja_JP'; } // Set locale and default domain. putenv("LANG=$language"); setlocale(LC_ALL, $language); $domain = 'messages'; bindtextdomain($domain, "/var/www/html/locale"); textdomain($domain); // Output e
はじめに bash-2.0 から $"..." という記法により ... をロケール依存変換することが可能になりました(NEWS より)。 この文書では、この bash-2.0 以降の $"..." 記法による bash script のメッセージの国際化(カタログ化)について 簡単に説明します。 必要なソフトウェア。 GNU bash 2.0 以降(2.02 以降が望ましい) GNU gettext 0.10.40 (おそらくこれより古くても大丈夫) スクリプトのメッセージカタログ化 これから次のシェルスクリプトを例に使っていきます。 #!/usr/bin/env bash # hello.sh -- say hello script echo hello world 実行例: $ ./hello.sh hello world $ メッセージのカタログ化 カタログ化したい文字列をダブルク
話の流れで.というか興味のある順番なのでごめんなさい. Documentation for the latest releaseとか見ながらやってみました. File_Gettextはこんなモジュールです. ・ライセンスはPHP(アーカイブ内のはPHPライセンスに見えないんだけど.「LICENSE files were confused」とか書いてるし) ・factoryパターン ・gettext関連のファイル(po,mo)からの読み込み,PHPの配列化 ・PHP配列のgettext関連のファイル(po,mo)への書き出し ・poからmoへの変換 ・メンテナー不在(ぶ ってことで基本的な使い方. 下記の手順でいわゆる「array( "message"=>"メッセージ",...);」みたいな形式に落ちてきます. ・File_Gettext::factoryでオブジェクトのインスタンス,第1引
結構自信はないわけだけど. とりあえずメモ. 間違ってるところ指摘してください(何 まずスクリプト setlocale( LC_ALL, "ja_JP.UTF-8"); bindtextdomain( "test", dirname( __FILE__)."/locales"); textdomain( "test"); $charset = _( "web-charset"); $test = _( "test"); pot作成 xgettext -c -d test -k_ *php -o locales/test.pot po作成 pushd locales for lang in `echo ??_??.*` do msgmerge -U $lang/LC_MESSAGES/test.po test.pot -o $lang/LC_MESSAGES/test.po done mo作
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く