Top Banner
Gestion Gestion multilingue et multilingue et multi-pays multi-pays dans dans Par Par @mtopolov @mtopolov , , CTO de CTO de @adyax @adyax
42

Gestion multi-pays & multilingue avec Drupal

Dec 13, 2014

Download

Technology

Adyax

La création d'un site multilingue ne se limite pas avec Drupal à l'installation du module i18n. Il faut prendre en compte de nombreux paramètres comme : la détection de la langue, la lisibilité des polices de caractères, la détection de la langue, gestion des langues exotiques, redirection, workflow de traduction etc...

De la même manière, la gestion de de systèmes multi-pays
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Gestion multi-pays & multilingue avec Drupal

Gestion multilingue Gestion multilingue et multi-payset multi-pays

dansdans

Par Par @mtopolov@mtopolov, , CTO de CTO de @adyax@adyax

Page 2: Gestion multi-pays & multilingue avec Drupal

100100 Experts Drupal, Experts Drupal, Numéro 1Numéro 1 sur Drupal en France sur Drupal en France

Page 3: Gestion multi-pays & multilingue avec Drupal

Vous avez dit multilingue ?Vous avez dit multilingue ?

Page 4: Gestion multi-pays & multilingue avec Drupal

contenucontenu

contenant contenant (interface)(interface)

Page 5: Gestion multi-pays & multilingue avec Drupal
Page 6: Gestion multi-pays & multilingue avec Drupal

Contenu symétrique ou Contenu symétrique ou asymétrique ou les deux ?asymétrique ou les deux ?

Page 7: Gestion multi-pays & multilingue avec Drupal

Qui traduit et comment ?Qui traduit et comment ?BO Drupal ?BO Drupal ?

.PO ?.PO ?Excel ?Excel ?

Page 8: Gestion multi-pays & multilingue avec Drupal

Comment on switch de Comment on switch de langue ?langue ?

Page 9: Gestion multi-pays & multilingue avec Drupal

3 solutions : 3 solutions :

domaines (monsite.es)domaines (monsite.es)domaines (monsite.es)domaines (monsite.es)

Sous-domaines (es.monsite.com)Sous-domaines (es.monsite.com)Sous-domaines (es.monsite.com)Sous-domaines (es.monsite.com)

URL (monsite.com/es/...)URL (monsite.com/es/...)URL (monsite.com/es/...)URL (monsite.com/es/...)

Page 10: Gestion multi-pays & multilingue avec Drupal

Géolocalisation par IP ?Géolocalisation par IP ?Langue du browser ?Langue du browser ?Préférences user ?Préférences user ?

Page 11: Gestion multi-pays & multilingue avec Drupal

Problème des langues Problème des langues sémitiquessémitiques

Page 12: Gestion multi-pays & multilingue avec Drupal
Page 13: Gestion multi-pays & multilingue avec Drupal

Ok, et Drupal dans tout ça ?Ok, et Drupal dans tout ça ?

Page 14: Gestion multi-pays & multilingue avec Drupal

i18ni18n

