À l'ère mondiale de l'Internet d'aujourd'hui, la construction d'un site Web multilingue est devenue particulièrement importante. Avec PHP, vous pouvez facilement ajouter plusieurs options linguistiques à votre site Web pour offrir une expérience d'accès personnalisée aux utilisateurs dans différentes régions. Cet article vous mènera étape par étape pour comprendre comment utiliser PHP pour créer un site Web multilingue, éliminer les barrières linguistiques et améliorer la mondialisation et l'attractivité du site Web.
Tout d'abord, vous devez créer une table de base de données pour le contenu multilingue de votre site Web. Ce tableau stockera des informations de traduction dans différentes langues. Voici les instructions SQL pour la création de tables multilingues:
CREATE TABLE translations (
id INT NOT NULL AUTO_INCREMENT,
locale VARCHAR(255) NOT NULL,
key VARCHAR(255) NOT NULL,
value TEXT NOT NULL,
PRIMARY KEY (id)
);
Pour faciliter les utilisateurs de choisir leur propre langue, vous pouvez ajouter un commutateur de langue en haut ou la barre latérale du site Web. En définissant un paramètre de GET simple, les utilisateurs peuvent choisir la langue qu'ils souhaitent. Voici un exemple de code:
// Obtenez la langue actuelle
$current_locale = isset($_GET["locale"]) ? $_GET["locale"] : "en";
// Liens linguistiques
$languages = array("en", "es", "fr");
foreach ($languages as $lang) {
echo "<a href=?locale=$lang">$lang</a> ";
}
Afin de charger le contenu traduit correspondant en fonction du langage sélectionné par l'utilisateur, vous devez obtenir des informations de traduction à partir de la base de données. Voici le code pour charger la traduction de la langue actuelle de la base de données:
// Traduction de requête
$translations = $db->prepare("SELECT * FROM translations WHERE locale = ?");
$translations->execute(array($current_locale));
// Stocker des tableaux de traduction
$tr = array();
foreach ($translations as $row) {
$tr[$row["key"]] = $row["value"];
}
Dans la page HTML, vous pouvez utiliser la fonction GetText pour afficher le contenu traduit de la langue actuelle:
// utiliser gettext Obtenir une traduction
echo gettext("This is a test");
Pour les dates et les heures, vous pouvez utiliser l'extension INTL de PHP pour atteindre l'internationalisation. Cela garantit que la date et l'heure sont formatées en fonction des paramètres dans différentes régions:
// créer DateTime Objet
$dt = new DateTime();
// Définir le fuseau horaire
$dt->setTimezone(new DateTimeZone("Europe/London"));
echo $dt->format("Y-m-d H:i:s");
De même, vous pouvez également localiser les nombres et les devises avec des extensions INTL. Par exemple, afficher la monnaie au format américain:
// créer NumberFormatter Objet
$formatter = new NumberFormatter("en_US", NumberFormatter::CURRENCY);
// Format monnaie
$amount = 1000;
echo $formatter->formatCurrency($amount, "USD");
Pour garder le code clair, vous pouvez écrire des fonctions pour simplifier le processus de traduction et d'internationalisation. Par exemple, vous pouvez créer une fonction de traduction simplifiée:
function t($key) {
global $tr;
return isset($tr[$key]) ? $tr[$key] : $key;
}
Grâce aux étapes ci-dessus, vous pouvez facilement créer un site Web soutenu par multilingue en utilisant PHP, éliminer les barrières linguistiques et améliorer l'internationalisation du site Web. Qu'il s'agisse de texte de traduction, de dates et de heures internationales ou de formatage des devises, PHP vous fournit un soutien puissant pour permettre à votre site Web de servir les utilisateurs du monde entier.