如何使用dimsav/laravel可翻译包获取特定值/名称
我一直在关注这个问题。我创建了两个表:如何使用dimsav/laravel可翻译包获取特定值/名称,laravel,Laravel,我一直在关注这个问题。我创建了两个表: 国家 国家翻译 现在我更改了列name=>key和value,因为我可以通过查询key获得值(lang text) 比如说: $r = 'DE';//App::getLocale(); // 'fr' $germany = Country::where('code', $r)->first(); // I want to get value where key= 'contacts-last-name' $translation = $germa
name=>key
和value
,因为我可以通过查询key
获得值(lang text)
比如说:
$r = 'DE';//App::getLocale(); // 'fr'
$germany = Country::where('code', $r)->first();
// I want to get value where key= 'contacts-last-name'
$translation = $germany->translate($r, true)->where('key', 'contacts-last-name')->value;
print_r($translation);
exit("----");
我得到:
ERROR: Undefined property
如何使用新查询/子查询(键)获取特定值
举个例子,这里是我的方法和视图 更新方法如下所示:
$translation = $germany->translate($r, true)->where('key', 'contacts-last-name')->first();
echo "<pre>"; print_r($translation->toArray()); exit("----");
在查看页面中,我有一个表单:
$translation = $germany->translate($r, true)->where('key', 'contacts-last-name')->value;
{{trans('labels.contacts first name')}
{{trans('labels.contacts last name')}
对于这个问题,我有一个问题,我如何传递翻译数据并始终创建可转换视图{{trans('labels.contacts last name')}
更改您的此行
$translation = $germany->translate($r, true)->where('key', 'contacts-last-name')->get();
print_r($translation);
exit("----");
来试试这个
return view('form-view', compact('translation'));
已更新
在您看来,{{trans('labels.contacts last name')}
这种方式意味着您正试图从项目中存在的lang目录中获取翻译,实际上这是手动基于文件/数组(key/pair)的方式
虽然您希望基于Dynamic/DB,但您可以这样做
将$translation
变量传递到视图中,例如
<label class="col-sm-2 control-label">{{$translation[0]->value}}</label>
<div class="col-sm-4">
<input name="first_name" id="first_name" type="text" class="form-control" required disabled>
</div>
<label class="col-sm-2 control-label">{{$translation[1]->value}}</label>
<div class="col-sm-4">
<input type="text" id="last_name" name="last_name" class="form-control" disabled>
</div>
然后在视图中
可以执行此操作
echo "<pre>"; print_r($translation->toArray()); exit("----");
{{$translation[0]->value}
{{$translation[1]->value}
您可以这样访问它:
$translation=$germany->{'contacts-last-name:'.$r}代码>
之后
Array
(
[id] => 1
[country_id] => 83
[key] => contacts-last-name
[value] => Achternaam
[locale] => DE
)
当前位置正在工作。那么如何翻译视图中的表单标签或列名?你能帮我得到一个关于方法和视图的例子吗?请在你的问题中添加你的print\r()
转储结果也添加一些你的表单视图结构,我将指导你::为了更好地理解我的问题,我添加了一个新的部分“例如,这里是我的方法和视图”。。请看一看,并允许我获得您的帮助。请这样做,并在您的问题中更新您的此结果<代码>回声“”;打印($translation->toArray());退出(“---”)代码>你必须把这些行注释掉print\r($translation);退出(“---”)代码>::返回空值。它不起作用。在doc中,它被称为魔术方法。
echo "<pre>"; print_r($translation->toArray()); exit("----");
Array
(
[id] => 1
[country_id] => 83
[key] => contacts-last-name
[value] => Achternaam
[locale] => DE
)