我开始为基于 Laravel 8.19 的应用程序准备本地化字符串,发现嵌套数组不起作用。我将auth.php从\resources\lang\en复制到\resources\lang\ru并在嵌套数组中添加了一些字符串
'login' => 'Войти',
'logout' => 'Выйти',
'password' => [
'definition' => 'пароль',
'forgot' => 'Забыли пароль?',
],
'remember' => 'Запомнить меня',
'failed' => 'Учетные данные не совпадают с нашими записями.',
'password' => 'Пароль неверный.',
'throttle' => 'Слишком много попыток входа. Пожалуйста попробуйте снова через :seconds секунд.',
然后在登录页面\resources\views\auth\login.blade.php我尝试回显 lang 字符串。
<div class="flex items-center justify-end mt-4">
@if (Route::has('password.request'))
<a class="underline text-sm text-gray-600 hover:text-gray-900"
href="{{ route('password.request') }}">
{{ __('auth.password.forgot') }}
</a>
@endif
<x-button class="ml-3">
{{ __('auth.login') }}
</x-button>
</div>
但是auth.password.definition
并auth.password.forgot
没有工作。我在页面上看到“auth.password.definition”,就像我没有在 auth.php 文件中定义这个字符串一样。有什么问题?
我在 Laravel 5 上的旧项目中发现,我使用该trans()
函数来检索本地化字符串,并且它也适用于像上面这样的嵌套数组。现在trans()
对此无能为力。