Есть ли способ уведомить браузер об изменении текущего языка?

#javascript #html #google-chrome

Вопрос:

В SPA, который изначально загружается, <html lang="fr"> когда пользователь меняет язык на английский, chrome, например, по-прежнему предлагает пользователю перевести веб-сайт с французского на язык его операционной системы, даже если атрибут lang был обновлен:

document.documentElement.setAttribute('lang', 'en');

Поэтому мне интересно, есть ли другой способ изменить рабочий язык веб-сайта или сообщить браузеру, что текущий язык веб-сайта изменился.

Комментарии:

1. Возможно, вы могли бы сохранить язык в локальном хранилище и перезагрузить браузер. Возможно, вам потребуется, чтобы ваш HTML изначально не имел языкового набора, и всегда устанавливайте это в JS. ps. Я не тестировал этот подход, но у меня такое чувство, что Chrome, возможно, блокирует язык при первом его просмотре, а последующие изменения, возможно, игнорируются. Другой вариант, если у вас есть выбор языка,- это, возможно, отключить его — > <html translate="no">

2. если вы не закодируете язык lang, я считаю, что информация о языке lang должна отправляться в последующих http-запросах в качестве заголовка на языке принятия. поможет ли это выявить изменения.