2012-03-01 129 views
0

我在我的應用程序中使用Zend翻譯。這適用於大多數情況,但在數據庫存儲值將在用戶界面中看到的情況下,我該怎麼做。例如。用戶必須從選擇框中選擇一種顏色。選擇框從數據庫填充。例如,我想讓西班牙用戶看到'rojo'而不是'red'。使用Zend和Doctrine的多語言數據庫應用程序

是否有公認的方法來實現這一目標?

我最初的想法是(說話關係明智)一個名爲顏色的表可能與另一個名爲colourtranslations的表有一對多的關係。 colourtranslations中的每一行將包含顏色tbl中的一行引用,語言環境和翻譯。然後,我必須創建一個方法,爲給定的語言環境創建一個已翻譯值列表(回退到原始值)。這是一種可行的方法嗎?優點?缺點?

回答

0

你應該只使用您選擇顏色的ID:

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

這將只允許您翻譯的標籤,用戶將看到,沒有傳遞到服務器的信息。

+0

感謝您的回答。這種方法的問題是,用戶看到的顏色值不是從數據庫中提取的。我發現下面的帖子(太晚了),這幾乎可以回答我的問題:http://stackoverflow.com/questions/4057386/multilingual-site-in-zend-framework/4057564#4057564但我會接受你的答案,以便這線程可以幫助別人 – dimbo 2012-03-01 21:59:46