Gestion d'un site en plusieurs langues

Fermé
solm Messages postés 14 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 6 novembre 2007 - 5 nov. 2007 à 12:14
 leSurvivant - 6 nov. 2007 à 14:47
Bonjour,
je suis en train de faire un site pour une exposition d'art et souhaiterais le réaliser en plusieurs langues.

comme je connais pas très bien les langues de programmation, je souhaiterais savoir si on peut envisager les choses suivantes:

J'ai un fichier :
index.html

que j'aimerais renvoyer sur l'index qui se trouve en EN, FR respectivement IT, si l'utilisateur a un système d'exploitation dans l'une de ces langues (et en anglais par défaut pour les utilisateurs d'autres langues).

et j'ai donc trois dossiers :

- EN
- FR
- IT

qui contiennent tous mes fichiers html, mais sur lesquels les termes " français | anglais | italien " renverrait automatiquement à la page correspondante sans que je doive introduire les liens manuellement pour chaque page.

Merci de votre aide.

Solm
A voir également:

16 réponses

tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 121
5 nov. 2007 à 13:56
Slt,
Je pense que tu peux utiliser javascript, j'ai pas le code pour le moment, mais javascript peut detecter la langue du navigateur web, c'est l'objet navigator, essaie le.
0
solm Messages postés 14 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 6 novembre 2007
5 nov. 2007 à 14:23
Merci beaucoup de ta réponse.

Mais si qqun a un code tout fait, ou un site simple duquel je peux copier le script, je serais vraiment super comblée.

Merci de vos réponse.

solm
0
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 121
5 nov. 2007 à 15:01
Ce code est pour une page web qui contient seulement la langue de l'utilisateur,

<html>

<head>

<title>
test
</title>

</head>

<body>

<script language="JavaScript">

var chaine;

chaine = navigator.userLanguage;

document.write(chaine);

</script>

</body>

</html>


Si tu as trois langues: tu peux faire des if . . else et ouis tu ouvre la page de la langue consernée dans la même fenêtre.
0
solm Messages postés 14 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 6 novembre 2007
5 nov. 2007 à 15:21
Hello, merci beaucoup pour ce code, mais comme je suis une novice en language autre que html.

Est-ce que vous pourriez me préciser comme écrire les if else...

