Язык сайта и местоположение
не устанавливайте язык сайта, опираясь на данные о географическом положении пользователя

Пожалуйста, не устанавливайте язык сайта, полагаясь на данные о фактическом местоположении пользователя. Такое решение практически всегда является неудачным, потому что люди перемещаются: они путешествуют или отправляются в командировки, и далеко не всегда говорят на языке той страны или того места, в котором находятся.
Например, человек, который в силу обстоятельств находится в Германии, Франции или Италии, может не знать местного языка, и контент, привязанный к текущему географическому положению, будет для него тяжело воспринимаемым или, вообще, нечитаемым.
В самом плохом для пользователя случае изначально для сайта загружается язык установленный по умолчанию (обычно английский), но затем контент перезагружается уже с учетом фактического размещения пользователя.
Решение проблемы
Наилучшим и, возможно, самым простым решением данной проблемы будет использование языка, установленного для браузера или для системы в целом. Такой подход означает, что для сайта будет выбран язык, который пользователь хочет видеть и слышать в 99% случаев. Иначе, зачем ему устройство, на котором установлен такой язык. Но даже если это не так, и язык устройства не соответствует предпочтениям пользователя, он сможет сменить его самостоятельно.
Установить язык для сайта, согласно предложенному решению, очень просто. Потребуется всего одна строка на JavaScript:
var userLang = navigator.language || navigator.userLanguage;
Спасибо за внимание.