2011-02-09 83 views
1

我們正在重寫我們web服務的jQuery代碼,我們正在考慮更好的方式來組織它。我們一直在閱讀幾個SO問題,文章等。這是第一種方法,但我們很樂意收到反饋。如何更好地構建多語言Javascript代碼?

我們將爲頁面的每個對象(地點,用戶等)設置一個類。我們計劃使用Low ProArticle),所以我們將所有的代碼放在一個地方。

但是有一些變量需要從PHP(user.id,user.name等)傳遞。我們認爲最好的方法是打印一個json並將它傳遞給一個普通的類。

var array = { 
    'key1' => 'value', 
    'key2' => 'value', 
    'key3' => 'value', 
}; 
var te = new TE(array); 

TE.js將在那裏分配變量,以便其他類可以使用它們。由於我們有多語種網站,因此我們需要以多種語言發佈消息。我們會做類似Multilingual alert messages in JavaScript的回答

你覺得怎麼樣?有沒有更好的方法來加載初始數組?任何其他建議或文章?

謝謝!

回答

0

我們終於使用Classy.js有類。我們已經構建了我們自己的主類,該類將body標記的data-params屬性上的我們打印的參數加載爲json。

我們有Tom和Shan建議的兩個不同字段上的js類的翻譯字符串。

0

您鏈接的方法會爲客戶帶來更大的帶寬佔用空間。如果您打算擁有數千個關鍵值對和許多不同的語言,請考慮只將英文鍵/值對流式傳輸到客戶端,或將法式鍵/值對流式傳輸到客戶端。

+0

確切地說,只有一種語言進入客戶端(我們可能有大約300個關鍵字/值爲JS) – fesja 2011-02-09 18:28:25

+0

而且使用這種方法並不是很大的努力。 – 2011-02-09 18:54:51

1

我會將所有翻譯的單詞存儲在單獨的JS中,以便它們可以被客戶端緩存,並且您不會遭受重複的數據(IE,多個JQuery類可以引用同一個詞的相同索引)。