2015-08-28 101 views
-2

我目前正在爲我正在開發的網站開發自定義PHP框架。這是一個MVC(L)框架,到目前爲止我已經完成了大部分工作。我目前正在研究URL路由,接下來我將着眼於語言版本控制。語言版本化PHP框架

我所擁有的是一個充滿數據的數據庫。每個單詞/句子都有一個id,一個關鍵字和每種語言的值。

我的網站將在幾個國家推出,因此需要擴展,對語言的數量。

所以我的問題是:在你的經驗,什麼是有一個代碼庫與多語言的最佳方法?

  1. 是它來查詢​​每個字的數據庫?
  2. 一次加載數據庫中每個頁面的所有單詞?
  3. 要創建某種類型的文件系統進行查找,以免超載數據庫。

我們在每個站點每天看着15.000訪問,具有單詞的數量可能每個頁面翻譯超過100

有沒有人有這個挑戰,並解決它。什麼是最好的方法?有沒有任何PHP庫?

最好的問候, 拉斯穆斯

+0

也許你可以採取'Symfony2'翻譯的方法一起來看看。他們正在使用文件系統,在其中爲您支持的每種語言寫下一個關鍵字=>值對。如果有人使用語言來訪問網站,那麼將在特定文件中查找密鑰,如果沒有該語言,您將回到默認密碼(英語幾乎每次都有) – KhorneHoly

+0

我把這個答案放到了一個類似的問題,而回:http://stackoverflow.com/questions/7889181/php-function-for-language-translation/7889418#7889418 - 這實際上並不使用數據庫,但這並不困難 - 但是,有非常多的多語種網站陷阱的 - 即使'gettext的()'(這是最有效的解決方案):http://php.net/manual/en/book.gettext.php – CD001

+0

這是怎麼了Laravel處理本地化,也許它會給你一些想法:http://laravel.com/docs/4.2/localization –

回答

0

對我來說,最好的辦法是將所有生成的單詞的語言的靜態文件,並在生產中使用。當然,這個靜態文件會自動生成。您也可以想象將其緩存在類似的Memcache服務器中。避免訪問數據庫。