我正在建设我的第一个多语种Laravel网站。
对于翻译,我使用的是这个包:laravel定位。
在我的数据库中,列的设置如下:
我已经阅读了关于本地化的laravel 文档,并以这种方式设置了错误消息。但是现在我很困惑如何正确地为我的观点显示不同的语言。
我应该这样做吗?
@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') }}或者,这是否辜负了我正在使用的软件包的目的?
发布于 2016-05-30 11:37:50
使用多维数组的键值对
在DB中添加转换,并在需要时在数组中加载
$language['word_key']="word";将word键保存在代码中,因为它只是在基于语言的数组中加载翻译。
在DB中,为关键字创建2个表1,为关键字表的外键翻译创建其他表。
编写一个语言类,该类可以为您提供要在代码中使用的键=>值对数组。
简单php中的示例
echo $language['kw_hi'];如果您用英语运行,它会在法语中打印"Hi“,"Salut”代码保持不变,只是内容更改。
{!! Form::label($dictionary['apo_add_subject'], $dictionary['apo_add_subject']) !!}字典上面有关键字apo_add_subject。我已经创建了一个包含关键字id、keyword_name和第二个表翻译id、kw_id、language、table的表,然后基于语言和模块使用中间array将其加载到数组中,然后传递到查看上面编写的代码将使用的位置。
只需在数组中加载不同的值,保持相同的关键字
https://stackoverflow.com/questions/37524440
复制相似问题