Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 611
Abdel Raoof Olakara Avatar asked May 08 '10 08:05

Abdel Raoof Olakara


People also ask

Can multi lingual application be created in dot net?

This article explains the basic understanding of different methods of developing multilingual applications in . NET. Here the emphasis is given on handling multiple languages using resource files.


1 Answers

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...

like image 59
Muhammad Akhtar Avatar answered Oct 24 '22 05:10

Muhammad Akhtar