あなたはTranslator
クラスを拡張し、別の拡張TranslationServiceProvider
クラス内でそれを使用することができます。
私たちはapp/Extended
フォルダに保存します。
下記のような拡張トランスレータクラスを作成します。キーを小文字に変更して親に渡してください。
<?php
namespace App\Extended;
use Illuminate\Translation\Translator;
class ExtendedTranslator extends Translator
{
public function get($key, array $replace = [], $locale = null, $fallback = true)
{
$key = mb_strtolower($key);
return parent::get($key, $replace, $locale, $fallback);
}
}
続いて、最後に
<?php
namespace App\Extended;
use Illuminate\Translation\TranslationServiceProvider;
class ExtendedTranslationServiceProvider extends TranslationServiceProvider
{
public function register()
{
$this->registerLoader();
$this->app->singleton('translator', function ($app) {
$loader = $app['translation.loader'];
$locale = $app['config']['app.locale'];
$trans = new ExtendedTranslator($loader, $locale);
$trans->setFallback($app['config']['app.fallback_locale']);
return $trans;
});
}
}
、拡張TranslationServiceProvider以内に新しく作成した拡張翻訳クラスを使用し、拡張ExtendedTranslationServiceProvider代わりのconfig/app.php
内のオリジナルのものを登録します。
'providers' => [
// Illuminate\Translation\TranslationServiceProvider::class,
App\Extended\ExtendedTranslationServiceProvider::class,
]