Php Laravel不区分大小写的定位

Php Laravel不区分大小写的定位,php,localization,internationalization,laravel-5.2,Php,Localization,Internationalization,Laravel 5.2,有可能使laravel对trans语句不区分大小写吗?例如,为操作和操作返回相同的翻译术语: lang/trans_form.php return [ 'Action' => 'اقدامات', //I'm not happy with writing this one,it would be better if laravel do it itself! 'action' => 'اقدامات', ] 您可以扩展Translator类,并在另一个扩展的Tran

有可能使laravel对trans语句不区分大小写吗?例如,为
操作
操作
返回相同的翻译术语:

  lang/trans_form.php 

return [
 'Action' => 'اقدامات',

 //I'm not happy with writing this one,it would be better if laravel do it itself!
 'action' => 'اقدامات',
]

您可以扩展
Translator
类,并在另一个扩展的
TranslationServiceProvider
类中使用它

比如说,我们将把它存储在
app/Extended
文件夹中

创建一个扩展的translator类,如下所示。只需将密钥更改为小写并将其传递给父级

<?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);
    }
}

您好,laravel如何知道它必须使用这个类而不是默认类?我们不应该用一些接口来绑定它吗?。。。我的意思是,至少在Laravel6.x上它不能正常工作
<?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;
        });
    }
}
'providers' => [
    // Illuminate\Translation\TranslationServiceProvider::class,
    App\Extended\ExtendedTranslationServiceProvider::class,
]