2012-03-01 5 views
0

私のアプリケーションでZend translateを使用しています。これはほとんどの場合に有効ですが、データベースに格納された値がユーザーインターフェイスに表示される場合はどうすればよいですか。例えば。ユーザは選択ボックスから色を選択しなければならない。選択ボックスがデータベースから読み込まれます。私は、例えば、スペイン人のユーザーが '赤'の代わりに 'ロホ'を見たいと思っています。ZendとDoctrineを使用した多言語データベースアプリケーション

これを実現する方法はありますか?

私の最初の考えは、色と呼ばれるテーブルは、colourtranslationsと呼ばれる別のテーブルと1対多の関係を持つことができるということでした。 colourtranslationsの各行には、色tbl、ロケール、および変換の参照行が含まれます。私は、指定されたロケールの変換された値のリストを作成するメソッドを作成しなければなりません(元の値にフォールバックします)。これは実行可能なアプローチですか?長所?短所?

答えて

0

あなたは自分の選択に色のIDを使用する必要があります。

<select name="colors"> 
    <option value="1">Red</option> 
    <option value="2">Green</option> 
    <option value="3">Blue</option> 
</select> 

これはあなただけではない情報がサーバーに渡され、ユーザーに表示されるラベルを翻訳することができます。

+0

答えをありがとう。この方法の問題は、ユーザーが見た色の値がdbから引き出されないことです。私はかなり遅く私の質問に答える次のポスト(遅すぎる)を見つけた:http://stackoverflow.com/questions/4057386/multilingual-site-in-zend-framework/4057564#4057564しかし、私はあなたの答えをこのように受け入れるスレッドは他の人に役立つ – dimbo

関連する問題