Dans le passé, j'ai écrit un petit projet Web expérimental lorsque je travaillais dans une société de logiciels étrangère. Une partie de l'exigence était de prendre en charge plusieurs langues (chinois simplifié, chinois traditionnel, anglais, coréen, japonais) pour l'utilisateur. À cette époque, la technologie des modèles était utilisée pour la mise en œuvre. Cette exigence est remplie et les paramètres de l'utilisateur sont enregistrés à l'aide de cookies. Cependant, l'utilisateur doit toujours sélectionner la langue lors de sa première connexion (ou après la suppression des cookies). ). Alors, cela peut-il être plus pratique pour les utilisateurs ? Un programme peut-il être utilisé pour aider automatiquement à la sélection ?
La réponse est oui, tout le monde utilise Google. Si vous utilisez le système chinois pour ouvrir la page d'accueil de Google, la page d'accueil en chinois s'ouvrira naturellement, pas les autres langues. Parce que Google déterminera automatiquement quelle est la langue préférée du système de l'utilisateur.
Comment pouvons-nous faire comme Google ? C’est en fait très simple.
Les informations d'en-tête HTTP envoyées par le navigateur au serveur Web contiennent des informations telles que Accept-Language. Ces informations sont la langue sous Outils->Options Internet->Général dans le navigateur. Elles sont utilisées pour définir les préférences de langue acceptables pour le navigateur. serveur, qui peut être une liste prioritaire de plusieurs langues acceptables.
Permettez-moi de prendre ASP comme exemple pour présenter brièvement "comment déterminer automatiquement la langue de l'utilisateur":
<%
Fonction RegExpTest(patrn, strng)
Dim regEx,Match,Matches' crée des variables.
Set regEx = New RegExp' Créez une expression régulière.
regEx.Pattern = patrn' définit le modèle.
regEx.IgnoreCase = True' définit si les caractères sont sensibles à la casse.
regEx.Global = True'Définit la disponibilité globale.
Set Matches = regEx.Execute(strng)'Exécuter la recherche.
Pour chaque correspondance dans les correspondances, parcourt la collection de correspondances.
RetStr = RetStr&Match.Valeur
Suivant
RegExpTest = RetStr
Fonction de fin
AL = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")' Récupère les paramètres de langue acceptables du navigateur de l'utilisateur
LG = RegExpTest("^[az-]+",AL)' Obtenez les préférences linguistiques acceptables du navigateur de l'utilisateur
sélectionnez le cas LG
cas "zh-cn"
réponse.écrire "中文(中国)"
cas "zh-tw"
réponse.écrire "Chinois (Taïwan)"
cas "zh-mo"
réponse.écrire "Chinois (RAS de Macao)"
cas "zh-hk"
réponse.écrire "Chinois (RAS de Hong Kong)"
cas "zh-sg"
réponse.écrire "Chinois (Singapour)"
cas "en-us"
réponse.écrire "Anglais (États-Unis)"
cas "ja"
réponse.écrire "Japonais"
cas "ko"
réponse.écrire "Coréen"
fin de la sélection
%>