web-dev-qa-db-fra.com

Comment mettre en majuscule la première lettre de Laravel Blade

J'utilise laravel (5.1) le moteur de gabarit de lame avec la fonction de localisation.

Il existe un fichier de langue messages.php Dans le dossier /resources/lang/en/:

return [
    'welcome' => 'welcome',

Dans mon modèle de lame, le message de bienvenue est appelé à l'aide de la méthode trans:

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

Dans certains cas, j'ai besoin de montrer le même message mais avec la première lettre en majuscule ("Welcome"). Je ne veux pas utiliser les enregistrements en double dans le fichier de traduction.

Comment puis-je aborder cela?

26
user947668

Utilisez la fonction native ucfirst == de PHP:

{{ ucfirst(trans('messages.welcome')) }}
73
Joseph Silber

Ajoutez une directive de lame à la fonction boot () de app/Providers/AppServiceProvider:

public function boot() {

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

}

De cette façon, vous pouvez utiliser les éléments suivants dans vos fichiers de lame:

@lang_u('messages.welcome')

quelles sorties: Bienvenue

Vous êtes @lang_u ('messages.welcome'):)

2
Pim

Une autre façon de faire capitaliser la première lettre en utilisant PHP et blade.

Manette

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

Vue

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

Je pense que la meilleure option est d'utiliser la propriété CSS text-transform

Dans votre fichier CSS:

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

Votre fichier blade (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 -->

Ou, la meilleure option pour moi, utilisez 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 -->
0
Zahit Rios