如何将整个laravel语言(本地化)数据放到视图中?

时间:2016-05-06 07:18:51

标签: javascript php laravel

我想在浏览器的前端部分使用laravel语言数据。

所以我可以在js中使用sprintf在前端部分显示相同的翻译。

我希望它可能是一个很大的javascript对象。这将是非常容易和愉快的。

提前致谢。

2 个答案:

答案 0 :(得分:1)

这是我自己处理的情况,答案有点尴尬。

您可以使用Lang::get('file')将整个文件作为数组输出,您可以使用json_encode来完成您想要的操作。 但是,据我所知,你无法获取所有语言文件。这可能与Laravel无法在不占用大量磁盘资源的情况下扫描目录中的所有文件名这一事实有关,而且通常不会这样做。在所有适用的情况下,语言都是通过延迟加载来处理的。

但是!您可以做的是将所有与JavaScript相关的语言放在一个文件中。我打电话给我widgets.php,然后json_encode( Lang::get('widget') )将JavaScript相关语言放在一个对象中。

或者,如果你确实需要所有这些,你可以手动构建它。

$lang = ['auth', 'validation', 'etc'];

for ($files as $file)
{
    $lang[$file] = Lang::get($file);
}

return json_encode($lang);

答案 1 :(得分:0)

我想最简单的方法就是使用cookies。 Set coockie with Laravel

$cookie = Cookie::make($name, $value);

然后阅读并用JS解析它:

var x = document.cookie;