Abdel Raoof Olakara
Abdel Raoof Olakara

Reputation: 19353

Implementing Multilingual web site using ASP.Net

I am implementing an multilingual web site using ASP.Net. The languages are English,French and Arabic. Please note that Arabic's direction is RTL. What is the best way to implement the multilingual support. I am planning to use the .Net localization feature but the website texts are stored in DB. For the controls ( form controls) , I can used resx file. Do I need to build two different pages ( one for LTR and another for RTL )? Or can I have one ASPx file for all the three languages?

I would like to hear some best practices in implementing these kind of web applications.

Thanks in advance,
Abdel Olakara

Upvotes: 6

Views: 2899

Answers (1)

Muhammad Akhtar
Muhammad Akhtar

Reputation: 52241

First Issue of Multilingual: Simply make a basepage class that will inherited from Page class, put this method in basepage class and inherit basepage class in your every aspx.cs page to acheive globalization.

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(); 
}

Second Issue of RTL and LTR: in your masterpage there is main div like..

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

you need to changed the direction and put this in your page load

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

please let me know if you any issue...

Upvotes: 3

Related Questions