Пока я начитал два варианта:
Какой из них наиболее правильный. И какой наиболее предпочтительней использовать в GraphQL-сервере. Или может быть, есть еще какие-то варианты?
В клиентской части веб-приложения, можно использовать navigator.language - передавая его значение (или слайс из первых двух символов) с HTTP-запросом, например как часть URI эндпоинта.
console.log(window.navigator.language);
console.log(window.navigator.language.slice(0, 2));
Заголовок Accept-Language может содержать несколько предпочтительных языков - тогда как navigator.language возвращает только один язык (программы-юзерагента)... и очень вероятно, что это именно тот язык, который наиболее предпочтителен для клиента.
Передача идентификатора языка в запросе (вместо извлечения из заголовка на сервере) позволяет пользователям API более удобно переопределять этот параметр.
Ну а примерным аналогом Accept-Language, на стороне клиента является navigator.languages (с 's' на конце).
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости