我正在努力升級我們的網站以使用不同的語言。最快的方式來存儲和檢索翻譯文本 - 數據庫或平面文件?
我的計劃是以多種語言存儲文本段落,並給每個段落一個標識符。
例
ID => '1'
簡短=> 'welcome_paragraph'
EN => '歡迎光臨我們的網站!'
de =>'Willkommen auf unserer Website!'
要求
- 快速檢索隨時
- 容易
- 通過CMS編輯以添加新的語言
所以是這些信息存儲在一個數據庫表中的最佳解決方案?如果是的話,以下哪些是最好的表設置:
一個表,每種語言列和行的每一個簡短:
ID, brief, en, de, es
兩個表,一個與breifs,一個帶翻譯:
ID, brief
ID, language, translation
在每一頁,我打算做....
回聲$頁面級>翻譯($語言,$短暫);
多次帶出文本的需要一塊....這將是緩慢的不斷的打電話與數據庫:每一頁上
SELECT translation FROM translations
WHERE language = 'es' AND brief = 'welcome_paragraph'
LIMIT 1
多次?因此有沒有更好的方式來將它存儲爲flatfile?或者在更新上生成的包含大量翻譯的PHP文件?
$english = array(
'message1' => 'message1',
'message2' => 'message2',
'message3' => 'message3');
$german = array(
'message1' => 'Nachricht1',
'message2' => 'Nachricht2',
'message3' => 'Nachricht3');
就像在Zend Translate page 我沒有使用Zend翻譯在這個時候考慮的例子......我認爲有它成本?
爲什麼'隨時產生'?你不希望翻譯在運行時改變,是嗎?爲什麼不只是在一個正常的靜態PHP包括? – bobince 2010-04-07 13:56:36
「我現在不考慮在這個時候使用Zend翻譯......我認爲它有成本嗎?」如果你的意思是成本,如美元,不,沒有成本。 Zend框架是免費且開源的,在BSD許可下。這就像它得到的一樣自由。 – 2010-04-07 14:10:22
我已經改變了「在飛行中」,應該更新,謝謝你指出這個問題。 – 2010-04-07 14:12:47