我正在使用ASP.Net实现一个多语言网站。语言为英语,法语和阿拉伯语。请注意,阿拉伯语的方向是RTL。实施多语言支持的最佳方式是什么?我打算使用.Net本地化功能,但网站文本存储在DB中。对于控件(表单控件),我可以使用resx文件。我是否需要构建两个不同的页面(一个用于LTR而另一个用于RTL)?或者我可以为所有三种语言都有一个ASPx文件吗?
我想听一些实现这类Web应用程序的最佳实践。
提前致谢,
阿卜杜勒·奥拉卡拉
答案 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
如果您有任何问题,请告诉我......