Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Créer un site Web multilingue en PHP à l’aide du framework Laravel

448

Vous souhaitez créer un site web multilingue en PHP? Un site Web multilingue permet d’augmenter les audiences de plusieurs régions. Dans cet article, nous étudions comment créer un site Web multilingue en PHP à l’aide du framework Laravel.

Laravel a une fonctionnalité intégrée de localisation. La localisation linguistique est le processus de traduction du contenu dans différentes langues. En utilisant cette fonctionnalité intégrée de Laravel, nous pouvons ajouter la prise en charge de plusieurs langues sur le site Web de Laravel.

Dans Laravel, vous pouvez facilement récupérer des chaînes dans différentes langues, grâce auxquelles vous pouvez prendre en charge plusieurs langues dans l’application.

Il existe 2 façons de définir des chaînes de traduction dans Laravel – en utilisant des touches courtes et en utilisant des chaînes de traduction comme clés. Jetons-y un coup d’œil un par un.

Traduction Laravel à l’aide de touches courtes

Pour commencer, vous devez d’abord connaître les structures de répertoires utilisées pour la traduction dans Laravel.

Disons que vous devez ajouter la prise en charge de la langue « allemande ». Alors, créez un répertoire ‘de’ dans le dossier ‘ressources/lang’.

Créer un site Web multilingue en PHP à l'aide du framework Laravel

Il est recommandé d’utiliser le nom du dossier selon le territoire selon les valeurs ISO. Vous pouvez obtenir la liste des codes pour les langues ici.

Créez un fichier messages.phpdans le dossier ‘de’. Ce fichier contient un tableau de chaînes codées. Vous trouverez ci-dessous l’exemple où nous utilisons la traduction allemande du mot anglais « welcome ».

<?php
 
return [
    'welcome' => 'Herzlich willkommen',
];

Ici, « bienvenue » est une clé définie par l’utilisateur. Cette clé sera utilisée pour récupérer les chaînes de traduction en langue allemande. Vous pouvez ajouter autant de clés dans ce fichier. Lors de l’ajout de clés, vous devez utiliser des clés uniques dans le tableau. Les clés en double entraîneront une mauvaise traduction.

Le processus ci-dessus est simple si votre site Web n’a pas beaucoup de contenu. Mais, si votre site Web est assez riche en contenu, il sera difficile de conserver des clés uniques. Dans de tels cas, optez pour la deuxième option consistant à transmettre des chaînes de traduction en tant que clés.

Utilisation de chaînes de traduction comme clés

Dans cette approche, vous n’avez pas besoin de transmettre une clé unique. Ce que vous devez faire est de créer un fichier de.jsondans le répertoire ‘resources/lang’. Ensuite, dans ce fichier JSON, transmettez la chaîne de traduction en tant que clés.

Par exemple, vous voulez une traduction allemande de la phrase anglaise « Comment allez-vous ? » puis dans le de.jsonfichier ajoutez la paire ci-dessous.

{
    "How are you?": "Wie geht es dir?"
}

La clé de la chaîne de traduction doit correspondre exactement à ce que vous voulez traduire. Ce sera beaucoup plus facile car dans le code, vous devez passer directement une chaîne de traduction.

Définir la langue du site Web Laravel

Lorsque nous installons Laravel, la langue par défaut définie est ‘en’. Pour changer la langue par défaut, ouvrez le config/app.phpfichier. Recherchez la clé « locale » et définissez le code de langue. Dans notre cas, ce sera 'locale' => 'de'.

Alternativement, vous pouvez définir le language runtime à l’aide de la setLocaleméthode de Appfaçade. Dans le code ci-dessous, j’ai défini la langue dans le constructeur.

use App;
public function __construct() {
    App::setLocale('de');
}

Obtenir des chaînes de traduction et les remplacer

Pour obtenir le texte traduit à partir des fichiers de langue, Laravel a fourni une méthode d’assistance ”. Dans le code ci-dessous, je récupère les chaînes de traduction à la fois messages.phpet de.jsondans le fichier blade.

{{ __('messages.welcome') }} //Output, Herzlich willkommen
 
{{ __('How are you?') }} //Output, Wie geht es dir?

Dans le contrôleur, vous pouvez obtenir la chaîne de traduction en utilisant la echofonction.

echo __('messages.welcome');
echo __('How are you?');

Espaces réservés dans les chaînes de traduction

Laravel explore également les fonctionnalités de traduction où vous pouvez passer des espaces réservés dans les chaînes de traduction.

'welcome' => 'Welcome, :name',

Ou en de.josnfichier,

{
    "How are you?": "Wie geht es dir, :name?"
}

Pour remplacer les espaces réservés dans l’application, nous devons écrire le code comme suit.

{{ __('messages.welcome', ['name' => 'John']) }}
 
{{ __('How are you?', ['name' => 'John']) }}

Si nous écrivons un espace réservé comme ‘:NAME’ la sortie serait ‘JOHN’ et pour ‘:Name’ la sortie serait ‘John’.

J’espère que vous comprenez comment créer un site Web multilingue en PHP en utilisant le framework Laravel. S’il vous plaît partager vos pensées et suggestions dans la section commentaires ci-dessous.

Articles Liés

Source d’enregistrement: artisansweb.net

Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Plus de détails