一直以來多語言問題都是個讓人頭疼的問題,不是這個問題有多難,而是很繁瑣,而我們目前的這個項目有點特殊,我希望最大限度的化繁為簡,以下是我解決這個問題的方案。
我們的項目有這樣兩個前提:
1、要支援多語言但最多三種語言,一般情況下就兩種語言,是以并沒有随時切換語言的要求。
2、我們希望有一種可以初期不用管語言問題,之後統一翻譯的方案
基于這麼兩點,我們提出了這樣的方案:
1、初期寫程式時不用關心多語言的翻譯工作,隻要将所有使用到中文的地方都用{}擴上
2、在資料庫中Chinese會設定為唯一限制
3、所有的翻譯工作會在BasePage中的Render方法中作
4、所有的頁面會繼承BasePage
5、翻譯時會根據目前的語言設定建構以language表中Chinese做key,相應的語言為value的字典,然後查找需要翻譯的字元串是不是在字典中,如果不在就生成這一行。
資料庫設計四個字段
ID,Chinese,English,Other
BasePage源碼
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2Zus2YvxmQkVGdjFmc052bD9CXzJ3b0F2YpRmbJdmbp5WasRXdP9CXzV2Zh1WSvwVbvNmLzd2bsJmbj5yd3d3Lc9CX6MHc0RHaiojIsJye.gif)
BasePage
這樣設計的
優點
2、省去了大量命名相應文字的工作
3、直接用中文标示要顯示到頁面的文字,容易了解
缺點
1、如果中文是一樣的翻譯,而其他語言翻譯卻不一樣時不好解決,但這種情況似乎不常見
<a href="http://files.cnblogs.com/nuaalfm/Language.rar">源碼下載下傳</a>
本文轉自 你聽海是不是在笑 部落格園部落格,原文連結:http://www.cnblogs.com/nuaalfm/archive/2009/01/19/1378599.html ,如需轉載請自行聯系原作者