如何在 Laravel 5 中按语言环境切换视图?

How to switch view by locale in Laravel 5?

我想在 Laravel 中针对不同的语言环境使用不同的视图,而不是逐句翻译。

是否有某种机制或软件包可以做到这一点?

否则,我该如何编写我的视图和控制器,使其干净可靠地完成?

提前致谢

最简单的方法可能是创建一个自定义视图加载器帮助器方法作为现有方法的包装器。

function lcView($view, $data = [], $mergeData = [])
{
    return view($view.'.'.config('app.locale'), $data, $mergeData);
}

然后你调用那个:

// in some controller method
return view('index', $someData); // old way
return lcView('index', $someData); // new way

并为您的文件命名

index.en.blade.php
index.es.blade.php
index.sv.blade.php

还没有测试过,我相信可能有一些更聪明的方法,但它应该可以工作,而且非常易读易懂。 :)