我正在建立我的第一个多语言Laravel网站。
对于我正在使用此软件包的翻译:laravel-localization。
在我的数据库中,我的列设置如下:
我已阅读本地化的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') }}
或者这是否会破坏我正在使用的套餐的目的?
答案 0 :(得分:1)
使用多维数组的键值对
在DB中添加翻译并在需要时加载数组
$language['word_key']="word";
在代码中保留单词键,因为它只是根据语言
加载数组中的翻译在DB中创建2个表1表示关键字是主表,其他表用于具有关键字表外键的翻译
编写一个可以为您提供key =&gt;数组的语言类要在代码中使用的值对
简单php中的例子
echo $language['kw_hi'];
如果你用英语运行它会在法语“Salut”中打印“Hi” 代码保持相同只是内容更改
{!! Form::label($dictionary['apo_add_subject'], $dictionary['apo_add_subject']) !!}
字典上方有关键字apo_add_subject。我已经创建了一个表,其中包含关键字id,keyword_name和第二个表转换id,kw_id,语言,翻译然后基于语言和模块我将数据加载到数组中使用,然后传递到上面将使用上面编写的代码。
只需在数组中加载不同的值,保留相同的关键字