![](/images/common/spacer.gif) |
![Webアプリケーションの国際化](/images/books/common/70X90_php_pg_mag7.jpg)
|
PHPコードを利用してWebアプリケーションを国際化する |
第6回:Webアプリケーションをローカル化するgettext関数 〜 その2
著者:Carl McDade 2006/6/20
|
|
|
1 2 次のページ
|
![](/images/common/spacer.gif) |
データベースの利用
|
一見すると、データベースを使って、翻訳されたテキストを保存することはとても簡単な方法に感じられます。実際、著者がWebサイトの翻訳を行う時、Mambo CMSのMambel.shコンポーネントを使って楽に翻訳することができました。他のテクニックに欠けているもの、すなわち「秩序」がデータベースにはあります。
リレーショナル・データベース・システムは情報の関連付けに力を発揮するように作られており、情報の関連性を用いることで、より利用しやすい情報を提供します。
|
データベースを使うことの欠点
|
Webアプリケーションを国際化する時、翻訳されたリソースを配布することは非常に重要です。製品のエンド・ユーザが翻訳済みの製品を得ることができるよう、それぞれのシステムは適切な場所に存在しなければなりません。
現在に至るまで、筆者はSQLスクリプトやネイティブ・データベースの形式で、ローカル化されたリソースを提供するコマーシャルやオープンソース製品を見たことがありません。従来では、その製品の各エンド・ユーザによる翻訳が繰り返し行われています。この欠点を補うために、データベースを使った国際化と他のテクニックが組み合わされることがよくあります。
筆者はWebサイトの設定の際、自分の翻訳を再利用しようとしたり、知らない言語から一言拝借しようとした時に、はじめてこの問題に直面しました。誰しも目新しいことのない単純な反復作業はやりたくありません。
著者はこの問題を解決するために、Joomlaで使用されているMambel.shや他のオープンソースCMSプロジェクトのMySQL用翻訳テーブルを利用しようと考えました。しかし、MamboやJoomla CMSフォーラムのデータベースから出力しようとすると、より失敗しやすいことがわかりました。
データベース内に情報を保存するには多少の不確実性が常に付きまとうので、バックアップを取ることは非常に重要になります。あるデータベース・サーバから他のデータベースへと情報を転送する際、バグが発生したりデータが破損したりすることはよくあります。
データの移動後にエンコーディングが正しいかどうかを判断することはできません。サーバの設定が同じ場合であっても、まったく機能しないこともあるでしょう。
|
1 2 次のページ
|
書籍紹介
PHPプログラマーズマガジン
PHPプログラマーズマガジンは、PDF形式で読者の方にお届けするPHP言語(PHP: Hypertext Processor)専門誌です。 カナダMTA出版のphp|architect誌を日本語に翻訳し、独自の記事を加えて月刊でお届けしています。
発行:アシアル株式会社 価格:1,029円
ご購入はこちら http://www.asial.co.jp/magazine/
|
|
![Carl McDade](/images/common/tyosya.gif)
|
著者プロフィール
Carl McDade
スェーデンに住むフリーランスのWeb開発者、兼プログラマー。Microsoftデータベース管理者の資格を持っており、1997年からWeb開発を行っています。開発期間のほとんどをドキュメント作成、コード作成、PHPコンテンツ管理システムの勉強に費やしています。Webサイト(http://www.hivemindz.com)で彼とコンタクトをとることができます。
|
|
|
|