par exemple dans mon index principal je mets le code que vousm'avez donné et puis j'y intègre les if else?
comment je peux écrire ça?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,
if(chaine=="francais)
{
TonCode
}

else if(chaine=="anglais")
{
TonCode
}
0
solm Messages postés 14 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 6 novembre 2007
5 nov. 2007 à 15:54
hello, mille mercis,
je suis une vraie novice nulle de surcroît, si j'ai bien compris, je dois mettre quoi à la place de TonCode ?

donc si je récapitule (vous allez tous vous fiche de moi, mais je prends le risque....):


<html>

<head>

<title>
test
</title>

</head>

<body>

<script language="JavaScript">

var chaine;

chaine = navigator.userLanguage;

document.write(chaine);

if(chaine=="francais")
{
F/index.htm

if(chaine=="italien)
{
I/index.htm
}

else if(chaine=="anglais")
{
I/index.htm

</script>

</body>

</html>
0
Bonjour,
Deux points sur lesquels je voudrais revenir.
Dans un premier temps, je pense que l'utilisation d'un else n'est pas approprié donc soit tu utilises trois if, soit tu passes par un switch case.
Ensuite, d'après ce que je peux comprendre, tu as 3 dossiers pour 3 langues.il suffit donc dans tes if d'indiquer le chemin et d'utiliser window.navigate pour y accéder.

Exemple:

if(chaine=="francais")
{
window.navigate("F/index.htm")
}


Une dernière chose, si j'étais toi, je renommerais mes dossiers car mettre une seule lettre peut créér un conflit avec une lettre de lecteur de cd ou de disque amovible.

Voilà, j'espère avoir éclairé ta lanterne. Au plaisir!
0
solm Messages postés 14 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 6 novembre 2007
6 nov. 2007 à 10:51
Hello!
merci beaucoup poru ton message donc si je récapitule le code donne ce résultat?

<head>
<title>.../title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="../css/main.css" rel="stylesheet" type="text/css" />

<script language="JavaScript" type="text/javascript" src="../js/jquery-1.2.1.min.js"></script>
<script language="JavaScript" type="text/javascript" src="../js/main.js"></script>
<script type="text/JavaScript">
<!--
if(chaine=="francais")

{

window.navigate("FR/index.htm")

}

if(chaine=="english")

{

window.navigate("EN/index.htm")

}

if(chaine=="italiano")

{

window.navigate("IT/index.htm")

}
//-->
</script>
</head>


merci pour le tuyau des deux lettres pour la langues.

Encore une queston, est-ce que si le user utilise un pc en allemand, il va tomber sur les pages en anglais, de même qu'un belge tomberait selon la région qu'il habite, dans le français ou l'anglais?!

COmme gérer les langues par défaut?


Merci beucoup pour ta réponse.

solm
0
Rebonjour,
cela dépend de la langue que tu veux mettre par defaut si l'utilisateur n'est ni francais, ni anglais, ni italien, je pense que l'anglais serait le mieux. A toi de me dire
0
solm Messages postés 14 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 6 novembre 2007
6 nov. 2007 à 11:33
hello merci de ta réponse.

Effectivment, je voudrais mettre l'anglais par défaut..
0
Dans ce cas, tu peux réutiliser la boucle if else if dans ce sens:

if(chaine=="francais")
{
window.navigate("FR/index.html")
}

else if(chaine=="italiano")
{
window.navigate("IT/index.html")
}

else //pout tte autre langue y compris l'anglais
{
window.navigate("EN/index.html")
}


Merci de me faire saoir si ca marche!
Salutations
0
solm Messages postés 14 Date d'inscription dimanche 4 novembre 2007 Statut Membre Dernière intervention 6 novembre 2007
6 nov. 2007 à 12:17
hello merci bcp pour ton message, mais comme je maîtrise tout ça qu'aléatoirement, j'ai une nouvelle demande.

le code que tu vois est celui de l'index principal qui va ensuite te redirigé sur FR/index ou IT/index... etc...

comme tu peux le voir, il y a un meta qui renvoyait pour le moment à FR/index.htm, je pense que je vais devoir l'enlever, mais dois-je garder le meta..refresh et cie quelque part?



<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="description" content="">
<script type="text/JavaScript">
<!--
if(chaine=="francais")
{
window.navigate("FR/index.html")
}


else if(chaine=="italiano")
{
window.navigate("IT/index.html")
}


else
{
window.navigate("EN/index.html")
}

//-->
</script>

<meta http-equiv="refresh" content="0;URL=FR/index.htm">

</head>

<body bgcolor="#FFFFFF" text="#000000">
</body>

</html>
0
Après avoir bien manger, je peux de nouveau te épondre ;)
Selon moi, tu peux enlever ta balise meta de rafraîchissement.
En lieu et place de ça, tu devrais mettre tout ton code de détermination de la langue dans une fonction, et ensuite dans la balise body tu indique: <body onload="Le NomDeTaFonction">
Ainsi chaque fois que tu ouvriras ton index principal, la redirection se fera automatiquement.

Petite curiosité: quel sera la couleur ou le ton de la couleur de fond dans tes index.html de differente langue?


Amicalement tien!
0
tarek_dotzero Messages postés 817 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 12 avril 2022 121
6 nov. 2007 à 14:08
Slt,
Je veux juste ajouter une petite remarque: verifie les chaines ton les testes de "if", car en generale, on met "fr" pour français, "en" pour l'anglais et "it" pour l'italienne.
0
Bonjour,

merci de votre réponse, mais comme je suis vraiment très nulle en programmation j'ai besoin d'avoir tout le code (pour faire un copier/coller sans réflechir...)

quand tu dis <body onload="Le NomDeTaFonction">

cest uqoi le que je mets à la place de Le NomDeTaFonction?

merci de ta réponse.

et merci tarek, j'ai mis fr au lieu de français, et it pour italien
0
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="description" content="">
<script type="text/JavaScript">
<!--

function GestionLangue()
{
if(chaine=="fr")
{
window.navigate("FR/index.html")
}


else if(chaine=="it")
{
window.navigate("IT/index.html")
}


else
{
window.navigate("EN/index.html")
}

//-->
}
</script>

</head>

<body bgcolor="#FFFFFF" text="#000000" onload="GestionLangue()">
</body>

</html>

LeNomDeTaFonction est GestionLangue.
Quel sera ton background pour tes couleurs?

Sincerement menteur.
0