Здесь.
ОБНОВЛЕНИЕ: Вы выполняете это на своей главной странице, поэтому base.UICulture изменился на Page.UICulture.
Также, пожалуйста, не используйте здесь Page_Load просто образцово. На самом деле, этот ответ показывает, как вы можете прочитать заголовок accept-language. Вы должны адаптировать его к своему контексту. Вопрос: Что происходит, когда клиент нажимает одну из кнопок в вашем вопросе? Что бы вы там ни делали, делайте в этом коде также вместо установки UICulture.
Для русского языка, ru-RU и ru;
Для арабского c (их много), но просто ar-AE или ar
protected void Page_Load(object sender, EventArgs e)
{
string acceptLangaugeHeader = Request.Headers["accept-language"];
if (acceptLangaugeHeader != null)
{
string[] acceptedLangauges = acceptLangaugeHeader.Split(',');
foreach (string acceptedLanguageWithQuality in acceptedLangauges)
{
string acceptedLanguage = acceptedLanguageWithQuality.Split(';')[0];
// Check here if it is one of the languages you support:
switch (acceptedLanguage)
{
case "en-US":
case "en":
Page.UICulture = CultureInfo.GetCultureInfo("en-US");
break;
// DO THE SAME FOR OTHER LANGUAGES
case "tr-TR":
case "tr":
default:
Page.UICulture = CultureInfo.GetCultureInfo("tr-TR");
break;
}
}
}
else
{
Page.UICulture = CultureInfo.GetCultureInfo("tr-TR");
}
}