2008-10-01 68 views
3

我相信我們幾個已經工作在這裏不僅有UI,而且數據要在不同的語言支持的一個項目。例如 - 能夠爲我在這裏寫的內容提供和存儲翻譯。如何實現一個多元文化的web應用程序

更重要的是,我也相信我們中的一些人有一些時間觸發的事件(例如何時到期的成員資格訪問),其中應該考慮用戶位置來計算,如根據正確時區的午夜計算。

最後有也支持從右到左的用戶界面讀取提交的數據文件時accoring某些語言和使用diferent編碼的我存儲的需要(解析文本和Excel數據,例如)

目前我爲我在一個表上的所有實體的所有翻譯(並非如此之實踐,因爲它是很難發現自己做的SQL查詢尋找到一個問題的時候),主要設置在衛星組件UI翻譯,不支持也不時區,也沒有權利左設計。

這些挑戰打交道時,你有什麼經驗?

[編輯]

我認爲大多數人認爲這種程度的多元文化需求就像建立一個龐大的工程。作爲事實上,如果你tihnk哪裏的網上調查:

  1. 答案將只收集到 午夜
  2. 問卷定義和 部分的答案來自一個文本文件 (任何語言)作爲以及 翻譯
  3. 問題和應對方案必須 顯示多國語言,按照誰正在訪問
  4. 的報告也顯示,以及在幾個不同的 語言

正如人們所看到產生,我們不必太去遠在應用程序中有這樣的要求。

[EDIT2]

剛剛發現我的問題是重複的

i18n in your projects

第一個答案(通過投票訂貨時說明)是如此compreheensive我必須得到至少它的一部分有一天實施。

回答

3

非常非常謹慎。從你所說的關於你試圖實現的i18n功能的角度來看,我想知道你是否過於深入。

請注意,大男孩(例如eBay,amazon.com,雅虎,bbc)網絡應用程序實際上以他們想要支持的每種語言提供單獨的應用程序。這些Web應用程序中的每一個都使用一組通用的核心服務。如果兩個不同國家(即使使用相同的語言)(例如英國&美國)的業務需求不同,您不需要感到驚訝,但您確實需要爲每個應用單獨使用一個應用。

另一方面,你可能需要變得像下一個amazon.com。用一種語言交付成功的Web應用程序很困難,而且很少。如果這對您的Web應用程序的業務需求是有意義的,那麼您不應該害怕將一個用戶羣體(比如說您的亞洲語言人羣)傾訴給其他用戶。

2

慢行。

覺得一切都通過,再仔細想想你又在做什麼。請記住,您添加得越多(如右至左),您的QA週期就越長。

1

主要一塊您的難題將在代碼方面廣泛使用的接口,並且或者語言需要一個被通過翻譯傳遞的一個數據源取其獲得支撐,或爲每種語言獨立的數據來源。

時間問題可以由接口來處理,因爲大概你會希望事物以相同的方式運行,但在實現細節上有所不同。在很大程度上,在調整界面以支持不同的語言時,可以將類似的思考過程應用於界面的創建。當你仔細研究它時,皮膚就是這樣,皮膚的內容就是界面,而外觀/感覺就是實現。

1

做你的用戶需要。例如,大多數程序員都懂英語,翻譯這個網站上的帖子是沒有意義的。如果您的許多用戶需要翻譯,請添加一個包含語言ID的新表格列,以及另一列將翻譯後的行鏈接到其原始內容。如果您的目標聽覺包含來自中東的用戶,請執行從右至左。如果時間精度至關重要一小時,則將時區列添加到用戶表中,依此類推。

1

如果您使用* NIX,請使用gettext。我使用的大多數語言都有一定程度的支持;例如,PHP's是相當不錯的。

0

我將描述什麼在我的項目已經完成(這不是我原來的架構,但我喜歡它,反正)

提供翻譯支持

文本需要被翻譯已經分爲三個不同的類別:

  1. 錯誤文本:它發生在應用業務層
  2. UI文本低沉,像錯誤:用戶界面中顯示的文本(標籤,按鈕,網格標題,菜單)
  3. 用戶定義的文本:需要根據最終用戶的偏好進行翻譯的文本(即 - 用戶在調查中創建問題而且他還可以創建調查的翻譯版本)

對於每一個不同的cathegory用於提供翻譯服務的架構是不同的 - 使我們有:

  1. 錯誤文本:與靜態庫訪問資源文件的功能
  2. UI文本:鏈接到視圖引擎的「助手」類提供遠程程序集的翻譯
  3. 用戶定義的文本:數據庫中提供翻譯(根據翻譯的實體和對象ID的typeID)的表通過1×N關係鏈接到實體

但是,我還沒有攻擊其他明顯的問題,例如處理時區,不同的佈局和圖片翻譯(如果真的有必要)。有沒有人以不同的方式解決這個問題?

有沒有人解決過其他國際性問題?

相關問題