Я хочу повторить текущий набор локаль в моем теге HTML, используя лезвие:Как эхо браузера локаль в Laravel 5.2
<html lang="{{ $locale }}"></html>
Я новичок в Laravel 5 и мне было интересно, как это сделать.
Я хочу повторить текущий набор локаль в моем теге HTML, используя лезвие:Как эхо браузера локаль в Laravel 5.2
<html lang="{{ $locale }}"></html>
Я новичок в Laravel 5 и мне было интересно, как это сделать.
Если вы просите локали, установленной в браузере клиента, вы можете использовать request()->server('HTTP_ACCEPT_LANGUAGE')
, чтобы получить их.
И если вы просите локали, установленной в приложении Laravel, вы можете получить его, как это: config()->get('locale')
И если вы хотите, чтобы получить имя шаблона в вашем лезвии Laravel, просто использовать, как это:
// allow $view_name in views
View::composer('*', function ($view) {
View::share('view_name', $view->getName());
});
Спасибо! Но что такое лучший класс для ввода кода? AppServiceProvider -> загрузка? Или есть лучший класс в Ларавеле? –
Согласно документации Laravel, вы можете регистрировать композиторы с помощью отдельного поставщика услуг. Подробнее: https://laravel.com/docs/5.2/views#view-composers –
В дополнение к тому, что @jszobody просто сказано выше, вы также можете использовать javascript и jstz package, чтобы найти их локаль. Предполагая, что вы JQuery установили, что ваш код может выглядеть следующим образом
<script>
$(function() {
$('html').attr('lang', jstz.determine().locale());
}
</script>
Если вы хотите определить локаль пользователя, см. Http://php.net/manual/en/locale.acceptfromhttp.php. Просто знайте, что вы не всегда можете положиться на это. – jszobody
Вы имеете в виду локаль, установленную в вашем приложении laravel? –
На данный момент я просто хочу знать язык браузера, но теперь я думаю, что это также будет полезно узнать о приложении laravel –