im создание веб-сайта (wordpress multisite), который поддерживается двумя языками для пользователей, есть 2 метода, мы будем использовать его:
-Detect язык Geo IP
-Detect Language через Интернет-браузер
Какой метод лучше всего использовать?
Заранее спасибо!
Если пользователь является зарегистрированным пользователем, укажите язык в соответствии с его предпочтениями
Если пользователь ранее находился на сайте, используя язык X, используйте это (сохраните опцию языка в файле cookie).
Если присутствует HTTP-заголовок Accept-Language
, попробуйте его использовать (очевидно, вы не поддерживаете все языки в мире). В PHP вы можете получить это значение через $_SERVER['ACCEPT_LANGUAGE']
.
Я видел, как люди также используют Accept-Charset
, пытаясь сузить его, если указанные языки (в Accept-Language) не могут быть использованы, но это довольно длинный снимок.
Конечным вариантом является использование Geo IP, чтобы попытаться выяснить, где в мире может быть пользователь, и на каком языке там говорят. Это сложно, хотя, поскольку официальный язык в стране, возможно, не тот, который предпочтительно используется конечным пользователем.
Пока пользователь может легко менять язык и не связан ни с одним из вышеуказанных пресетов, не должно быть никаких проблем.
.. и, пожалуйста; попробуйте следить за тем, какой язык использовался пользователем, чтобы он или она не изменяли язык каждый раз, когда он посещает ваш сайт.