Если вы всё ещё используете IP-геолокацию для выбора отображаемого языка, то хватит заниматься ерундой. Это ошибочное допущение, замаскированное под фичу.

IP сообщает, откуда пришёл запрос, и на этом всё. Он не сообщает, какой язык нужен пользователю, на каком языке он говорит и какой язык понимает. Подобная система постоянно ломается: VPN, путешествия, эмиграция, страны с несколькими официальными языками. Это не умное, а раздражающее решение.
Страна — это не язык
Невозможно вывести полные соответствия. В Бельгии три официальных языка, в Швейцарии — четыре, в Индии — 22, Канада официально двуязычна, а неофициально — многоязычна. Пользователи могут жить в этих странах, путешествовать по ним или вообще никак не быть связанными с ними, за исключением маршрутизации трафика. Зачем же вы принудительно включаете UI на одном языке просто из-за того, что какая-то база данных GeoIP сообщила вам, к какой стране относится IP?
Вы делаете допущения на основе плохих данных, это не продуманная разработка, а лень, замаскированная под UX.
Нет, ни один из крупных веб-сайтов, которые делают так, не реализует это правильно. У нас не карго-культ. Делайте правильно или не делайте вовсе.
Лично я активно пользуюсь VPN, и каждый раз, когда захожу в Google со включенным VPN, то не могу ничего понять, потому что из-за ротации IP моего сервиса VPN используется какой-то произвольный язык.
У вас уже есть нужный инструмент
Каждый браузер отправляет заголовок Accept-Language
. Он сообщает, какой язык предпочитает пользователь: не на основании его местоположения, не на основании его IP, а на основании его конфигурации операционной системы или браузера. И да, пользователи могут менять эту настройку, если им это важно.
Это выглядит так: Accept-Language: en-US,en;q=0.9,de;q=0.8
Это ваш сигнал, используйте его. Он точный и не требует каких-то лишних трудозатрат, он уже существует, не связан никакими лицензиями, не заставляет вас гадать и не просит поддержки.
Вы не меняете разрешение экрана и цветовую схему на основе собственных догадок, так зачем поступать так с языком?
Так почему же вы не слушаете?
Вы отображаете английский французу в Германии, вы показываете голландский жителю Брюсселя, говорящему на французском, вы включаете китайский для человека с гонконгским VPN, не понимающим на нём ни слова. Пользователей это бесит, кто-то из них уходит, кто-то копается в UI, чтобы исправить устроенный вами бардак.
И всё это потому, что вы предпочли пользоваться какой-то непонятной базой IP вместо заголовка самого браузера.
Вот единственный разумный подход
Считайте
Accept-Language
Учтите его
Позвольте пользователю при необходимости менять язык (и запоминайте этот выбор при помощи куки или параметра URL)
Если вы хотите использовать GeoIP, пользуйтесь им, но только для валюты, расчёта стоимости доставки и юридической информации, и никогда для языка
Ваше ПО предназначено для живых людей, вы не имеете права гадать, чего они хотят. Сделайте всё правильно или не делайте вовсе.