Gestion multi-pays & multilingue avec Drupal
-
Upload
adyax -
Category
Technology
-
view
1.948 -
download
3
description
Transcript of 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
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/...)
Géolocalisation par IP ?Géolocalisation par IP ?Langue du browser ?Langue du browser ?Préférences user ?Préférences user ?
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...
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
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
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...
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
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...
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é»
Quantité de Quantité de contenu contenu
publié peut publié peut varier d’un varier d’un
pays à pays à l’autrel’autre
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
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
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
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