Метод getLocale
Метод getLocale класса Lang применяется для получения текущего языка приложения. Он возвращает строку с кодом локали, который был установлен через конфигурацию или с помощью метода setLocale. Этот метод полезен при создании многоязычных приложений, где нужно динамически определять текущий язык пользователя.
Синтаксис
<?php
app('lang')->getLocale();
?>
Или с использованием фасада:
<?php
use Illuminate\Support\Facades\Lang;
Lang::getLocale();
?>
Пример
Давайте получим текущую локаль приложения:
<?php
use Illuminate\Support\Facades\Lang;
$locale = Lang::getLocale();
echo $locale;
?>
Результат выполнения кода:
"en"
Пример
Давайте изменим локаль и проверим её новое значение:
<?php
use Illuminate\Support\Facades\Lang;
Lang::setLocale('ru');
$locale = Lang::getLocale();
echo $locale;
?>
Результат выполнения кода:
"ru"
Пример
Используем метод в контроллере для определения языка и отображения соответствующих данных:
<?php
namespace AppHttpControllers;
use Illuminate\Support\Facades\Lang;
use AppModelsArticle;
class ArticleController extends Controller
{
public function index()
{
$locale = Lang::getLocale();
$articles = Article::all();
return view('articles.index', [
'locale' => $locale,
'articles' => $articles
]);
}
}
?>
Результат выполнения кода:
"Current locale: en"
Пример
Пример использования в Blade-шаблоне для отображения текущей локали:
@php
use Illuminate\Support\Facades\Lang;
@endphp
<h1>Articles page</h1>
<p>Current language: {{ Lang::getLocale() }}</p>
@foreach ($articles as $article)
<div>
<h2>{{ $article->title }}</h2>
<p>{{ $article->text }}</p>
</div>
@endforeach
Результат выполнения кода:
<h1>Articles page</h1>
<p>Current language: en</p>
<div>
<h2>article 1</h2>
<p>text 1</p>
</div>
<div>
<h2>article 2</h2>
<p>text 2</p>
</div>
Смотрите также
-
метод
setLocale,
который устанавливает текущий язык приложения -
метод
currentLocale,
который возвращает текущий язык приложения через класс App -
метод
has,
который проверяет существование строки перевода -
метод
setLocale,
который устанавливает локаль через класс App