如何从 Laravel 8 中的嵌套数组中检索本地化字符串

问题描述

我开始为我的基于 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'   => 'Забыли пароль?',

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...