Laravel 5.4 - 从数据库而不是lang文件获取翻译

时间:2018-01-17 21:33:45

标签: php laravel laravel-5 laravel-5.4

我需要将翻译保存在数据库中。 我创建了一个包含group,key和value的模型,并使用我目前在lang文件中拥有的所有值填充数据库。现在我希望进行切换,如果从我的代码中调用trans(' group.key')或@lang(' group.key')我希望它从中获取值数据库,而不是lang文件。怎么可能实现这个目标?

PS。我查看了一些类似的插件,但它们并不适合我,因为我有自己的复杂模型。

2 个答案:

答案 0 :(得分:0)

我不确定你是否选中了这个package,它确实与你的相似。

enter image description here

缓存也是添加到包中的额外功能之一。

答案 1 :(得分:0)

您可以扩展Illuminate\Translation\Translator类,并将数据库中的集合作为数组传递,代替$localetrans函数只是这个类的包装器。

在使用数组,集合等时,该类使用所有常见的支持类

use Countable; use Illuminate\Support\Arr; use Illuminate\Support\Str; use Illuminate\Support\Collection;