すべてのブレードファイルを編集せずにLaravel Sparkの言語を変更するにはどうすればよいですか? すべてのブレード ファイルを編集し、機能を使用してラベル/メッセージを変更することlang()
はできましたが、ブレードの更新を取得できなくなりました (または、更新のたびにこれをやり直す必要があります)。
1 に答える
私はこれとまったく同じ問題を抱えています。翻訳だけでなく、レイアウトなどに加えられた小さな変更についても同様です。残念ながら、私たちまたは彼らが今できることは他に何もありません。翻訳については、かなり簡単かもしれません。 、しかし他の変更については、そうではありません。変更は MD5 を使用して検証されるため、ビュー内の 1 文字を変更すると更新できなくなります。
それをインストールし、いくつかのビューを変更した翌日、それらの変更のためにビューをアップグレードできないSparkにすでに行き詰まっていました。基本的に、変更されたファイルを調べて、コピーする必要がある重要なものがあるかどうかを確認する必要がありました鉱山に戻る。
ある時点で新しい機能が Spark に追加される可能性があると考えて、それらのビューを変更すると、それらが自動的に取得されることはありません。そのため、ログインと登録のみに触れ、Spark パネルの他のすべてを Spark に処理させ、独自のテンプレートを使用して完全に別のシステムを構築することにしました。ある時点で、設定を追加する必要があることがわかっているので、独自のテンプレートを使用して 2 つ目の設定ページを作成するか、Spark ビューを編集してこの自動アップグレードが不可能な状態に戻るかを決定する必要があります。州。
Spark はまだ多言語化の準備が整っていませんが、Laravel チームに Mohamed Said が加わったことで、おそらくこの分野でいくつかの変更が見られるはずです。
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 フォルダーで検索しようとします。