laravel - 如何翻译配置文件中的文本字符串,它在运行时抛出异常
问题描述
可以翻译配置文件中的字符串吗?
我正在尝试使用 trans() 和 __(),但它不起作用。
它抛出 BindingResolutionException 目标类 [translator] 不存在。
我猜是在加载配置文件之前没有加载翻译器类。任何想法如何解决它。
我的配置文件:
'authentication_column' => 'email',
'authentication_column_name' => __('backpack::base.email_address'),
在文件 /resources/views/vendor/backpack/base/auth/login.blade.php
<label class="control-label" for="{{ $username }}">{{ config('backpack.base.authentication_column_name') }}</label>
现在我的解决方案是将 login.blade.php 编辑为
<label class="control-label" for="{{ $username }}">{{ trans('backpack::base.email_address') }}</label>
解决方案
不,这是不可能的。加载配置是在注册绑定了“翻译器”类的提供者之前完成的。这是合理的,因为在引导期间实例化类需要配置值,因此配置文件中不提供翻译功能。
推荐阅读
- spring - 我可以使用最新的 Spring Batch 使用 Quartz Scheduler 1.8.6 吗?
- c# - GeckoWebBrowser 在任何 CPU 中崩溃
- c# - IIS 无法重新启动并出现超时错误
- java - .Jar 更新转换为 .exe(或 .dmg/ .deb)
- c# - 当我使用 pop3 时,获取的电子邮件未排序
- c# - 如何将 SqlClientFactory 实例插入 Entity Framework 6.2?
- paypal - PAYPAL 身份 API 不发送 account_type 属性
- reactjs - 使用 typesafe-actions 的异步操作减速器类型
- python-3.x - 将 Python 代码图转换为 Dash 和 Plotly 图
- android - kotlin 异步异常处理