Maison  >  Article  >  cadre php  >  Développement Laravel : Comment utiliser la localisation Laravel pour obtenir un support multilingue ?

Développement Laravel : Comment utiliser la localisation Laravel pour obtenir un support multilingue ?

王林
王林original
2023-06-13 10:27:041652parcourir

Avec la tendance à la mondialisation, de plus en plus de sites Web et d'applications doivent prendre en charge plusieurs langues. Dans le développement de sites Web traditionnels, il est généralement nécessaire de créer manuellement des pages dans plusieurs langues, ce qui est non seulement long et laborieux, mais également sujet aux erreurs. Avec le développement des technologies de développement modernes, il est devenu courant d'utiliser des frameworks et des outils pour simplifier la prise en charge multilingue.

Dans le développement de Laravel, la localisation de Laravel est un moyen populaire d'obtenir une prise en charge multilingue. Cet article explique comment utiliser la localisation de Laravel pour implémenter la prise en charge multilingue dans les applications Laravel.

  1. Installation et configuration

Tout d'abord, vous devez installer le composant de localisation de Laravel. Vous pouvez utiliser composer pour installer :

composer require "laravelcollective/html":"^5.8.0"
php artisan vendor:publish --tag=laravel-errors --force

Ensuite, vous devez créer un nouveau fichier locale.php sous app/config pour configurer les options de langue prises en charge :

return [
    'locales' => ['en' => 'English', 'zh' => '中文'],
    'default_locale' => 'en'
];

Ici, locales Le tableau contient les options de langue prises en charge, où la clé de chaque élément est le code de langue et la valeur est le nom de la langue. default_locale spécifie l'option de langue par défaut.

  1. Créer des ressources multilingues

Ensuite, vous devez créer les fichiers de ressources linguistiques correspondants pour chaque langue prise en charge. Un fichier de ressources de langue contient généralement un tableau contenant toutes les chaînes localisées utilisées dans ces paramètres régionaux. Ces fichiers peuvent être rapidement créés à l'aide de la commande artisan, comme indiqué ci-dessous :

php artisan make:lang en
php artisan make:lang zh

Cela créera deux répertoires de langue, un pour l'anglais et un pour le chinois.

  1. Modifier les ressources multilingues

Modifiez le fichier de ressources linguistiques pour chaque langue pour ajouter des chaînes localisées spécifiques à cette langue dans le tableau. Par exemple, dans les fichiers en.php et zh.php, vous pouvez ajouter ce qui suit :

// en.php
return [
    "welcome" => "Welcome to our site",
    "about" => "About Us",
    "contact" => "Contact Us"
];

// zh.php
return [
    "welcome" => "欢迎访问我们的网站",
    "about" => "关于我们",
    "contact" => "联系我们"
];
  1. Utiliser des chaînes localisées dans les vues
#🎜🎜 # Lorsque la vue doit contenir des chaînes localisées, vous pouvez utiliser la fonction trans fournie dans Laravel Localization. La fonction trans accepte une clé de chaîne localisée et renvoie la chaîne localisée correspondante. Par exemple, dans un modèle de lame, vous pouvez utiliser la fonction trans comme ceci :

<h1>{{ trans('messages.welcome') }}</h1>

Ici, la fonction trans renverra la chaîne localisée correspondante en fonction des paramètres régionaux actuels.

    Changer d'option de langue
Enfin, la fonction de changement d'option de langue peut également être fournie dans l'application. Vous pouvez créer une zone déroulante dans la vue pour basculer l'option de langue et utiliser JavaScript pour soumettre le formulaire afin que l'option de langue sélectionnée soit enregistrée dans la session Laravel.

<form id="locale-form" method="POST" action="{{ url('locale') }}">
    {{ csrf_field() }}
    <select name="locale" onchange="document.querySelector('#locale-form').submit();">
        @foreach (Config::get('locale.locales') as $key => $value)
            <option value="{{ $key }}" {{ ($key === App::getLocale()) ? ' selected' : '' }}>{{ $value }}</option>
        @endforeach
    </select>
</form>

Ajoutez le code suivant à votre itinéraire pour gérer les demandes du formulaire d'options de langue :

Route::post('locale', function(Request $request) {
    App::setLocale($request->locale);
    return redirect()->back();
});

Cela mettra à jour les options de langue dans la session en cours et redirigera vers la page précédente .

Conclusion

L'utilisation de Laravel Localization vise à simplifier la prise en charge multilingue pour localiser facilement tous les éléments de page dans les applications Laravel. Les étapes présentées dans cet article peuvent être utilisées comme point de départ pour implémenter la prise en charge multilingue dans votre application Laravel. Dans le processus réel, des ajustements et une personnalisation appropriés peuvent également être effectués en fonction des besoins de l'application.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn