Подтвердить что ты не робот

Как загладить первую букву в Laravel Blade

Я использую laravel (5.1) механизм шаблонов клинков с функцией локализации.

В папке /resources/lang/en/ есть языковой файл messages.php:

return [
    'welcome' => 'welcome',

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

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

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

Как я могу подойти к этому?

4b9b3361

Ответ 1

Использовать PHP native ucfirst:

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

Ответ 2

Добавьте директиву клика в функцию загрузки/использования приложения/провайдера/AppServiceProvider:

public function boot() {

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

}

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

@lang_u('messages.welcome')

который выводит: Welcome

 

Вы @lang_u ('messages.welcome'):)

Ответ 3

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

контроллер

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

Посмотреть

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

Ответ 4

Я думаю, что лучший вариант - использовать свойство text-transform CSS

В вашем файле CSS:

.lowercase {
    text-transform: lowercase;
}
.uppercase {
    text-transform: uppercase;
}
.capitalize {
    text-transform: capitalize;
}

Ваш блейд (html) файл:

<p class="lowercase">{{ trans('messages.welcome') }}</p> <!-- This will display welcome -->
<p class="uppercase">{{ trans('messages.welcome') }}</p> <!-- This will display WELCOME -->
<p class="capitalize">{{ trans('messages.welcome') }}</p><!-- This will display Welcome -->

Или, лучший вариант для меня, используйте bootstrap

<p class="text-lowercase">{{ trans('messages.welcome') }}</p><!-- This will display welcome -->
<p class="text-uppercase">{{ trans('messages.welcome') }}</p><!-- This will display WELCOME -->
<p class="text-capitalize">{{ trans('messages.welcome') }}</p><!-- This will display Welcome -->