2011-01-21 29 views
1

我的項目應該支持GUI(西班牙語,英語,德語等)的不同語言。我使用CodeIgniter,所以我沒有任何使用Language Class的PHP視圖的問題。我可以在PHP上加載一些以前定義的變量來創建不同語言的視圖。使用Javascript從動態內容更改語言

,問題就出現在這裏:

某些功能(他們中的很多實際)使用JavaScript:對某些項目的個性化上下文菜單,動態創建型動物的DIV等最的這個功能是動態創建的,所以我無法知道選擇的語言(我可以創建大量重複的代碼,每種語言一個,但這太冗餘了)。

我需要找到一種方法將此內容轉換爲用戶以前選擇的新語言。

例如:

用戶單擊鼠標右鍵,在快捷菜單有以下選項(創建使用JavaScript動態):

  • 再見

當用戶將頁面語言更改爲'西班牙語',上下文菜單應顯示:

  • HOLA
  • 一路平安

有什麼辦法來保存不同語言的所有名稱一些變量,然後加載到創建菜單?

對不起,大帖子。我希望每個人都可以幫助我或給我一點小費。

回答

1

當你想i18n(簡稱爲「國際化」)在服務器端語言以及客戶端Javascript中工作時,有幾種系統需要使用。

這是一個例子,我發現PHP和JavaScript:http://doc.silverstripe.org/sapphire/en/topics/i18n

我在PHP,Ruby和Python做到了這一點。總的來說,有一種方法可以完成。你創建一個文本庫。這個庫有指向那些文本的特定片段的指針。在你的代碼中,你使用該指針來引用那段文本。上面的例子爲您提供了一種在PHP中創建庫的方法,該庫可以編譯爲JavaScript代碼,您可以使用JavaScript進行調用。基本上它將文案和文本與代碼完全分開。

我希望這可以幫助你的方式。

+0

也許這是更接近我所尋找的解決方案。謝謝yopefonic,我會試試i18n。 – 2011-01-21 20:12:02

0

有什麼辦法節省一些 變量與 不同語言的所有名稱,然後加載到 創建菜單?

我假設您問您是否可以保存這些用戶偏好?

如果是將其存儲在用戶的計算機


上的cookie如果沒有這個意思,你想存儲的所有語言的變化,那麼你可以將其存儲在一個數組它可以通過javascript加載

+0

是的,這是我認爲的解決方案之一。謝謝你的提示! – 2011-01-21 20:10:14