Как заглавная буква в Laravel Blade

я использую Laravel (5.1) blade template engine с функцией локализации.

существует языковой файл messages.php внутри :

return [
    'welcome' => 'welcome',

в моем шаблоне лезвия приветственное сообщение вызывается с помощью trans способ:

{{ trans('messages.welcome') }}

в некоторых случаях мне нужно показать то же сообщение, но с заглавной буквой ("Добро пожаловать"). Я не хочу использовать дубликаты записей в файле перевода.

как я могу подход это?

3 ответов


используйте родной язык PHP ucfirst функция:

{{ ucfirst(trans('messages.welcome')) }}

добавьте директиву blade в функцию загрузки app/Providers/AppServiceProvider ():

public function boot() {

    Blade::directive('lang_u', function ($s) {
        return "<?php echo ucfirst(trans($s)); ?>";
    });

}

таким образом, вы можете использовать следующее в своих файлах blade:

@lang_u('messages.welcome')

выходы: Добро пожаловать

вы @lang_u ('сообщения.добро пожаловать!) :)


другой способ сделать заглавную первую букву С помощью PHP и blade.

контроллер

return view('stock.uk-lse', ['name' => 'djan']);

посмотреть

<h1>{{ ucfirst($name) }}</h1>