Как изменить язык в Laravel Spark?

Как изменить язык Laravel Spark без редактирования всех блейд-файлов? Я мог бы отредактировать все блейд-файлы и изменить метки/сообщения с помощью функции lang(), но тогда я больше не получаю обновления блейда (или мне приходится повторять это после каждого обновления).


person user3253002    schedule 03.12.2016    source источник
comment
К сожалению, это ваши варианты с файлами просмотра, имеющими жестко закодированный английский язык.   -  person Martin Bean    schedule 03.12.2016


Ответы (1)


У меня такая же проблема, не только с переводами, но и с небольшими изменениями в верстке и прочем, и, к сожалению, я не вижу ничего другого, что мы или они могли бы сделать сейчас, для переводов это может быть довольно легко , но для других изменений, не очень. Изменения проверяются с помощью MD5, поэтому, если вы измените одну букву в своем представлении, вы сделаете его необновляемым.

На следующий день после его установки и изменения некоторых представлений я уже застрял в Spark, не имея возможности обновить свои представления из-за этих изменений, и мне в основном пришлось просмотреть измененные файлы и посмотреть, есть ли что-то важное, что мне придется скопировать обратно в шахты.

Думая, что в какой-то момент они могут добавить новые функции в Spark, мы никогда не получим их автоматически, если изменим эти представления. Вот почему я решил коснуться только входа и регистрации, а всем остальным в панели Spark заниматься Spark, а вокруг него построить совершенно отдельную систему по собственному шаблону. В какой-то момент я знаю, что мне придется добавить настройки, поэтому мне также придется решить, иметь вторую страницу настроек, использовать мой собственный шаблон или просто отредактировать представления Spark и вернуться к этому невозможному автоматическому обновлению. государство.

Spark еще не готов к многоязычию, но теперь, когда Мохамед Саид в команде 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.

введите здесь описание изображения

person Antonio Carlos Ribeiro    schedule 03.12.2016