我正在翻译使用Blade模板的Laravel网站,并想知道是否有更好的方法来翻译链接,如下所示:
应用/郎/ EN / contact.php:
return [
'1' => 'text before link',
'2' => 'link text',
'3' => 'text after link'
];
应用/视图/ contact.blade.php:
<p>{{ Lang::get('contact.1') }}
<a herf="{{URL::route('home')}}">{{ Lang::get('contact.2') }}</a>
{{ Lang::get('contact.3') }}}</p>
答案 0 :(得分:10)
这个解决方案怎么样?
刀片模板:
{!! Lang::get('test.test', [ 'url' => 'http://stackoverflow.com/' ]) !!}
<强>郎/ test.php的强>
<?php
return [
'test' => '<a href=":url">My Pretty Link</a>'
]
答案 1 :(得分:3)
您可以将URL用作参数,只需要一个翻译条目:
应用/郎/ EN / contact.php 强>
return [
'1' => 'text before link <a href=":url">link text</a>text after link'
];
应用/视图/ contact.blade.php 强>
<p>{{ Lang::get('contact.1', URL::route('home')) }}</p>
下行:您的翻译中包含HTML
使代码更清晰(但不会以任何方式更改您的翻译)的另一种方法是使用Laravels HTML link helper和trans()
(Lang::get()
的别名
<p>
{{ trans('contact.1') }}
{{ link_to_route('home', trans('contact.2')) }}
{{ trans('contact.3') }}
</p>
答案 2 :(得分:2)
该问题的另一种可能的解决方案:
resources / lang / zh-CN / contact.php:
<?php
return [
'sentence' => 'please :click here',
'click' => 'CLICK',
];
刀片模板:
@section('click link')
<a href="{{ url('/contact') }}">
{{ trans('contact.click') }}
</a>
@overwrite
{!! trans('contact.sentence', ['click' => view()->yieldContent('click link')]) !!}