Aller au contenu principal Aide Panneau de contrôle

Alexis Raimbault


le 20 mar. 2012
depuis Mulhouse

YACS Team - Modérateur, Support, Développement.
Partager
Partager sur Facebook
Poster sur Twitter
Partager sur LinkedIn
Inviter des participants
Référencer cette page
Surveiller
Fichiers récents
Communauté »
Voir aussi
 

Communauté «   Machine à café «  

Contenu bilingue

Mise en ligne d'une déclinaison anglaise d'un serveur Yacs.

Bonjour,

Cela a été je crois un sujet de discusion entre utilisateurs Yacsiens. Comment faire un site multilingue avec yacs ? Les fonctionnalités sont elles achevées sur ce point ?

Yacs permet de déclarer la langue d'une page. On peut associer les pages pentre elles par un surnom. Chaque version d'une même page dans une langue différente est donc une page à part entière, avec son url. Ceci est plutôt bon pour l'indexation.

Seulement voilà, les layouts de sections ne font pas l'association entre les pages contenues, et listeront toutes les pages même s'il s'agit de la "même" dans des langues différentes. La plupart des utilisateurs ayant essayé le multilingue en sont d'ailleurs restés là je crois.

Devant réaliser la version anglaise d'un site existant www.camp-arktika.org, j'ai du me pencher sur le sujet. Le contenu de ce site m'a fait opter pour une mise en oeuvre particuliaire. En effet sur ce site, les pages de sections contiennent elle même beaucoup de texte et photos. Il faut donc aussi les traduires. Le plus simple était donc de dupliquer le site à la raçine.

Et finalement ce choix est le plus facile à gérer, et permet de tous traduire : contenu, onglet, menu, titre et slogan, et ceci sans toucher une ligne de code du noyau de la yacs martin stable. Simplement en usant d'un variant de skin, et des possibilité de surcharge de skin.php. J'ai aussi créé un composant qui fourni un lien de bascule sympa d'une version à l'autre.

fonctionnement :

  • en arrivant sur l'accueil, le surfeur est redirigé automatiquement vers la section anglaise si le serveur détermine qu'il n'est pas francophone ;
  • les pages anglaises sont indépendantes des pages françaises. Le contenu pourrait y être complétement différent. Les fichiers et photos attachés sont sous d'autres ID ;
  • une page est liée à sont homologue dans l'autre langue par son surnom ;
  • un composant propose la bascule manuelle d'une version à l'autre ;
  • l'accueil ne fera plus la redirection automatique si on y parvient après une selection manuelle du français.

A l'heure actuelle où je publie ce post, le mécanisme est en place mais tout le contenu anglais n'est pas encore injecté.

Le plus compliqué à faire était ce composant de switch d'une version à l'autre. Je ne suis pas encore bien satisfait de son codage. Au final je voudrais qu'il détecte automatiquement la présence de pages fournissant une version dans une autre langue, en fournisse les liens, que l'on pourrait formater selon notre souhait à l'aide d'un layout.

voilà, à suivre...


Alexis Raimbault
le 29 mai 2012
" le multilinguisme n'est pas vraiment abouti dans le framework yacs "

Finalement il y avait presque tout ce qu'il me fallait. Il faut surtout avoir la bonne approche quand à l'organisation du contenu : créer une section raçine pour la nouvelle langue, reprenant l'aborescence de la langue principale.

Manquait surtout le composant de switch d'une langue à l'autre. La prochaine étape serait d'un faire un générique, inclus dans yacs.




Alexis Raimbault webmaster free-lance

Alexis Raimbault
le 29 mai 2012
" des ID différents pour les mêmes images ou pages. "

Tout à fait, je créé des pages anglaises en duplicant les pages françaises.

Les images sont donc dupliquées aussi. Cela prend plus de place sur le serveur, mais c'est la seule solution pour traduire également la légende des images.




Alexis Raimbault webmaster free-lance