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 :
<code class="php"><?php // app/lang/pl/routes.php return array( 'contact' => 'kontakt', 'about' => 'o-nas' );</code>
<code class="php"><?php // app/lang/en/routes.php return array( 'contact' => 'contact', 'about' => 'about-us' );</code>
<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 :
<code class="php">'locale' => 'pl',</code>
<code class="php">'alt_langs' => array('en', 'fr'),</code>
<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!