我可以从此函数获取语言数组
$array = Lang::get('msg'); // return entire array
$text = Lang::get('msg.success'); // return single item
或
$array = trans('msg'); // return entire array
$text = trans('msg.success'); // return single item
但是现在我想从控制器向此msg.php语言文件添加/更新新的键值。
我该怎么做?
我已经尝试过Lang::set()
,但是没有这样的辅助功能。
答案 0 :(得分:1)
答案 1 :(得分:0)
我建议使用JSON-based translations in Laravel。
然后,每种每种语言都有一个json文件。例如,英语将存储在resources/lang/en.json
中。由于它只是一个json文件,因此您可以通过file_put_contents()
和json_encode()
轻松地对其进行写入。
UPD:原来,语言更改应针对每个用户。然后,解决方案是在数据库中有一个单独的表,该表将包含字符串以及user_id。伪代码中是这样的:
function mytrans($string, $user_id) {
if translation exists in the table for this user_id
return translation
else
return trans(string);
}