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
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.
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...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With