Aller au menu - Aller au contenu

Organisation des fichiers

site multilingue

Pour accéder à cette section
Connectez-vous !
connexion_rpx

Résolu Le problème de ce sujet a été résolu

Offre d'emploi : Développeur Web PHP/Drupal (H/F)

Page 1 
Auteur Message
1 visiteur sur ce sujet (1 Anonyme)
Page 1 
Hors ligne gugusco # Posté le 06/02/2012 à 18:49:43

Bonjour,

J'ai cherché pas mal d'infos pour construire un site multilingue et je pense choisir de regrouper toutes les langues (sans sous domaines).

Pour cela je pensais faire une structure commune en php et créer des fichiers lang fr_fr.php, en_en.php, ... contenant les constantes traduites dans chaque langue.
Puisque les fichiers de structure php sont les même, pourquoi les placer dans des répertoires différents (pour chaque langue) ?
Je mettrais autant de fois les mêmes fichiers qu'il y aura de langues ...

Est ce justifié, ou bien pour des questions de référencement ou autres il vaut mieux créer des répertoires séparés pour chaque langue ?

Merci d'avance
Publicité # Posté le 06/02/2012 à 18:49:43

Hors ligne nivramdu94 # Posté le 06/02/2012 à 19:30:36
Linuxien et fier de l'être !
Avatar

Cette réponse a aidé l'auteur du sujet Cette réponse a aidé l'auteur du sujet
Il n'y a aucune justification. Ne créé pas de répertoires séparés, ça n'a réellement aucun intérêt. ;)

Niveau référencement, ta langue doit être définie directement dans l'URL, en la préfixant, avec de l'URL Rewriting. Comme ça, les moteurs de recherche indexent les différentes langues, en croyant parcourir un dossier. (Comme si tu avais fait un répertoire par langue).

http://site.com/fr pour le français, http://site.com/en pour l'anglais, etc

Image utilisateur Android User

Image utilisateur HTML5/CSS3 Programmer
 
Hors ligne gugusco # Posté le 06/02/2012 à 21:00:37

Ok merci beaucoup !

Donc mes liens seront par exemple www.site.com/index.php?lang=fr et www.site.com/index.php?lang=en que je réécrit comme tu l'as dit.
Hors ligne nivramdu94 # Posté le 07/02/2012 à 18:38:01
Linuxien et fier de l'être !
Avatar

Exact ! :)

Image utilisateur Android User

Image utilisateur HTML5/CSS3 Programmer
 
Hors ligne gugusco # Posté le 08/02/2012 à 17:45:51

Tu me conseillerais d'utiliser les sessions et/ou cookies en plus, pour conserver la langue ?
Ou bien c'est pas hyper utile (et pour le confort de naviguation, etc ...) d'associer GET et session/cookie ?

Merci beaucoup !
Hors ligne nivramdu94 # Posté le 08/02/2012 à 18:01:44
Linuxien et fier de l'être !
Avatar

Les sessions/cookies ne servent pas dans ton cas. Pour une question de référencement toujours. Concrètement :
  • -Dans l'URL, tu fais le nécessaire pour capturer le code langue (http://site.com/en). Ce code langue est conservé dans une variable.
  • -Au moment où tu affiches les vues, il faut que toutes les URL pointant vers ton site soient réécrites avec le bon code langue. Passe par une fonction. (Ex : ton lien est http://site.com/test, avec cette URL la langue par défaut s'affiche. Donc, si le code langue est spécifié, il faut que l'URL devienne http://site.com/CODE_LANGUE/test, comme ça lorsqu'un navigue on conserve la langue.)


Pourquoi se compliquer la vie ? Avec les sessions, le scénario aurait été :
Google arrive. Il parcoure les différentes pages. Il voit un lien Anglais qu'il va suivre. Le contenu affiché sera donc en anglais, mais l'URL restera la même. Pour une raison quelconque il va référencer dans son moteur les pages anglaises. Lorsque l'utilisateur tombera sur ce résultat, la description sera en anglais mais lorsqu'il va cliquer tout sera en français (l'utilisateur n'aura pas de variables session de langue pour le moment).

Avec l'URL :
Google arrive. Il parcoure les différentes pages. Il voit un lien Anglais qu'il va suivre. Le contenu affiché sera donc en anglais, et l'URL aura changée. Et donc tout roule. :)

Bon, c'est peut-être pas très clair, mais je me comprends. :p
J'ai fais la même erreur que toi avant (passer par des sessions), et j'ai compris la leçon...

Image utilisateur Android User

Image utilisateur HTML5/CSS3 Programmer
 

Retour au forum "PHP" ou à la liste des forums

Pour accéder à cette section
Connectez-vous !
connexion_rpx


Lire aussi