Современные браузеры почти всегда отправляют заголовок Accept-Language содержащий все предпочитаемые пользователем языки, с их приоритетами, если не удалось определить - грузим дефолтовый язык (как правило английский)
Например мой браузер отправляет в этом заголовке значение ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 - что означает, что больше всего я предпочитаю русский (0.8), если его нет, то английский (диалект США, 0.6), в последнюю очередь (0.4) мне подойдет английский-международный