2010-06-14 47 views
3

我有一個關於Kohana的網站,我打算讓它擁有多種語言。
現在我知道有國際化文件夾,每個語言文件夾
有某種strings.php文件..
但我想一個動態的方式(對DB)內的方式,使每當我想
我可以改變的值通過網站。MySQL中國際化的建議方法?

是否有任何常用的表格模式通常用於多語言內容?

+0

雖然這是一個很好的問題,我覺得把翻譯字符串在DB會導致性能問題。 – Gogol 2016-02-05 09:19:18

回答

2

好吧,你也許可以模仿「資源」的文件在你的數據庫,

你可以有一個表工作作爲一個目錄你的字符串,有兩列,就像

Lang_Constants 
ID, Constant_Name 
1, HELLO_STRING 

另一個表與支持的語言:

Languages 
ID, Name 
1, English 
2, Spanish 

,並與實際數據的表:

ID, Language, Constant, Value 
1, 1, 1, "Hello world!" 
10, 2, 1, "Hola mundo!" 

,你可以做這樣的查詢:

SELECT Value from Lang_Constant_values where 
    Language = (Select ID from Languages where Name = 'English') 
and 
    Constant = (Select ID from Lang_Constants where Constant_Name = 'HELLO_STRING')