Метод setFallbackLocale
Метод setFallbackLocale класса App устанавливает резервный язык для приложения. Первым параметром передаётся строка с кодом языка, например, 'en', 'ru' или 'fr'. Если текущий язык не имеет перевода для запрашиваемой строки, то будет использоваться резервный язык. По умолчанию в Laravel резервным языком установлен 'en'.
Синтаксис
<?php
App::setFallbackLocale($locale);
?>
Пример
Давайте установим резервный язык 'ru' для приложения:
<?php
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Route;
Route::get('/set-fallback', function () {
App::setFallbackLocale('ru');
return 'Fallback language set to Russian';
});
?>
Результат выполнения кода:
"Fallback language set to Russian"
Пример
Давайте установим резервный язык через конфигурационный файл и проверим его работу при отсутствии перевода:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Lang;
class LocalizationController extends Controller
{
public function index()
{
App::setFallbackLocale('en');
App::setLocale('fr');
$translation = Lang::get('messages.welcome');
echo $translation;
}
}
?>
Если в файле перевода для французского языка отсутствует ключ 'messages.welcome', то будет использоваться перевод из английского файла:
<?php
return [
'welcome' => 'Welcome to our website',
];
?>
<?php
return [
// 'welcome' key is missing
];
?>
Результат выполнения кода:
"Welcome to our website"
Пример
Давайте проверим текущий резервный язык перед его установкой:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\App;
class AppController extends Controller
{
public function showFallback()
{
$currentFallback = App::getFallbackLocale();
echo 'Current fallback locale: ' . $currentFallback;
App::setFallbackLocale('de');
$newFallback = App::getFallbackLocale();
echo 'New fallback locale: ' . $newFallback;
}
}
?>
Результат выполнения кода:
"Current fallback locale: en"
"New fallback locale: de"
Смотрите также
-
метод
getFallbackLocale,
который возвращает текущий резервный язык -
метод
setLocale,
который устанавливает текущий язык приложения -
метод
getLocale,
который возвращает текущий язык приложения -
метод
has,
который проверяет существование перевода для ключа