4

用戶從英語選擇一種新的語言爲德語。目前該頁面必須每次刷新才能將文本更改爲所選語言。這對IE來說很好,但在Firefox上它總是要求用戶和不好的用戶體驗。此外,如果用戶正在鍵入內容,則必須刷新文本全部消失。那麼是否可以在不刷新的情況下加載新的語言文本?由於這是用戶內容網站,因此每頁有大量內容。 後端是MySQL codeigniter & MySQL。沒有頁面刷新的多語言更改?

+0

它在Firefox中究竟要求什麼?至於失去用戶數據...也許你擔心得太多?究竟有多少人會開始寫點什麼,並決定在中途改變頁面語言? – 2010-09-16 17:41:43

+0

用戶在哪裏更改語言?在你的應用程序?在他們的OS? – 2010-09-16 17:43:56

+0

我不敢相信有這樣的用戶會在寫作過程中點擊鏈接。在輸入這個問題時你是否點擊過任何按鈕? – 2010-09-16 19:01:25

回答

0

我假設通過改變語言,你的意思是你有一個下拉或在你的web應用程序,讓用戶選擇一種語言的東西。如果是這樣的...你使用類似jQuery的東西嗎?您可以爲每個具有顯示文本的跨度/元素分配一個樣式,並且在語言發生更改時,使用該樣式循環所有跨度,並更新顯示的內容 - 通過ajax調用加載新的顯示文本。這與多少桌面應用程序處理翻譯非常相似。

2

通常你在瀏覽時只使用一種語言,所以當你的用戶選擇一種語言時,你只需要找到一種方法來記住它。

即使這是一個「不好的用戶體驗」,它總是會比擁有大量的javascript更好,所有的語言環境都會隨着javascript而改變。

我不認爲這是不可能的,但只是想一想,它真的值得嗎?

2

看起來這將是一個更簡單的流程來實現:

  1. 用戶開始輸入的東西,實現他們在錯誤的語言環境下打字。
  2. 用戶選擇不同的語言。
  3. 應用程序存儲用戶使用任何最適合您的方法輸入的內容,即MySQL,會話,cookie,等等。
  4. 頁面正常刷新時顯示正確的語言環境和內容。
  5. 恢復用戶正在輸入的內容。

通過Ajax更改語言當然是可以的,但正如其他人所說的那樣,實現它可能比它的價值更多的工作。