Comment capitaliser la première lettre dans Laravel Lame

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

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

return [
    'welcome' => 'welcome',

Dans mon modèle de lame, le message de bienvenue est appelé en utilisant 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 ("Bienvenue"). Je ne veux pas utiliser d'enregistrements en double dans le fichier de traduction.

Comment puis-je aborder cela?

22
demandé sur Joseph Silber 2015-09-10 00:19:04

3 réponses

Utiliser le natif de PHPucfirst Fonction:

{{ ucfirst(trans('messages.welcome')) }}
54
répondu Joseph Silber 2015-09-09 21:20:50

Ajoutez une directive blade à 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 ce qui suit dans vos fichiers blade:

@lang_u('messages.welcome')

Quelles sorties: bienvenue

 

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

1
répondu Pim 2017-09-05 09:44:19

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

Contrôleur

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

Vue

<h1>{{ ucfirst($name) }}</h1>
0
répondu Krishnamoorthy Acharya 2018-08-14 05:03:35