2012-01-21 18 views
-1

私はここで簡単な質問があります。どのように私はPHPを使用して多言語のウェブサイトを構築するのですか?phpで多言語ウェブサイトを作成

私はそうする必要があるツールは何ですか?

また、フレームワーク(cakePHPやsymfonyなど)を使って自分のWebサイトを構築しようとしている場合、これらのフレームワークにはこれを行うための機能がありますか?

私に最高と最も簡単で簡単な解決策を教えてください。事前

+0

SymfonyとZend Framweworkの両方にi18n/i10n機能/コンポーネントがあります。私はケーキとCIが100%ではなかったと思った。 – prodigitalson

+0

これらのフレームワークでローカリゼーション機能がサポートされているかどうか確認してみましたか?これを行う方法をコミュニティに尋ねるのではなく、おそらく最初にやるべきことがあります。私はかなりGoogleとスタックオーバーフローでヒットがたくさんあると確信しています。クイック検索では、多くの人がgettextを使用していることがわかります。 http://stackoverflow.com/questions/2790952/php-localization-best-practices-gettext – tjarratt

+0

答えは「はい」です。 – deceze

答えて

0

おかげで私はあなたにCodeIgniterをお勧めします。 これは、あなたが探しているものを達成するための非常にシンプルで使いやすいツールをいくつか持っています。

Example implementation

3

多言語ウェブサイトを構築する場合は、gettextの実装を使用することをお勧めします。 PHPはこれを持っており、CakePHPのようなほとんどのフレームワークはこれをサポートしています(検索するキーワードは国際化の略です)

PHPでは、この関数は__()にエイリアスされていますあなたの文字列は次のようになりますように:

<?php 
echo __('Hello world'); 
?> 

をあなたはその後、彼らの翻訳と一緒にこれらの文字列を格納し、いわゆる.poファイルを生成する必要があるの.poファイルの例のエントリは、この

msgid "Hello world" 
msgstr "Ola mundo" 
のように見えます。

あなたのアプリケーションは正しい言語の正しい.poファイルをロードする必要があります。これを行うためにCakePHPにはa nice manualがありますが、他のフレームワークにもこれが組み込まれています。

+1

PHPで明示するために、エイリアスは '_()'で、CakePHPでは '__()'です。 –

関連する問題