我想将所有翻译加载到resources/lang/en/messages.php
和resources/lang/fr/messages.php
我想仅使用trans('key')
而不是trans('file.key')
无论如何要启用此行为?似乎它不是开箱即用的。感谢。
答案 0 :(得分:0)
了解如何在App \ Providers中首先定义自己的提供程序。让它使用您自己的自定义类。
<?php namespace App\Providers;
use App\Utilities\TranslationUtility;
use Illuminate\Translation\TranslationServiceProvider;
class SimpleTranslationProvider extends TranslationServiceProvider {
/**
* Register the service provider.
*
* @return void
*/
public function register()
{
$this->registerLoader();
$this->app->singleton('translator', function($app)
{
$loader = $app['translation.loader'];
$locale = $app['config']['app.locale'];
$trans = new TranslationUtility($loader, $locale);
$trans->setFallback($app['config']['app.fallback_locale']);
return $trans;
});
}
}
自定义类:
<?php namespace App\Utilities;
use Illuminate\Translation\Translator;
class TranslationUtility extends Translator {
public function get($key, array $replace = array(), $locale = NULL)
{
return parent::get('messages.' . $key);
}
}
然后在config / app.php中添加您的服务提供商,而不是'Illuminate\Translation\TranslationServiceProvider'