i18n (i18n (http://drupal.org/project/i18nhttp://drupal.org/project/i18n))

Offre une suite de module pour gérer la Offre une suite de module pour gérer la traduction dans Drupal (Taxonomies, traduction dans Drupal (Taxonomies, variables, blocs, icones des langues, variables, blocs, icones des langues, dashboards, ...)dashboards, ...)

Vous y passerez forcement...Vous y passerez forcement...

Page 15: Gestion multi-pays & multilingue avec Drupal

Entity TranslationEntity Translation

http://drupal.org/project/entity_translationhttp://drupal.org/project/entity_translation

Simplifie la vie des symétriquesSimplifie la vie des symétriques

On garde un seul noeud, theming, views, On garde un seul noeud, theming, views, panels, dashboards, tout devient plus simplepanels, dashboards, tout devient plus simple

Page 16: Gestion multi-pays & multilingue avec Drupal

i18ni18nEntity Entity TranslatiTranslationon

Ma page Ma page (nid=1, lang = (nid=1, lang =

fr)fr)

Ma page Ma page (nid=1, lang = (nid=1, lang =

fr)fr)

My pageMy page(nid=2, lang = (nid=2, lang =

en)en)

My pageMy page(nid=2, lang = (nid=2, lang =

en)en)

Min sidaMin sida(nid=3, lang = (nid=3, lang =

sw)sw)

Min sidaMin sida(nid=3, lang = (nid=3, lang =

sw)sw)

(nid=1)(nid=1)(fr) Ma Page(fr) Ma Page(en) My Page(en) My Page(sw) Min sida(sw) Min sida

(nid=1)(nid=1)(fr) Ma Page(fr) Ma Page(en) My Page(en) My Page(sw) Min sida(sw) Min sida

Page 17: Gestion multi-pays & multilingue avec Drupal

Attention !Attention !

Avec entity translation, le workflow de Avec entity translation, le workflow de publication n’est pas simplepublication n’est pas simple

Si vous validez une révision, c’est l’ensemble Si vous validez une révision, c’est l’ensemble des traductions que vous validez...des traductions que vous validez...

Page 18: Gestion multi-pays & multilingue avec Drupal

Pour vous aiderPour vous aider

PotXPotX ( (http://drupal.org/project/potxhttp://drupal.org/project/potx) : permet ) : permet l’extraction de templates de traduction par l’extraction de templates de traduction par module / thème.module / thème.

l10n Updatel10n Update ( (http://drupal.org/project/l10n_updatehttp://drupal.org/project/l10n_update) : ) : permet de mettre à jour les traductions permet de mettre à jour les traductions disponibles pour votre BOdisponibles pour votre BO

TmgmtTmgmt ( (http://drupal.org/project/tmgmthttp://drupal.org/project/tmgmt) : ) : traduction automatique via services externestraduction automatique via services externes

Page 19: Gestion multi-pays & multilingue avec Drupal

Switch ?Switch ?

Domains Access (Domains Access (http://drupal.org/project/domainhttp://drupal.org/project/domain))

Ou une installation multi-sites...Ou une installation multi-sites...

Page 20: Gestion multi-pays & multilingue avec Drupal

RésuméRésumé

Décider comment switcher la langue : Décider comment switcher la langue : Domains ou multi-sitesDomains ou multi-sites

Décider de la symétrie de mon contenuDécider de la symétrie de mon contenu

Utiliser soit i18n soit Entity TranslationUtiliser soit i18n soit Entity Translation

TOUJOURSTOUJOURS entourer de t() et de l() vos entourer de t() et de l() vos chaines et liens dans chaines et liens dans TOUTTOUT votre code votre code

Rappel : rajouter le multilinguisime «plus Rappel : rajouter le multilinguisime «plus tard» est «plus compliqué»tard» est «plus compliqué»

Page 21: Gestion multi-pays & multilingue avec Drupal
Page 22: Gestion multi-pays & multilingue avec Drupal

Hey, what did you expect ?Hey, what did you expect ?

Page 23: Gestion multi-pays & multilingue avec Drupal

Et le multi-pays alors ?Et le multi-pays alors ?

Page 24: Gestion multi-pays & multilingue avec Drupal

Chaine de validation du Chaine de validation du contenus.contenus.

Page 25: Gestion multi-pays & multilingue avec Drupal

Quantité de Quantité de contenu contenu

publié peut publié peut varier d’un varier d’un

pays à pays à l’autrel’autre

Page 26: Gestion multi-pays & multilingue avec Drupal
Page 27: Gestion multi-pays & multilingue avec Drupal
Page 28: Gestion multi-pays & multilingue avec Drupal
Page 29: Gestion multi-pays & multilingue avec Drupal

PerformancePerformance

Page 30: Gestion multi-pays & multilingue avec Drupal

PersonnalisationPersonnalisation

Page 31: Gestion multi-pays & multilingue avec Drupal

Cas concretCas concret

Page 32: Gestion multi-pays & multilingue avec Drupal

Un célèbre Un célèbre parfumeur...parfumeur...

12 langues12 langues

Certains pays sont e-commerce, d’autres nonCertains pays sont e-commerce, d’autres non

Certains pays se partagent les mêmes Certains pays se partagent les mêmes langueslangues

Mais peuvent personnaliser le contenuMais peuvent personnaliser le contenu

Tout doit être validé par la FranceTout doit être validé par la France

Page 33: Gestion multi-pays & multilingue avec Drupal

Nos choixNos choix

1 instance Drupal, multi-domaines avec 1 instance Drupal, multi-domaines avec DomainsDomains

Format : domaine.com/pays/langue/....Format : domaine.com/pays/langue/....

Sauf pour la chine où on hacké domaine.cnSauf pour la chine où on hacké domaine.cn

On pique l’idée du content display de On pique l’idée du content display de CommerceCommerce

Import en masse par fichiers XLSImport en masse par fichiers XLS

Import / Export .PO pour l’interfaceImport / Export .PO pour l’interface

Page 34: Gestion multi-pays & multilingue avec Drupal

Gestion des paysGestion des pays

Page 35: Gestion multi-pays & multilingue avec Drupal

Création du paysCréation du pays

Page 36: Gestion multi-pays & multilingue avec Drupal

Personnalisation du contenuPersonnalisation du contenu

Page 37: Gestion multi-pays & multilingue avec Drupal

Workflow au niveau centralWorkflow au niveau central

Page 38: Gestion multi-pays & multilingue avec Drupal

Workflow au niveau paysWorkflow au niveau pays

Page 39: Gestion multi-pays & multilingue avec Drupal

PerformancePerformance

Akamai ou autres CDN. Cher, efficace : Akamai ou autres CDN. Cher, efficace : http://drupal.org/project/cdnhttp://drupal.org/project/cdn

YottaaYottaa : bonne solution, peu chère, intégrée : bonne solution, peu chère, intégrée avec Acquia Managed Cloudavec Acquia Managed Cloud

Ferme varnish locale : le plus efficace, Ferme varnish locale : le plus efficace, probablement moins cher, mais difficile de probablement moins cher, mais difficile de maintenirmaintenir

Page 40: Gestion multi-pays & multilingue avec Drupal

Modules utilesModules utiles

http://drupal.org/prohttp://drupal.org/project/i18nject/i18n

http://drupal.org/prohttp://drupal.org/project/potxject/potx

http://drupal.org/prohttp://drupal.org/project/l10n_updateject/l10n_update

http://drupal.org/prohttp://drupal.org/project/tmgmtject/tmgmt

http://drupal.org/prohttp://drupal.org/project/domainject/domain

http://drupal.org/http://drupal.org/project/project/entity_translationentity_translation

Page 41: Gestion multi-pays & multilingue avec Drupal

druman.adyax.comdruman.adyax.com

Page 42: Gestion multi-pays & multilingue avec Drupal

Ces slides seront sur Ces slides seront sur SlideShare (Maxime SlideShare (Maxime

Topolov)Topolov)Suivez nous sur :Suivez nous sur :

@adyax@adyax@mtopolov@mtopolov