Maison >développement back-end >tutoriel php >Comment mettre en œuvre un site Web multilingue en PHP

Comment mettre en œuvre un site Web multilingue en PHP

王林
王林original
2023-05-22 11:31:351097parcourir

Avec la popularité croissante d'Internet, de plus en plus de sites Web doivent prendre en charge plusieurs langues. En effet, le public du site Web peut provenir de différentes régions et origines culturelles, et si le site Web n'est disponible que dans une seule langue, cela peut limiter le nombre et l'expérience des visiteurs. Cet article présentera comment implémenter un site Web multilingue en PHP.

1. Création et conception de fichiers de langue

Un fichier de langue est un fichier qui stocke toutes les chaînes de texte et leurs traductions correspondantes, et doit être créé dans un format spécifique. Lors de la création de fichiers de langue, vous devez prendre en compte les aspects suivants :

1 Nom et emplacement de stockage

Le nom du fichier doit clairement indiquer à quelle langue et à quelle section du site Web il appartient. , et stocké dans un dossier facile d'accès et de gestion.

2. Choix des noms de variables

Les noms de variables doivent être significatifs, faciles à comprendre et à mémoriser, et les différentes parties du site Web peuvent être distinguées grâce à des préfixes de dénomination.

3. Exactitude et format de la traduction

La traduction doit refléter avec précision le sens du texte original et suivre le format correct de grammaire et de vocabulaire.

2. Utilisez les fonctions PHP pour implémenter le multilingue

1 Lisez le fichier de langue

En PHP, utilisez la fonction file_get_contents() pour lire le fichier de langue à partir du fichier de langue Lire la chaîne. Convertissez la chaîne JSON en tableau à l'aide de la fonction json_decode() afin que la chaîne de texte et sa traduction correspondante soient accessibles via des paires clé-valeur.

Par exemple, l'extrait de code suivant montre comment lire un fichier de langue allemande nommé "de.json" :

$language = "de";
$file = "translations/" . $language . ".json";
$string = file_get_contents($file);
$translations = json_decode($string, true);

2 Définissez la langue par défaut

#. 🎜 🎜#Définissez une constante nommée $lang pour représenter la langue par défaut. Par exemple, la commande suivante définit l'anglais comme langue par défaut :

define('LANG', 'en');

3. Changez de langue en fonction de la langue sélectionnée par l'utilisateur

Si l'utilisateur doit changer de langue. langues, ils peuvent utiliser des requêtes GET ou POST. Le sélecteur de langue peut être fourni sous forme de menu de navigation ou dans un menu déroulant en haut du site Web.

Par exemple, l'extrait suivant montre comment répondre à une requête GET nommée "lang" et la définir sur la langue actuelle :

if (isset($_GET['lang'])) {
    $_SESSION[LANG] = $_GET['lang'];
}

4. -Paires de valeurs

Pour générer une chaîne de texte spécifique à une langue, utilisez une fonction d'affichage telle que echo ou print, puis saisissez la traduction de la clé. L'extrait de code suivant explique comment imprimer une chaîne de texte en PHP :

echo $translations['PAGE_HEADER'];

Dans cet exemple, la chaîne "PAGE_HEADER" est un identifiant clé-valeur défini dans le fichier de langue.

3. Utilisez la base de données pour stocker des fichiers multilingues

Si vous avez besoin de gérer dynamiquement le contenu d'un site Web, vous pouvez stocker des chaînes de texte multilingues dans la base de données. De plus, un système de gestion multilingue peut être placé dans le backend du site Web et fournir une interface pour ajouter, modifier et supprimer des chaînes de texte.

1. Ajouter la prise en charge d'une langue

Lors de l'ajout de la prise en charge d'une nouvelle langue, vous pouvez insérer un enregistrement dans la base de données. Chaque enregistrement contient une clé de chaîne de texte, une valeur de chaîne de texte et un identifiant pour la langue. Par exemple, l'exemple suivant insère un nouvel enregistrement de langue avec l'identifiant de langue « fr ».

INSERT INTO translations (key, value, lang) VALUES ('PAGE_TITLE', 'Titre de la page', 'fr');

2. Obtenez la chaîne de texte et sa traduction

Vous pouvez utiliser des chaînes de connexion et des requêtes SQL pour obtenir les clés et les valeurs d'une chaîne de texte spécifique à une langue. L'extrait de code suivant montre comment obtenir la traduction du titre de la page en français.

$lang = 'fr';
$key = 'PAGE_TITLE';
$query = "SELECT value FROM translations WHERE key='$key' AND lang='$lang'";
$result = mysqli_query($conn, $query);
$row = mysqli_fetch_row($result);
echo $row[0];

Ici, $conn est la variable connectée à la base de données.

4. Conclusion

Cet article présente comment implémenter un site Web multilingue en PHP. Ceci peut être réalisé en créant et en concevant des fichiers de langue, en utilisant des fonctions PHP pour implémenter des fonctionnalités multilingues et en utilisant une base de données pour stocker plusieurs langues. Quelle que soit la méthode que vous choisissez, un site Web multilingue peut mieux servir un public diversifié et accroître l'accessibilité et la popularité du site.

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