使用ASP.Net实现多语言网站

时间:2010-05-08 08:21:55

标签: c# asp.net html localization

我正在使用ASP.Net实现一个多语言网站。语言为英语,法语和阿拉伯语。请注意,阿拉伯语的方向是RTL。实施多语言支持的最佳方式是什么?我打算使用.Net本地化功能,但网站文本存储在DB中。对于控件(表单控件),我可以使用resx文件。我是否需要构建两个不同的页面(一个用于LTR而另一个用于RTL)?或者我可以为所有三种语言都有一个ASPx文件吗?

我想听一些实现这类Web应用程序的最佳实践。

提前致谢,
阿卜杜勒·奥拉卡拉

1 个答案:

答案 0 :(得分:3)

多语种的第一期: 只需创建一个将继承自Page类的基类,将此方法放在基页类中,并在每个aspx.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

如果您有任何问题,请告诉我......