Bonjour et merci d'avance pour vos réponses.

J'ai déjà consulté les différents post à ce sujet et j'ai opté pour la création d'un dossier pour chaque langue, qui me semble être la plus approprié dans mon cas.

*Aucune mise à jour du site
*Facile à mettre en place et méthode préconisé pour le réferencement.

Le site est en trois langues.

Dois-je créer trois sous-dossier ou deux sous-dossiers et la langue principale en racine?
Dans le cas de trois sous-dossier que dois-je mettre à la racine du domaine ?

Merci à vous,
Modifié par Rifton007 (02 Nov 2012 - 14:42)
Salut,

Si j'étais toi, je jetterais un oeil du côté de php + gettext + poedit.
Sinon, dans l'absolu, ça me paraît plus cohérent d'avoir un dossier par langue...

tm
Merci TM,

J'explorerai la piste PHP pour un autre projet, j'ai déjà investit beaucoup de temps dans celui-ci.
Donc trois langues, trois sous-dossiers.
Mais je met quoi à la racine ?

Le site complet dans la langue principale, juste le fichier index.html seul, ou rien ?

Encore merci,
Juste un fichier index avec des liens vers les différentes langues disponibles.

<ul>
<li><a href="/fr/" hreflang="fr" lang="fr">Mon site</a></li>
<li><a href="/en/" hreflang="en" lang="en">My website</a></li>
</ul>
Salut !

Moi je pense que ça dépend de ton choix...

Soit une page HTML qui cite les 3 langues, et le visiteur choisis
Soit directement le site web dans la langue la "plus utilisée" avec des liens vers les autres langues (Voir récupérer la langue du mec et l'afficher direct).

Dans tous les cas, 3 sous-dossiers, et tu vas chercher le sous dossier de la langue à afficher (Désirée par le visiteur, ou par défaut).

Vincent
Modifié par Vbpix (05 Nov 2012 - 11:19)
Et bien pour ma part, j'avais pensé placé une copie du fichier index.html dans la langue par défaut (en).

index.html(en)
|-->/en/
|--->index.html
|--->contact.html
|--->service.html
|-->/fr/
|--->index.html
|--->contact.html
|--->service.html
|-->/nl/
|--->index.html
|--->contact.html
|--->service.html

J'aurais aussi voulu faire une détection automatique de la langue en PHP.
Cela nécessite-t-il obligatoirement de changer l'extention de l'index se trouvant dans la racine en .php ou il existe une méthode plus approprié ?

Merci à vous,
Modifié par Rifton007 (08 Nov 2012 - 23:14)
Merci Gaylord.P,

J'ai passé la matiné à prendre en main Gettext et je l'utiliserais certainement pour un prochain projet, celui-ci étant quasi terminé.

Nénamais j'aimerais encore vous demandé.

J'ai placé à la racine un index.php dans la racine.

 <?php
	$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
	switch ($lang){
		case "fr":
		header("Location: $lang/index.html",TRUE,301);
		break;
		case "en":
		header("Location: $lang/index.html",TRUE,301);
		break;
		case "nl":
		header("Location: $lang/index.html",TRUE,301);
		break;
		default :
		header("Location: $lang/index.html",TRUE,301);
		break;
	}
?>


Je me demandais si je devais tout de meme y mettre des meta-données?
En d'autre termes, est-ce qu'une page index.php pure à la racine pénalisera le référencement du site?
Salut,

Pour la détection, voici ce que j'ai déjà utilisé sur un projet 4 langues

// Gestion des langues
// Langue par défaut
define('DEFAULT_LANG_CODE',  'fr');

$desired_lang_code = NULL;

// Si choix langue via URL
if ( isset($_GET['lang']) && ($_GET['lang'] != "") )
{
  $desired_lang_code = $_GET['lang'];
}
else
{
  // Vérification si pas de langue choisie dans session
  if(empty($_SESSION['language_code']))
  {
    // Vérification langue browser
    if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"])) 
    {
      $preflang = explode(",",$_SERVER["HTTP_ACCEPT_LANGUAGE"]);
      $preflang[0] = substr($preflang[0], 0, 2);
	  
      // Langues disponibles site
      $availablelang = array(null, 'fr', 'nl', 'de', 'en');
      $result = array_intersect($preflang, $availablelang);
      if (count($result) != 0)
      {
        $desired_lang_code = $result[0];
      }
      else
      {
        $desired_lang_code = DEFAULT_LANG_CODE;
      }
    }
    else
    {
      $desired_lang_code = DEFAULT_LANG_CODE;
    }  
  }
}
// si choix langue URL ou premier passage (pas de session langue)
if($desired_lang_code)
{
  $_SESSION['language_code'] = $desired_lang_code;
}

$language = $_SESSION['language_code'];

// traitement langues...

L'idée est que si c'est la première visite, je checke la langue du browser. Si langue dispo, je la stocke dans la session pour la prochaine visite.
Pour les visites suivantes, je récupère la session.
Sauf quand l'utilisateur change de langue. Dans ce cas, je mets à jour la session...

tm
Merci beaucoup pour ce code TM, une providence car je m'était justement penché sur les variables de session pour sauvegarder la langue de préférence.

Mais deux questions me viennent à l'esprit, si tu me permet.

Après recherche sur les variables de session, je m'était dis plus tôt les cookies.
Car une variable session à une durée de vie de 30min.
Qu'en penses-tu ?

Ensuite je réitéré la question de mon précédent post,
a écrit :
Je me demandais si je devais tout de meme y mettre des meta-données?
En d'autre termes, est-ce qu'une page index.php pure à la racine pénalisera le référencement du site?


Encore merci