Метод currentLocale
Метод currentLocale класса App позволяет получить
текущую локаль, которая установлена для приложения. Он возвращает
строку, содержащую код языка, например, 'en', 'ru'
или 'fr'. Этот метод полезен, когда необходимо определить,
на каком языке в данный момент отображается интерфейс
приложения. Обычно локаль устанавливается с помощью
метода setLocale класса App или глобально
в конфигурационном файле config/app.php.
Синтаксис
<?php
use Illuminate\Support\Facades\App;
$locale = App::currentLocale();
?>
Пример
Давайте получим текущую локаль приложения в контроллере и передадим её в представление:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\View;
class HomeController extends Controller
{
public function index()
{
$locale = App::currentLocale();
return View::make('home', ['locale' => $locale]);
}
}
?>
<p>The current locale is: {{ $locale }}</p>
Результат выполнения кода при текущей локали 'ru':
<p>The current locale is: ru</p>
Пример
Используем метод currentLocale для условного вывода
сообщения в зависимости от локали:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\App;
class MessageController extends Controller
{
public function show()
{
$locale = App::currentLocale();
if ($locale === 'en') {
$message = 'Hello!';
} elseif ($locale === 'ru') {
$message = 'Привет!';
} else {
$message = 'Welcome!';
}
echo $message;
}
}
?>
Результат выполнения кода при текущей локали 'en':
"Hello!"
Пример
Выведем текущую локаль в Blade-шаблоне напрямую:
<div>
<p>Current locale: {{ App::currentLocale() }}</p>
</div>
Результат выполнения кода при текущей локали 'fr':
<div>
<p>Current locale: fr</p>
</div>