【发布时间】:2016-12-03 14:23:14
【问题描述】:
如何在不编辑所有刀片文件的情况下更改Laravel Spark 的语言?我可以编辑所有刀片文件并使用lang() 函数更改标签/消息,但是我不再获得刀片更新(或者我必须在每次更新后重做)。
【问题讨论】:
-
不幸的是,您可以选择硬编码英文的视图文件。
标签: laravel laravel-spark
如何在不编辑所有刀片文件的情况下更改Laravel Spark 的语言?我可以编辑所有刀片文件并使用lang() 函数更改标签/消息,但是我不再获得刀片更新(或者我必须在每次更新后重做)。
【问题讨论】:
标签: laravel laravel-spark
我也有同样的问题,不仅是翻译,还有对布局和内容的小改动,不幸的是,我没有看到我们或他们现在可以做的任何其他事情,对于翻译它可以相当容易,但对于其他更改,并非如此。更改使用 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 已经拥有的文件夹列表中,在这种情况下,它将是我的 resources/view。
您还必须在config/app.php 中将AppServiceProvider 移动到Laravel\Spark\Providers\SparkServiceProvider::class, 上方的一行。
而且你不必在这个文件夹中拥有所有的 Spark 视图,Laravel 是一种急切的寻找视图,所以如果它没有找到,它会尝试在原始的 spark 文件夹中找到它。
【讨论】: