2010-05-08 93 views
6

我正在使用ASP.Net實現多語言網站。這些語言是英語,法語和阿拉伯語。請注意,阿拉伯語的方向是RTL。實施多語言支持的最佳方式是什麼?我打算使用.Net本地化功能,但網站文本存儲在數據庫中。對於控件(表單控件),我可以使用resx文件。我是否需要構建兩個不同的頁面(一個用於LTR,另一個用於RTL)?或者我可以爲這三種語言提供一個ASPx文件嗎?使用ASP.Net實現多語言網站

我想聽聽一些實現這些Web應用程序的最佳實踐。

由於提前,
阿卜杜勒Olakara

回答

3

多語言的第一個問題: 簡單地做出將從頁面類繼承的BasePage類,把這種方法在BasePage類和你的每一個ASPX繼承BasePage類.cs頁面實現全球化。

protected override void InitializeCulture() 
{ 
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US"); //'en-US' these values are may be in your session and you can use those 
    Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");//'en-US' these values are may be in your session and you can use those 
    base.InitializeCulture(); 
} 

RTL和LTR的第二個問題: 在你的母版有主DIV如..

<div runat="Server" id="divPageDirection"> 
</div> 

你需要改變方向,把這個在您的網頁加載

divPageDirection.Attributes.Add("dir", "rtl");//rtl or ltr you will decide on which language is in your current session 

如果您有任何問題,請讓我知道...

+1

我可能會去加載一個不同的阿拉伯樣式表。您可能需要調整其他各種佈局。 – Thorarin 2010-05-08 09:31:48

+0

@Thorarin ...是的,你是對的..我需要加載另一個CSS文件... – 2010-05-11 07:21:30

+0

我同意這個答案..但我的問題是..我在哪裏存儲阿拉伯文,法文和英文文本?我的意思是,最好的方法是什麼? – 2010-05-11 07:22:46