问题描述
我开始为我的基于 Laravel 8.19 的应用程序准备本地化字符串,我发现嵌套数组不起作用。 我将 auth.php 从 \resources\lang\en 复制到 \resources\lang\ru 并在嵌套数组中添加了几个字符串
tell application "Finder"
delete (every item of "Downloads" of folder currentUser of folder "Users" of startup disk whose name is not in {"PreciousFolder"})
end tell
然后在登录页面 \resources\views\auth\login.blade.php 我尝试回显 lang 字符串。
'login' => 'Войти','logout' => 'Выйти','password' => [
'definition' => 'пароль','forgot' => 'Забыли пароль?',],'remember' => 'Запомнить меня','failed' => 'Учетные данные не совпадают с нашими записями.','password' => 'Пароль неверный.','throttle' => 'Слишком много попыток входа. Пожалуйста попробуйте снова через :seconds секунд.',
但是 <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.definition”,就像我没有在 auth.php 文件中定义这个字符串一样。有什么问题?
我在 Laravel 5 上的旧项目中发现,我使用 auth.password.forgot
函数来检索本地化字符串,并且它还可以与上述嵌套数组一起使用。现在 trans()
对此无能为力。
解决方法
似乎本地化字符串的嵌套数组表示法替换为 KEY 名称中的简单 DOT 分隔符,因为我尝试过这样并且有效。
'password.forgot' => 'Забыли пароль?',