Обнаружение языка и перезапись / перенаправление URL
Мой веб-сайт имеет два языка: EN (английский) и TR (турецкий). Теперь он загружается как турецкий язык по умолчанию. В URL нет никакой языковой фразы. Например, наши страницы, такие как: domain.com/index.php, domain.com/aboutus.php и т. Д.
Если кто-то нажмет на ссылку "Английский", то страница перезагрузится с этой фразой:? Language=EN. Например domain.com/aboutus.php?language=EN
После этого нажатия все страницы загружаются как английские, но мы не видим и языковых фраз в URL. Другие страницы загружаются как services.php, contact.php обычно, но на английском..
Мне нужен простой перенаправитель языка браузера: - Если язык браузера пользователя турецкий, то все в порядке, страница может быть загружена как турецкий язык по умолчанию. - Если язык браузера пользователя не является турецким, то страницы должны загружаться как английский с помощью фразы? Language=EN. Например domain.com/aboutus.php?language=EN
Важно то, что этот контроль должен происходить при первом посещении любой страницы (не только индекса). Если пользователь выбрал турецкий язык, нам не следует снова загружать английские страницы.
Мы можем использовать для этого php, htaccess или javascript.
Большое спасибо...
1 ответ
Было бы хорошо, если бы синтаксис был симметричным (т.е. у вас есть то же самое для турецкого языка, что и для английского). Если это выглядит некрасиво, (и это для меня), перенесите это на сессию. Я предлагаю это достаточно чисто:
- Если запрос является запросом на изменение языка, измените язык, сохраните в сеанс. Иначе,
- Если сеанс содержит выбор языка, используйте этот язык. Иначе,
- использование
Accept-Language
заголовок, чтобы выяснить, что хочет браузер, установить язык, сохранить в сеансе.
Конечно, вы можете использовать ту же систему с параметром URL. Проблема заключается в том, что с вашей текущей схемой вы не можете различить "не выбран язык" и "выбран английский".