Ошибка говорит, что __('Login')
не string
. Это означает, что это, скорее всего, массив ключей перевода, так как __()
по умолчанию возвращает string
(переданный параметр), если перевод недоступен.
Внутри resources/lang/{lang}
есть файл с именем login.php
:
return [
'login' => 'Login',
'register' => 'Register'
];
Чтобы получить доступ к этому переводу, вам необходимо использовать правильный синтаксис:
<li class="nav-item"><a class="nav-link" href="{{ route('login') }}">{{ __('login.login') }}</a></li>
<li class="nav-item"><a class="nav-link" href="{{ route('register') }}">{{ __('login.register') }}</a></li>
Строка, переданная в функцию __()
, должна сначала указать файл, за которым следует любое количество ключей (поскольку допустимы вложенные массивы). В обоих случаях login
- это файл, за которым следуют ключи login
и register
.
Эта структура должна быть продублирована во всех resources/lang/{lang}/login.php
файлах или локали по умолчанию (в большинстве случаев en
).
Полную документацию можно найти здесь: https://laravel.com/docs/7.x/localization