【发布时间】:2016-05-30 11:22:26
【问题描述】:
我正在构建我的第一个多语言 Laravel 网站。
对于我使用这个包的翻译:laravel-localization.
在我的数据库中,我的列设置如下:
- 标题(英文标题)
- title_nl(荷兰语标题)
- title_fr(法语标题)
我已阅读有关本地化的 laravel documentation 并以这种方式设置我的错误消息。但是现在我很困惑如何正确地为我的视图显示不同的语言。
我应该这样做吗:
@if( LaravelLocalization::getCurrentLocale() == 'nl')
<p>{{$post->title_nl}}</p>
@elseif(LaravelLocalization::getCurrentLocale() == 'fr' )
<p>{{$post->title_fr}}</p>
@else
<p>{{$post->title}}</p>
@endif
这看起来非常混乱,而且不是处理这个问题的正确方法,因为扩展这将是一场噩梦。
或者我是否需要像这样使用内置的本地化功能:
{{ trans('post.title') }}
或者这是否违背了我正在使用的包的目的?
【问题讨论】:
-
只能使用
{{ trans('post.title') }},不需要添加lang后缀。只检测 lang@if( LaravelLocalization::getCurrentLocale() == 'nl')等。 -
@mcklayin 所以这意味着我必须在我的 post.php 文件中为每种语言加载我的模型?并循环遍历语言文件本身的字段?
标签: php laravel-5 localization laravel-localization