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