Maison  >  Article  >  développement back-end  >  Comment créer des itinéraires multilingues dans Laravel ?

Comment créer des itinéraires multilingues dans Laravel ?

DDD
DDDoriginal
2024-11-03 21:22:29137parcourir

How to Create Multilingual Routes in Laravel?

Comment créer des itinéraires traduits multilingues dans Laravel

Introduction

La traduction d'itinéraires est essentielle pour créer des applications multilingues. Dans Laravel, il est possible d'avoir plusieurs langues et de changer dynamiquement de langue en fonction de l'URL. Cet article explique comment implémenter des itinéraires traduits multilingues dans Laravel en utilisant la première méthode décrite dans l'article de référence.

Étape 1 : Traduire les itinéraires

Créer trois fichiers routes.php dans le répertoire app/lang pour chaque langue (par exemple, pl/routes.php, en/routes.php et fr/routes.php). A l'intérieur de chaque fichier, traduisez l'itinéraire noms :

  • polonais :
<code class="php"><?php
// app/lang/pl/routes.php

return array(

    'contact' => 'kontakt',
    'about' => 'o-nas'
);</code>
  • anglais h:
<code class="php"><?php
// app/lang/en/routes.php

return array(
    'contact' => 'contact',
    'about' => 'about-us'
);</code>
  • Français:
<code class="php"><?php
// app/lang/fr/routes.php

return array(
    'contact' => 'contact-fr',
    'about' => 'about-fr'
);</code>

Étape 2 : Configurer les paramètres de langue

Mettre à jour le fichier app/config/app.php :

  • Définir la langue principale :
<code class="php">'locale' => 'pl',</code>
  • Listez les langues alternatives :
<code class="php">'alt_langs' => array('en', 'fr'),</code>
  • Définissez les paramètres régionaux préfixe :
<code class="php">'locale_prefix' => '',</code>

Étape 3 : Définir les modèles d'itinéraire

Dans app/routes.php, configurez les modèles d'itinéraire en fonction des traductions linguistiques :

<code class="php"><?php
// app/routes.php

foreach(Lang::get('routes') as $k => $v) {
    Route::pattern($k, $v);
}</code>

Étape 4 : Regrouper les itinéraires par Paramètres régionaux

Créez un groupe de routes avec un préfixe égal aux paramètres régionaux sélectionnés :

<code class="php"><?php
Route::group(array('prefix' => Config::get('app.locale_prefix')), function() {

    Route::get(
        '/',
        function () {
            return "main page - " . App::getLocale();
        }
    );

    Route::get(
        '/{contact}/',
        function () {
            return "contact page " . App::getLocale();
        }
    );

    Route::get(
        '/{about}/',
        function () {
            return "about page " . App::getLocale();
        }
    );
});</code>

Étape 5 : Gérer les redirections

Dans app/start/global.php, créez une redirection 301 pour les URL inconnues vers la bonne langue :

<code class="php"><?php
// app/start/global.php

App::missing(function() {
   return Redirect::to(Config::get('app.locale_prefix'), 301);
});</code>

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