Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Достаточно ли для автоматического определения локали добавить тэгу html атрибут lang="{{ app()->getLocale() }}? Или же нужно ещё какие-то настройки прописать, чтобы локаль автоматически определялась?
И ещё: как протестировать с локального сервера корректное определение для каждой локали? Естественно, что будет отображаться тот язык, который соответствует главной локали, указанной в config/app.php, но как проверить корректность отображения страниц с другими локалями?
Предполагается, что на сайте доступно более двух языков (то есть помимо основной и fallback локалей есть и другие).
Изменено Gleb2708 (18.09.2017 15:39:24)
Не в сети
атрибут html[lang] вообще для другого предназначен. ты можешь например иметь разные стили элементов в зависимости от активного языка в CSS и раскидать их по одним и тем же селекторам с помощью :lang(xx). ну и в качестве селектора в jquery он тоже вполне работает. в остальном на отображение страниц в браузере он не влияет. если нужно понять какой язык хочет получить браузер пользователя, надо смотреть в заголовок accept-language запроса например.
вообще отдавать разноязыкий контент по одним и тем же адресам – не очень хорошая практика с точки зрения SEO. если ты делаешь админку или личный кабинет – окей, норм. если это контентная часть сайта, которая должна индексироваться гуглом, у тебя просто проиндексируется только один язык (скорее всего английский). поэтому языки всегда раскидывают по разным url (через сегменты адреса или поддомены), и добавляют переключатели языка которые дают поисковикам ссылки по которым можно ходить и индексировать контент других языков…
Не в сети
Благодарю Вас за ответ!
А так нормально будет с точки зрения SEO?
[url]http://example.com/ru/somepage[/url]
[url]http://example.com/en/somepage[/url]
[url]http://example.com/zh/somepage[/url]
Не в сети
да вполне. иногда делают один из языков по умолчанию, как бы основным, без языкового префикса в url…
Не в сети