I just started using the Laravel Collective Form Service Provider/FormBuilder.
I use this custom component for rendering a text field with label. The problem is that I am trying to translate it's label with the __() function but the $name variable gets tansformed from first_name to First Name in a really late stage.
<div class="control-group">
{{ Form::label($name, null, ['class' => 'group__label']) }}
{{ Form::text($name, $value, array_merge(['class' => 'control-
group__control'], $attributes)) }}
</div>
I can't simply do this:
{{ Form::label(__($name), null, ['class' => 'group__label']) }}
Again, because it gets first_name and later transforms it into First Name. My nl.json file contains a translation for First Name, not first_name.
If I add the _() translate function to the last rule of the label method in FormBuilder is, then it solves my problem. But ofcourse, I don't want to modify vendor code!
return $this->toHtmlString('<label for="' . $name . '"' . $options . '>' . __($value) . '</label>');
So. How to solve this issue? Do I, somehow, need to create a custom FormBuilder->label() method?
Use trans()
helper:
{{ Form::label(trans($name), null, ['class' => 'group__label']) }}