【发布时间】:2021-04-09 14:43:29
【问题描述】:
我开始为我的基于 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() 对此无能为力。
【问题讨论】:
标签: laravel-blade laravel-8 laravel-localization