** phpLang.inc.php [#cc791438]
|RIGHT:100|LEFT:360|c
|~サマリ|コンテンツの国際化を補助|
|~リビジョン|1.0|
|~対応バージョン|1.4.6_alpha|
|~投稿者|[[asari]]|
|~投稿日|&new{2005-09-15 (木) 08:17:12};|
[[phpLang:http://www.phpheaven.net/projects/phplang/]] を PukiWiki 向けにカスタマイズしました。簡単な多国語サイトの構築の助けになればと思います。

Webブラウザの送る ACCEPT_LANGUAGE という HTTP リクエストヘッダを解釈して、各国語のコンテンツにリダイレクトします。 Cookie と Javascript が有効になっていると、言語環境を記憶してよきにはからいます。たぶん。

***ライセンス [#t41e535b]
[[phpLang:http://www.phpheaven.net/projects/phplang/]] を [[Fink:http://fink.sourceforge.net/]] が改変したものをさらに改変したものですので、 GPL に従って配布されます。
また、国旗アイコンに関しては、GPLに従って [[Fink:http://fink.sourceforge.net/]] の Web サイトから流用しても問題ないと考えられます。

***ダウンロード [#k37bffa1]
[[スクリプト:http://fink.sodan.ecc.u-tokyo.ac.jp/~asari/phpLang.inc.php.zip]] と [[国旗:http://cvs.sourceforge.net/viewcvs.py/fink/web/flags/]] をダウンロードしてください。

***インストール [#ybcdd36b]
phpLang.inc.php を plugin フォルダに、 flags データを skin フォルダに、それぞれコピーしてください。

***使用法 [#u781a42c]
 #phpLang
ページ名が「.en」や「.ja」などで終わっていない場合、
ブラウザの言語設定とサーバーに存在するページに応じて
「(自分のページ名).en」や「(自分のページ名).ja」などのページにリダイレクトされます。

ページ名が「.en」や「.ja」などで終わっている場合、
自分のページの他の言語版が他にないか判断され、ページ右上にリンクが置かれます。

***使用例 [#we1a5e1e]
たとえば、日本語のページ FrontPage をアラビア語化したいなら…
+PukiWiki を [[UTF-8化する>dev:PukiWiki/1.4/UTF-8化]]。
+国際化したいページ FrontPage を FrontPage.ja と FrontPage.ar にコピーする。
+ページ FrontPage を編集し、内容をばっさり消して #phpLang のみにする。
+ページ FrontPage.ja と FrontPage.ar の内容の行頭に #phpLang と付け加える。
+ページ FrontPage.ar を編集し、ちゃんとアラビア語に翻訳する。

ページ FrontPage は問答無用でリダイレクトされるページになります (編集やプレビューがちょっとしにくくなってしまいます)。~
画面右上に登場する国旗をクリックすると、その言語のページに移動します。~
Javascript と Cookie を有効にすると、明示的に選んだ国旗を覚えていてくれます。~
今回の実装では、実質的にページ名には英語を使うしかないかもしれません。。

ばしばしテストして、修正しちゃってください。

***サンプルサイト [#f436927a]
実際の動作を下のページでテストしています。~
http://fink.sodan.ecc.u-tokyo.ac.jp/manta/
%%http://fink.sodan.ecc.u-tokyo.ac.jp/manta/ %%

***関連ページ [#oc3393a4]
-[[dev:PukiWiki/1.4/UTF-8化]]
-[[dev:PukiWiki/国際化]]

***コメント [#re088f0d]
- 私のUNIXサーバでは「phpLang」を「phplang」に変更しないと動きませんでした。 --  &new{2007-03-16 (金) 11:38:24};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.073 sec.

SourceForge