php - Laravel Collective Formbuilder 标签本地化

标签 php forms laravel laravelcollective

我刚刚开始使用 Laravel Collective Form Service Provider/FormBuilder。

我使用这个自定义组件来渲染带有标签的文本字段。问题是我试图用 __() 函数翻译它的标签,但 $name 变量在非常晚的阶段从first_name 转换为名字。

<div class="control-group">
    {{ Form::label($name, null, ['class' => 'group__label']) }}
    {{ Form::text($name, $value, array_merge(['class' => 'control-
    group__control'], $attributes)) }}
</div>

我不能简单地这样做:

{{ Form::label(__($name), null, ['class' => 'group__label']) }}

同样,因为它获取first_name,然后将其转换为First Name。我的 nl.json 文件包含名字的翻译,而不是名字。

如果我将 _() 翻译函数添加到 FormBuilder 中标签方法的最后一条规则中,那么它就解决了我的问题。但当然,我不想修改供应商代码!

 return $this->toHtmlString('<label for="' . $name . '"' . $options . '>' . __($value) . '</label>');

所以。如何解决这个问题?我是否需要以某种方式创建自定义 FormBuilder->label() 方法?

最佳答案

使用 trans() 帮助器:

{{ Form::label(trans($name), null, ['class' => 'group__label']) }}

关于php - Laravel Collective Formbuilder 标签本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44410032/

相关文章:

php - 在 php 中连接 mysql 列值

php - 在php中输入卫生

javascript - JQuery 中的明文字段值

css - 无法使用 Flexbox 使 div 右对齐

php - 从 PHP 发布的表单中清理和构建查询的更快方法

php - 测试未链接到任何路由的 Controller 方法

php - 具有数据库事务的 Laravel Controller-Model 异常处理结构

laravel - 尝试在 createToken() 之后获取护照上非对象的属性 'id'

php - 有没有一种方法可以更改php的error_log(string)的错误格式?

php - Azure 中的连接按钮被禁用