如何在不编辑所有刀片文件的情况下更改Laravel Spark的语言?我可以编辑所有刀片文件并使用该功能更改标签/消息lang()
,但是我不再获得刀片更新(或者我必须在每次更新后重做)。
1 回答
我也有同样的问题,不仅是翻译,还有对布局和内容的小改动,不幸的是,我看不到我们或他们现在可以做的任何其他事情,因为翻译可能相当容易,但对于其他更改,并非如此。更改使用 MD5 进行验证,因此如果您更改视图中的单个字母,您将使其无法更新。
安装它并更改一些视图后的第二天,由于这些更改,我已经被 Spark 无法升级我的视图所困扰,我基本上不得不浏览更改的文件,看看是否有一些重要的东西我必须复制回到矿山。
考虑到它们可能会在某个时候为 Spark 添加新功能,如果我们更改这些视图,我们将永远不会自动获得它们。这就是为什么我决定只触摸登录和注册,让 Spark 处理 Spark 面板中的所有其他内容,而我使用自己的模板围绕它构建一个完全独立的系统。在某些时候我知道我必须添加设置,所以我还必须决定是否有第二个设置页面,使用我自己的模板,或者只是编辑 Spark 视图并回到这个不可能自动升级状态。
Spark 还没有准备好成为多语言,但是现在,随着 Mohamed Said 在 Laravel 团队中,我们应该会看到这方面的一些变化。
要将 Spark 视图替换为您的视图,您只需“覆盖”spark::
命名空间设置您自己的目录:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
//
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
$this->app['view']->addNamespace('spark', resource_path('/views/vendor/'.$namespace'));
}
}
此代码将一个新文件夹添加到 Laravel Spark 已经拥有的文件夹列表中,在这种情况下,它将是 my resources/view
.
您还必须AppServiceProvider
移到Laravel\Spark\Providers\SparkServiceProvider::class,
.config/app.php
而且你不必在这个文件夹中有所有的 Spark 视图,Laravel 是一种急切的寻找视图,所以如果它没有找到,它会尝试在原始的 spark 文件夹中找到它。