Maison > développement back-end > tutoriel php > Comment puis-je détecter de manière fiable le langage du navigateur en PHP pour servir la bonne page ?

Comment puis-je détecter de manière fiable le langage du navigateur en PHP pour servir la bonne page ?

Barbara Streisand
Libérer: 2024-12-09 09:44:06
original
387 Les gens l'ont consulté

How Can I Reliably Detect Browser Language in PHP to Serve the Correct Page?

Détecter la langue du navigateur dans PHP rendu robuste

Vous avez tenté d'inclure automatiquement la page appropriée en fonction de la langue du navigateur dans votre script PHP. Cependant, le script échoue avec certains navigateurs, affichant systématiquement la page "index_en.php". Pour résoudre ce problème et améliorer la fiabilité de votre solution, envisagez de mettre en œuvre les améliorations suivantes :

lixlpixel_get_env_var($Var) doit être modifié pour gérer les environnements dans lesquels $GLOBALS[$Var] peut déjà être défini.

Au lieu de rechercher de manière itérative les langues acceptées à l'aide de strpos, analysez l'en-tête HTTP_ACCEPT_LANGUAGE dans un tableau et recherchez un match.

Envisagez de stocker vos langues disponibles dans une base de données ou une autre source de données structurée au lieu de vous fier au tableau codé en dur.

Implémentez un mécanisme de secours plus robuste qui inclut une liste de priorités de langues ou redirige vers une page de sélection de langue.

Une alternative simplifiée

Pour une approche plus simple, vous pouvez utiliser le script suivant :

    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $acceptLang = ['fr', 'it', 'en']; 
    $lang = in_array($lang, $acceptLang) ? $lang : 'en';
    require_once "index_{$lang}.php"; 
Copier après la connexion

Ce script conserve la fonctionnalité prévue de détection de la langue du navigateur à l'aide de l'en-tête HTTP_ACCEPT_LANGUAGE et du chargement de la page "index_xx.php" correspondante. Il utilise la fonction substr native de PHP pour extraire les deux premiers caractères du code de langue. Le tableau $acceptLang définit les langues acceptées. Si la langue détectée correspond à une langue du tableau, elle est utilisée ; sinon, « en » est considéré comme la valeur par défaut. L'instruction require_once inclut le fichier "index_xx.php" approprié en fonction de la langue détectée.

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