Bonjour,
Comment peut-on faire en sorte que la page affichée par son site internet corresponde à la langue de l'utilisateur ou du moins du pays où l'utilisateur se trouve? préférence en HTML.
Merci
Version imprimable
Bonjour,
Comment peut-on faire en sorte que la page affichée par son site internet corresponde à la langue de l'utilisateur ou du moins du pays où l'utilisateur se trouve? préférence en HTML.
Merci
Bonjour,
un document intéressant sur le sujet est fourni par le W3C :
Declaring Language in XHTML and HTML.
merci polymorphisme
mais je veux faire qqs chose de très simple.
par exemple, dans mon domaine disposer de 3 index:
indexfr.html en français
indexen.html en anglais
indexes.html en espagnol
Et que si l'utilisateur est espagnol, que lorsqu'il se connecte sur mon site www.monsite.com que indexes.html s'affiche car il se trouve en espagne ou alors que la configuration de son pc est espagnol.
un comme dans google.
merci
Ce n'est pas vraiment le sujet mais tant qu'à faire les choses une fois, autant bien les faire...
Mieux vaut créer un sous domaine propre à chaque langue, cela améliorera ton référencement:
http://es.monsite.com/index.htm
http://www.monsite.com/index.htm
http://fr.monsite.com/index.htm
Salut et merci
J'ai l'intention d'utiliser php pour rediriger automatique en fonction de la langue de l'utilisateur.
je compte mettre ce code php dans mon HTML:
mais il me met l'erreur suivante:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <?php if(!isset($langue_user)&&!isset($_SESSION["ch_langue"])){ $langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2); switch($langue_user){ case"fr": $_SESSION["ch_langue"]="fr"; break; case"en": $_SESSION["ch_langue"]="en"; header("Location:http://www.monsiter.com/anglais.php"); break; case"es": $_SESSION["ch_langue"]="es"; header("Location:http://www.monsiter.com/espagnol.php"); break; default: $_SESSION["ch_langue"]="fr"; header("Location:http://www.monsiter.com/index.php"); break; } } ?>
Warning: Cannot modify header information - headers already sent by ....on line 15
Peut-être que je place mal la code php dans HTML, help SVP!
Bonjour,
Je doute que cette forme de sous-domaine soit explicite pour les internautes.Citation:
Quant à savoir la structure que tu propose améliore le référencement, je suis curieux de savoir : une amélioration mais par rapport à quoi, quelle comparaison est faite ? quelles sont les méthodes utilisées ? quelles sont tes sources ?
Je préférerais une url de la forme www.monsite.com/en. Elle ne change pas le domaine, important pour se faire connaitre dans le long terme et elle reflète l'architechture en répertoire du développeur.
L'article proposé est vraiment la base la plus simple de ce qui doit être mis en oeuvre. De toute façon, il faut mettre en place un système de détection de la langue de ton utilisateur.
Salut dcvman,
Essaies de placer ton code avant la balise <head>.
Tu peux même le mettre avant <html>
Bien à toi,
Akxn0008
Hello!
Je m'intéresse au référencement et je me base sur ce que j'ai lu et ce que pratiquent quelques sites multilingues comme wikipedia ou yahoo.
Je ne prétend pas détenir la vérité absolue mais bon, yahoo et wikipedia ne sont pas les premiers venus, ils savent ce qu'ils font.
Et par contre si le nom de domaine contient des mots clés, mieux vaut investir dans un nom de domaine propre à chaque langue car effectivement monsitecontenantdesmotscles.com ne veut rien dire pour un hispanophone ni pour un anglophone donc cela ne rime à rien. Il vaudrait mieux dans ce cas acheter misitioconteniendopalabrasclaves.es, monsitecontenantdesmotscles.fr et mywebsitecontainingkeywords.com...
Ce que je disais ne va pas à l'encontre du système de détection de la langue de l'utilisateur: quand je tape http://www.yahoo.com, yahoo détecte que j'utilise firefox en français et me redirige automatiquement vers l'adresse http://fr.yahoo.com
Bon je ferme la parenthèse référencement, ce n'est pas le topic ici.
@dcvman alors ça fonctionne après le conseil de Akxn0008 ?
Je me permet juste d'intervenir pour dire qu'à la suite d'un header de redirection il est conseiller de mettre un exit à la suite :
Cela t'évitera de mauvaises surprises dans certaines circonstances même si ça fonctionne souvent bien sans cela (mais pas toujours et le exit permet de t'assurer du bon fonctionnement dans tous les cas).Code:
1
2 header("Location:http://www.monsiter.com/anglais.php"); exit;
Salut à tous,
un grand merci pour vos aides, je suis actuellement en deplacement, je regarde ça vendredi.
A+
Salut,
J'ai essayer de mettre avant la HTML toujours le meme message d'erreur
puis l'exit a la place du break, meme message et rien s'affiche.
je comprends pas :cry:
Montres-nous tout le code de la page qui pose problème.
Par ailleurs, ce code n'est-il pas inclus dans une autre page ?
L'erreur annoncée est typique d'un header exécuté après avoir fait afficher quelque chose, soit par un echo soit directement du code html...
Sinon le 'exit' suite à un header de redirection est une bonne habitude à prendre pour éviter que le code continue à s'exécuter sans prendre en compte la redirection, ce qui arrive parfois. Mais cela n'a rien à voir avec le problème énoncé, c'est juste une précaution à prendre.
Salut en effet j'avais les pages anglais.php et espagnol.php avec le meme code. j'ai tout supprimé sur ces 2 pages mais toujours pareils.
voici le code que j'ai sur index.php
As tu une idée abciweb?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <?php if(!isset($langue_user)&&!isset($_SESSION["ch_langue"])){ $langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2); switch($langue_user){ case"fr": $_SESSION["ch_langue"]="fr"; break; case"en": $_SESSION["ch_langue"]="en"; header("Location:http://www.monsiter.com/anglais.php"); break; case"es": $_SESSION["ch_langue"]="es"; header("Location:http://www.monsiter.com/espagnol.php"); break; default: $_SESSION["ch_langue"]="fr"; header("Location:http://www.monsiter.com/index.php"); break; } } ?> <HTML> <HEAD> <TITLE>mon site</TITLE> </HEAD> <BODY>
merci d'avance
Il faut que RIEN ne soit affiché dans la page avant le header.
Or là tu as
avant le code php qui contient ce header.Code:
1
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
Donc mets TOUT ton code html AVANT le code PHP quand c'est possible (et là c'est possible).
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 <?php if(!isset($langue_user)&&!isset($_SESSION["ch_langue"])) { $langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2); switch($langue_user){ case"fr": $_SESSION["ch_langue"]="fr"; break; case"en": $_SESSION["ch_langue"]="en"; header("Location:http://www.monsiter.com/anglais.php"); break; case"es": $_SESSION["ch_langue"]="es"; header("Location:http://www.monsiter.com/espagnol.php"); break; default: $_SESSION["ch_langue"]="fr"; header("Location:http://www.monsiter.com/index.php"); break; } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <HTML> <HEAD> <TITLE>mon site</TITLE> </HEAD> <BODY> etc... </BODY> </HTML>
Salut ABCIWEB
ça marche impec!!! merci bcp!!! la page s'affiche en fonction de la langue de l'explorateur!!!
MERCIIIIIIIIIIIIII
il faut juste que je corrige une chose: si mon explorateur est configuré avec une autre langue non listé (hors en,fr et es). la page ne s'affiche pas...ça charge sans rien.
est-ce que ma page de defaut en français est bien programmée dans mon code php?
merci
A+++++
Ta page par défaut n'est pas programmée à l'identique que ta page en français. Or si tu veux que la page par défaut soit la page en français il faudrait en toute logique la programmer de la même façon, soit :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <?php if(!isset($langue_user)&&!isset($_SESSION["ch_langue"])) { $langue_user=substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2); switch($langue_user){ case"fr": $_SESSION["ch_langue"]="fr"; break; case"en": $_SESSION["ch_langue"]="en"; header("Location:http://www.monsiter.com/anglais.php");exit; break; case"es": $_SESSION["ch_langue"]="es"; header("Location:http://www.monsiter.com/espagnol.php");exit; break; default: $_SESSION["ch_langue"]="fr"; break; } } ?>
Impec ABCIWEB ça marche impeccable!!!
un grand merci!!!
A+