2010-03-10 6 views
2

J'ai besoin de mettre en place une fonction d'autodétection pour un site web html simple et simple sur lequel je travaille. Il a deux langues et le client veut qu'il sélectionne automatiquement la langue. Cela peut se faire soit par la langue du navigateur, soit par la géolocalisation, les deux options sont bonnes. Est-ce que quelqu'un peut me diriger vers un bon script ou une bonne solution pour le faire? Ive été la recherche d'un certain temps et cant semblent trouver quoi que ce soit ...Le moyen le plus efficace pour détecter/sélectionner automatiquement la langue dans un site Web?

Merci

Répondre

3

Utilisez l'en-tête HTTP Accept-Language.

+0

hmmm, ça sonne bien, mais comment se passerait-il d'une telle chose ...? –

+0

http://stackoverflow.com/questions/2352205/how-to-redirect-users-based-on-browser-language/2352250#2352250 – Sinan

1

Vous pouvez utiliser l'UserAgent du navigateur. Je n'utiliserais pas la géolocalisation ... Je suis en Autriche mais je préfère les sites en anglais, c'est pourquoi j'ai changé mon UserAgent pour qu'il ressemble à cela, et la plupart des sites web s'y conforment.

+1

Sans oublier les touristes, les voyageurs et les immigrants. Et les régions où deux ou plusieurs langues sont parlées. –

0

en javascript, les informations de langue sont stockées dans l'objet de navigation global (navigator.language dans FF et navigator.browserLanguage/systemLanguage dans MSIE).

2

L'en-tête HTTP Accept-Language est généralement le meilleur moyen, mais n'est disponible que sur le serveur. Depuis que vous utilisez une page html simple (je lis statique) et JavaScript, vous aurez besoin d'une approche différente.

Différents navigateurs exposent des informations de langue de différentes façons:

document.navigator.language; // firefox 
document.navigator.browserLanguage; // IE 

Je ne sais pas ce que les autres navigateurs font. Je pense que les valeurs seront des choses comme "en" ou "en-us", donc vous devriez expérimenter. Pour les navigateurs que vous ciblez, définissez le paramètre de langue sur ceux qui vous intéressent, et voyez ce que les valeurs ci-dessus font ressortir des expressions ci-dessus.

Questions connexes