2012-02-06 6 views
1

PHP/MySQLのウェブサイトをローカライズするためのガイドラインや最新の方法はありますか?PHP/MySQLウェブサイトのインターフェースをどのようにローカライズする必要がありますか?

ここでの考え方は、ボタン、ページタイトル、メッセージを翻訳することです。インストール時にウェブサイトの言語が選択されるため、変更しないでください。

翻訳のキーワードリストを含むテキストファイルを作成し始めましたが、ホイールを再発明するように感じました。

ありがとうございました。

答えて

0

その間、私は配列テキストファイルを構築する効率的な方法について知りました。

私はテキストアイテムを翻訳したいところはどこでも、それをカプセル化するために、PHP gettext()のエイリアス化された_()を使用します。

次に、poeditと私のすべてのPHPファイルを解析し、自動的に翻訳を作成します。

私の生成の.po(人間が読める)と.moの(コンパイル)ローカライズファイルを入れています

$locale = 'en_EN'; 
putenv("LC_ALL=".$locale); 
setlocale(LC_ALL, $locale); 
bindtextdomain("messages", "locale"); 
textdomain("messages"); 

PROS:

locale/en_EN/LC_MESSAGES 

私は、このコードで私の翻訳アプリケーションを初期化します

  • このように、私はさまざまなテキスト項目を追跡する必要はなく、 ne翻訳は非プログラマが行うことができます。
  • 出力.poファイルも、その形式ではかなり標準的なようです。
  • .poファイルは、プロジェクトで翻訳するすべてのテキストを参照します。
  • 何らかの理由で.po変換ファイルにアクセスできない場合は、gettext関数によって基本テキストが表示されます。
2

私は一度それをやった、私は別の言語の別のファイルを追加しました。
ファイルが含まれていない場合はそのファイルをインクルードし、デフォルト(英語)ファイルを含めます。
そして、そのファイルに配列、

$array_language['welcome_msg'] = 'You are welcome'; 

ですから、その配列は、それがデフォルトの英語のファイルが表示されます、他の関連するメッセージが表示されます含まれますファイルを定義します。

+0

ありがとうございました!これは基本的に私がやっていたことです。しかし、私はWordpressでコードを勉強しようとしました(ローカライズされたバージョンをインストールして、それをその言語で残すという点で私のプロジェクトに近いです)。そして、私は彼らがこのようにしなかったことを知りました。私は彼らがそれをどのように働かせたかを正確には知りませんでした。 – Asimov4

+0

あなたはそれをデータベースで行うことができますが、それは複雑でメンテナンスはより多くなります。 WordPressはすべてをdbに保存します。 – Debugger

+0

PHP配列の翻訳を編集するための簡単なWebインターフェイス、Transtableを試すことができます。 http://code.google.com/p/transtable – user570605

関連する問題