Я реализую многоязычный веб-сайт с помощью ASP.NET. Языки являются английскими, французскими и арабскими. Обратите внимание на то, что направлением арабского языка является RTL. Что лучший способ состоит в том, чтобы реализовать многоязычную поддержку. Я планирую использовать функцию локализации .NET, но тексты веб-сайта хранятся в DB. Для средств управления (формируют средства управления), я могу используемый resx файл. Я должен создать две различных страницы (один для LTR и другого для RTL)? Или у меня может быть один файл ASPx для всех этих трех языков?
Я хотел бы услышать некоторые лучшие практики в реализации подобных веб-приложений.
Заранее спасибо,
Abdel Olakara
Первый выпуск Multilingual: Просто создайте класс базовой страницы, который будет унаследован от класса 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 runat="Server" id="divPageDirection">
</div>
вам нужно изменить направление и поместить его в загрузку страницы
divPageDirection.Attributes.Add("dir", "rtl");//rtl or ltr you will decide on which language is in your current session
пожалуйста, позвольте мне знайте, если у вас возникнут какие-либо проблемы ...