【问题标题】:How to change the language in Laravel Spark?如何更改 Laravel Spark 中的语言?
【发布时间】:2016-12-03 14:23:14
【问题描述】:

如何在不编辑所有刀片文件的情况下更改Laravel Spark 的语言?我可以编辑所有刀片文件并使用lang() 函数更改标签/消息,但是我不再获得刀片更新(或者我必须在每次更新后重做)。

【问题讨论】:

  • 不幸的是,您可以选择硬编码英文的视图文件。

标签: laravel laravel-spark


【解决方案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 已经拥有的文件夹列表中,在这种情况下,它将是我的 resources/view

您还必须在config/app.php 中将AppServiceProvider 移动到Laravel\Spark\Providers\SparkServiceProvider::class, 上方的一行。

而且你不必在这个文件夹中拥有所有的 Spark 视图,Laravel 是一种急切的寻找视图,所以如果它没有找到,它会尝试在原始的 spark 文件夹中找到它。

【讨论】:

    猜你喜欢
    • 2018-08-24
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 2017-03-18
    相关资源
    最近更新 更多