如何在Blade标签模板中使用本地化?

时间:2013-08-13 23:10:28

标签: laravel laravel-4 blade

第一个问题:

我已经在很多类型的文本和事物中插入了本地化,但我不知道如何将其导入到以下形式中:

  {{ Form::label('name', 'here') }}
  {{ Form::text('name', null, array('placeholder' => 'here')) }}
  {{ Form::submit('here', array('class' => 'btn btn-success')) }}
  {{ Form::button('here', array('class' => 'btn btn-default')) }}

我希望它在表格标签'here'和文本'here'的占位符中。

第二个问题:

我不允许在我的语言文件中插入链接:text here blah blah <a href="{{ URL::to('text') }}">BLAH</a>?

无论如何要插入链接吗?

提前致谢。

6 个答案:

答案 0 :(得分:12)

假设您的邮件存储在app/lang/en/message.php中,您可以对所有情况使用相同的方式:

在Blade模板中:

{{ Form::label('name', Lang::get('message.key')) }}

{{ Form::text('name', null, array('placeholder' => Lang::get('message.key'))) }}

{{ Form::submit(Lang::get('message.key'), array('class' => 'btn btn-success')) }}

在混合了某些Blade表达式的HTML标记中:

<a href="{{ URL::to(Lang::get('message.key')) }}">BLAH</a>

答案 1 :(得分:6)

您还可以使用严格的Blade语法在Blade模板中使用本地化。 鉴于您的/app/lang/en/messages.php中有一条与“message_key”键对应的消息,您可以这样做:

@lang('messages.message_key')

在应用程序配置使用的语言环境中呈现消息。

答案 2 :(得分:5)

因此,这两个问题的答案都是:-

1){{Form :: label('name','here')}}

  Here, you need to change the "here" text hence laravel localization method can be used.For eg:-
{{ Form::label('name', '__("Here")' }} or
{{ Form::label('name', '__('message.here') }}. 

2) BLAH

在这里,您需要更改标签而不是链接。

< a href="URL::to('text') ">{{__('message.BLAH')}}< /a>. 

答案 3 :(得分:2)

这对我来说最简单!

{!! Form::label('title', trans('users.addNewRecordsNameFieldLabel'),['class' => 'control-label']) !!}

我觉得,刀片解析已经开始{!!或{{已开始

答案 4 :(得分:1)

第二个问题的可能答案:

您可以像这样设置语言文件resources/lang/en/page.php

return [
    'sentence' => 'A sentence with a :link in the middle.',
    'link_text' => 'link to a another page'
];

并在像这样的Blade模板中使用它:

{!! trans('page.sentence', [
    'link' => '<a href="/">' . trans('page.link_text') . '</a>'
]) !!}}

结果将是:

中间有link to a another page的句子。

答案 5 :(得分:1)

您也可以使用__()方法

{{__(&#39; app.name&#39;)}}