Я пытаюсь разрешить пользователю устанавливать свой язык по умолчанию. Когда пользователь выбирает язык из раскрывающегося списка и нажимает "Сохранить", страница перезагружается, а cookie Google Translate обновляется, и поэтому сайт переводится на выбранный пользователем язык. В FF и IE пользователи могут установить язык с выпадающим списком, а затем изменить его на другой язык. Однако в Chrome пользователи могут установить язык в первый раз, но затем они не могут изменить его на другой язык.
Эта проблема появляется только на тестовом и бета-сайте - я могу обновить язык на своем локальном хосте.
Я тестирую версию Chrome 38.
Это код, который устанавливает Cookie в первый раз, а также обновляет его, когда пользователь нажимает кнопку "Сохранить".
public void ImplementUserPreferences(UserPreferences prefs)
{
//examples of prefs.GoogleTranslateDefaultLanguage:
// af, sq, ar, sp, is....
HttpCookie languageCookie = new HttpCookie("googtrans", "/en/" + prefs.GoogleTranslateDefaultLanguage);
AddOrSetCookie(languageCookie, "googtrans");
}
private void AddOrSetCookie(HttpCookie cookie, String cookieName)
{
if (System.Web.HttpContext.Current.Request.Cookies[cookieName] == null)
{
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
}
else
{
System.Web.HttpContext.Current.Response.Cookies.Set(cookie);
}
}