Comment connaitre la langue du système du visiteur ?

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
dj.dom
Gecko
Messages : 88
Inscription : 22 juin 2006, 02:58

Comment connaitre la langue du système du visiteur ?

Message par dj.dom »

Bonjour

Comment connaitre la langue du système du visiteur ? J'ai fait une recherche sur google et sur ce forum et je n'ai rien trouvé... J'espère quand-même que c'est possible.

Mon idée est de faire un script du genre :

(sur la page en français)
Si la langue de l'utilisateur est different de FR
alors HTTP-EQUIV="Refresh" CONTENT="0;URL=(url de la même page en anglais)>

(sur la page en anglais)
Si la langue de l'utilisateur = FR
alors HTTP-EQUIV="Refresh" CONTENT="0;URL=(la même page en français)>

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; FDM)
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Message par Bobe »

Tu ne pourras pas faire ça directement dans la page html avec des meta.
Si le serveur web est Apache, tu peux peut-être utiliser la négociation de contenu.

Créé deux pages html: mapage.fr.html et mapage.en.html
Il suffira ensuite d’appeller http://host/[chemin]/mapage et Apache servira la bonne page en fonction des préférences de langue indiquées par le navigateur.

Si ça ne fonctionne pas (erreur 404), c’est probablement que la négociation de contenu n’est pas active. Dans ce cas, ajoute un fichier .htaccess dans ton espace web et contenant la ligne suivante:

Code : Tout sélectionner

Options +MultiViews
« La vie d’un geek est un combat perpétuel contre l’imperfection »
dj.dom
Gecko
Messages : 88
Inscription : 22 juin 2006, 02:58

Message par dj.dom »

Ok merci, je vais essayer. :)
Si la personne se trouve dans un autre pays, dont la langue n'est ni le français ni l'anglais, elle aura quelle page ?
Et si je me décide à faire également les pages en espagnol, j'aurai juste à mettre .esp et ça fonctionnera ?

Je suis hébergé par Free, j'espere qu'il est Apache le serveur.

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; FDM)
Bobe
Iguane
Messages : 742
Inscription : 28 juil. 2003, 21:29

Message par Bobe »

dj.dom a écrit :Si la personne se trouve dans un autre pays, dont la langue n'est ni le français ni l'anglais, elle aura quelle page ?
C’est pas une notion de pays mais de langue.
Je pourrais tout aussi bien me trouver au chili et néanmoins régler mon navigateur pour préférer la langue française s’il y a une négociation de contenu possible et basée sur la langue.
Et si je me décide à faire également les pages en espagnol, j'aurai juste à mettre .esp et ça fonctionnera ?
Pour reprendre mon exemple plus haut : mapage.es.html

Mais ça ne dispense pas d’ajouter dans chaque page (par exemple dans le pied de page) un lien vers les autres langues dans lesquelles est disponible le document. :wink:
Je suis hébergé par Free, j'espere qu'il est Apache le serveur.
Oui, Free utilise Apache.
« La vie d’un geek est un combat perpétuel contre l’imperfection »
dj.dom
Gecko
Messages : 88
Inscription : 22 juin 2006, 02:58

Message par dj.dom »

C’est pas une notion de pays mais de langue.
Je pourrais tout aussi bien me trouver au chili et néanmoins régler mon navigateur pour préférer la langue française s’il y a une négociation de contenu possible et basée sur la langue.
Je vois. Ce dont j'avais peur c'est qu'elle n'ait aucune page. :shock:

Le nom du fichier c'est juste ".htaccess" avec rien devant ? Car Windows ne veut pas que je donne ce nom à un fichier... Sinon après, je le met à la racine de mon espace web ou dans le répertoire où se trouve mon site ?

Message envoyé avec : Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; FDM)
Nucleos
Lézard à collerette
Messages : 282
Inscription : 04 juil. 2003, 17:04

Message par Nucleos »

Pour information, les gros sites (et les CMS en tout genre) utilisent souvent gettext : voir un tutoriel chez Mandragor, c'est très pratique et extrêmement bien géré par PHP si le site commence à prendre de l'ampleur. (Et ça permet de n'avoir qu'un fichier .po à traduire au cas où il y aurait une troisième langue qui vienne se greffer.)
dj.dom a écrit :Le nom du fichier c'est juste ".htaccess" avec rien devant ? Car Windows ne veut pas que je donne ce nom à un fichier... Sinon après, je le met à la racine de mon espace web ou dans le répertoire où se trouve mon site ?
Dans le monde UNIX, ce sont les fichiers/dossiers dont le nom commence par un point qui sont considérés comme fichiers/dossiers cachés. Oui, c'est bien .htaccess. D'ailleurs, une recherche rapide sur un moteur de recherche t'aurait permis de trouver la réponse, c'est une des fonctions les plus utilisés/documentés de Apache.

Tu peux mettre où tu veux ce .htaccess, mais il n'affectera QUE le dossier dans lequel il est contenu (avec les sous-dossiers contenus dans ce dernier bien sûr.)
« La clarté est la politesse des professeurs. » (E. Gerurez)
... Posons de bonnes questions !
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités