2009-07-20 4 views
0

mutli -langサイトの言語翻訳を実装する最良の方法はどれですか。私は2つのメソッドを持っている 、すなわちどのように私は言語翻訳モジュールをPHPで実装できます

1)だけで、データベース駆動型のプログラミングスタイル

$translation('register_form'); 
<form > 
<input name="search" > 
</form> 

transltionのいくつかの並べ替え、すなわち、データベースにページ内のすべての静的なテキストの内容を置きます。

2)は、wordpress .moファイルのような方法です。

私はそれがファイル...

または翻訳モジュールを作るために、他のより良い方法のような.moでどのように機能するか、翻訳のようなものについての詳細を知りたいです。

答えて

1

.moファイルのサポートについては、gettextの機能をチェックし、元のGNU gettext documentationをご覧ください。すべてのソースがこれをやっているしたら、あなたが呼び出しに_()(gettextの別名)

echo _("Hello world"); 

にラップ一言で言えば

、あなたは自然言語を使用して、いつでも、にGNUにxgettextツールを実行build a .pot fileは、あなたの言語翻訳のための「テンプレート」を形成します。それぞれの言語に対して、merge this .pot file into an individual .po file for each languageとなります。 xgettextによって提供されるマージ操作は、既存の翻訳を失うことなく、新しい文字列でファイルを更新することを保証します。

これらの.poファイルは、poeditのようなツールを使用して翻訳を提供する翻訳者に送信されます。 .poファイルが返ってきたら、gettextで使用されるバイナリの.moファイルを生成することができます。

さらに、これ以上の機能を提供するclasses in the Zend Frameworkもあります。より多くのファイル形式、およびHTTPヘッダーでのユーザーの優先言語の検出と選択が含まれます。

0

gettextを参照してください - それは皆の問題の完璧な解決策ではありませんが、あなたのためかもしれません。

関連する問題