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

Barbara Streisand
Libérer: 2024-11-04 03:01:30
original
154 Les gens l'ont consulté

How to Create Multilingual Translated Routes in Laravel?

Création d'itinéraires traduits multilingues dans Laravel

Dans les applications Laravel, vous pouvez créer des itinéraires multilingues qui dépendent de la langue sélectionnée, permettant à un utilisateur -expérience de navigation conviviale.

Étape 1 : Configurer les répertoires de langues et les traductions

Créez trois répertoires de langues distincts sous app/lang (par exemple, pl, en, fr). Dans chaque répertoire, créez un fichier nommé routes.php qui contient les noms de routes traduits :

<code class="php">// app/lang/pl/routes.php
return array(
    'contact' => 'kontakt',
    'about' => 'o-nas'
);</code>
Copier après la connexion
<code class="php">// app/lang/en/routes.php
return array(
    'contact' => 'contact',
    'about' => 'about-us'
);</code>
Copier après la connexion
<code class="php">// app/lang/fr/routes.php
return array(
    'contact' => 'contact-fr',
    'about' => 'about-fr'
);</code>
Copier après la connexion

Étape 2 : Configurer les paramètres de langue

Dans app/config/app.php :

  • Définissez 'locale' sur votre langue par défaut (par exemple, 'pl').
  • Incluez la liste des langues alternatives dans 'alt_langs ' (par exemple, ['en', 'fr']).
  • Laissez 'locale_prefix' vide pour le préfixe de langue par défaut.
<code class="php">'locale' => 'pl',
'alt_langs' => ['en', 'fr'],
'locale_prefix' => '',</code>
Copier après la connexion

Étape 3 : Définir des modèles de route et un groupe dépendant de la langue

Dans app/routes.php :

  • Si le premier segment de l'URL correspond à une autre langue, mettez à jour les paramètres régionaux et locale_prefix .
  • Définissez des modèles d'itinéraire en fonction des traductions linguistiques actuelles.
  • Créez un groupe d'itinéraires avec le préfixe de langue appliqué.
<code class="php">if (in_array(Request::segment(1), Config::get('app.alt_langs'))) {

    App::setLocale(Request::segment(1));
    Config::set('app.locale_prefix', Request::segment(1));
}

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

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>
Copier après la connexion

Étape 4 : Gérer les URL inconnues

Dans app/start/global.php :

  • Rediriger toutes les URL inconnues vers le préfixe de langue correct avec un code d'état 301 :
<code class="php">App::missing(function() {
   return Redirect::to(Config::get('app.locale_prefix'), 301);
});</code>
Copier après la connexion

En mettant en œuvre ces étapes, vous créerez des itinéraires dynamiques qui s'adaptent à la langue sélectionnée, garantissant une expérience utilisateur transparente dans plusieurs langues.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!