我想在浏览器的前端部分使用laravel语言数据。
所以我可以在js中使用sprintf在前端部分显示相同的翻译。
我希望它可以是一个大的javascript对象。它将是非常容易和良好的使用。
提前谢谢。
这是我自己处理过的一种情况,答案有点尴尬。
您可以使用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);
我想最简单的方法就是使用cookie。设置cookie与Laravel:
$cookie = Cookie::make($name, $value);
然后用JS:读取并解析
var x = document.cookie;