SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Drupal 7 i18n
Gestion des traductions entre serveurs
Trucs & Astuces
 Configuration de base
 Features & Views
 Features & Drush
 Features & traductions des fields
 Biblio
1. Configuration de base
 Langue d’interface par défaut : FR
 Langue source traduction : EN => Toute la configuration doit être en EN
 Fields : label / description
 Termes de taxonomie
 Views : label, filtres exposés
 Theme : t(‘english content’)
 …
Features & Views
Features
https://drupal.org/project/features
Exporte la configuration dans le code PHP
Diff
https://drupal.org/project/diff
Visualisation des différences entre versions (node, features, etc…)
Views
https://drupal.org/project/views
…
Features & Views
ATTENTION à la langue de l’interface lors de l’exportation d’une instance de
Views avec Features : les labels d’une vue exportée sont traduits !
Instance de Views – my_view
Export Features contenant my_view - Interface EN
Export Features contenant my_view – Interface FR
Features & Views
Explications :
Il existe une traduction française de « Customized body » pour le groupe de texte
« Built-in interface » :
admin/config/regional/translate/translate
En exportant la vue contenant le label « Customized body »,
Features exporte le label traduit dans la langue courante de
l’interface (le français dans ce cas présent)
Features & Views
Moralité :
Utilisez Features dans la langue utilisée comme langue source pour la
traduction des chaînes de caractères (définie dans
admin/config/regional/i18n/strings).
admin/config/regional/i18n/strings
Features & Drush
 Configurer la langue par défaut de Drush
(<DRUPAL_ROOT>/sites/default/drushrc.php) :
$options['variables']['language_default']->language = 'en';
Doit-être identique à la langue source pour la traduction des chaînes de
caractères (admin/config/regional/i18n/strings).
 Pourquoi ? Sinon Drush opère dans la langue par défaut de l’interface. Pbs si
updade de Features avec Drush : drush features-update <feature_name>
 drushrc.php : template téléchargeable depuis
http://drush.ws/examples/example.drushrc.php
Features & traductions des fields
Comment propager les traductions des labels et descriptions des fields de
l’environnement de DEV vers ceux de TEST et de PROD ?
 Option 1 : Features + potx
 Option 2 : Field translation (i18n_field)
 Option 3 : Features translations (features_translations)
Features & traductions des fields
Option 1 – Features + potx
 Inclure les déclarations field_base et field_instance dans une Feature
<?php
/**
* @file
* basic_conf.features.field_instance.inc
*/
/**
* Implements hook_field_default_field_instances().
*/
function basic_conf_field_default_field_instances() {
$field_instances = array();
// Exported field_instance: 'node-page-body'
$field_instances['node-page-body'] = array(
'bundle' => 'page',
[…]
// Translatables
// Included for use with string extractors like potx.
t('Body');
return $field_instances;
}
Features & traductions des fields
Option 1 – Features + potx
 Extraire les chaînes traduisibles des fichiers de la feature avec potx
https://drupal.org/project/potx
Ex: Feature basic_conf.info
name = Basic conf
core = 7.x
package = Features
version = 7.x-1.01
project = basic_conf
[…] Extract potx
• 1 fichier basic_conf-7.x-1.01.fr.po
• Contient tous les labels et description
des fields déclarés dans la feature
base_conf
• Editable avec POEdit
Features & traductions des fields
Option 1 – Features + potx
 Avantages
Les traductions sont mise à jour sur TEST et PROD avec drush l10n-update
https://drupal.org/project/l10n_update
 Inconvénients
Les traductions des fields sont importées dans le Text Group « Built-in
interface ». Donc risque de doublons de traduction si le module
field_translation (i18n_field) est activé.
Features & traductions des fields
Option 2 – Field translation (i18n_field)
 [optionnellemet] Traduire tous les labels et description des fields depuis
l’interface Drupal
admin/config/regional/translate/translate
Features & traductions des fields
Option 2 – Field translation (i18n_field)
 Exporter l’ensemble des
traductions des fields dans un
fichier .po
admin/config/regional/translate/export
 [Optionnellement] Traduire /
modifier les traductions avec
POEdit
Features & traductions des fields
Option 2 – Field translation (i18n_field)
 [sur TEST / PROD] Importer les
traductions depuis le fichier .po
admin/config/regional/translate/import
Features & traductions des fields
Option 2 – Field translation (i18n_field)
 Avantages
Les traductions des labels et descriptions de fields sont importées dans le text-
group « Field » => propre
 Inconvénients
Pas de commande drush pour l’importation (à ma connaissance) => nécessite
d’aller dans l’interface d’admin de chaque intance Drupal à mettre à jour
Features & traductions des fields
Option 3 – Features translations (features_translations)
 Avantages
Les traductions des labels et descriptions de fields
sont importées dans le text-group « Field » =>
propre
Importation automatique des traductions avec un
revert sur la feature.
 Inconvénients
Pas de fichiers .po (problématique si équipe de
traducteurs)
Version 1.0-beta4 (au 22/04/2014)
Biblio
 Drupal 7 Multilingual Sites – Kristen Pol
 Gábor Hojtsy on Drupal
http://hojtsy.hu/
C’est tout pour aujourd’hui !
Aurélien Basille
aurelien@cavacave.fr

Contenu connexe

En vedette

Escuela normal superior del distrito de barranquilla
Escuela normal superior del distrito de barranquillaEscuela normal superior del distrito de barranquilla
Escuela normal superior del distrito de barranquillastephaniehernandezr
 
lafiestadeltango
lafiestadeltangolafiestadeltango
lafiestadeltangoChava Ochoa
 
Nouveautés c-le_marché_avril_2014
Nouveautés  c-le_marché_avril_2014Nouveautés  c-le_marché_avril_2014
Nouveautés c-le_marché_avril_2014eDressit.com
 
RECONOCIENDO EL MEDIO NATURAL Y LOS ELEMENTOS QUE INCIDEN EN ÉL A TRAVÉS DE ...
RECONOCIENDO EL MEDIO NATURAL Y LOS ELEMENTOS QUE INCIDEN EN ÉL  A TRAVÉS DE ...RECONOCIENDO EL MEDIO NATURAL Y LOS ELEMENTOS QUE INCIDEN EN ÉL  A TRAVÉS DE ...
RECONOCIENDO EL MEDIO NATURAL Y LOS ELEMENTOS QUE INCIDEN EN ÉL A TRAVÉS DE ...orfelinamantilla2013
 
Administracion de bibliotecas
Administracion de bibliotecasAdministracion de bibliotecas
Administracion de bibliotecasbiblicardo
 
segunda parte interactivo
segunda parte interactivosegunda parte interactivo
segunda parte interactivoFomar Flores
 
Voyage virtuel a travers la philosopie des lumieres - Synthèse
Voyage virtuel a travers la philosopie des lumieres - SynthèseVoyage virtuel a travers la philosopie des lumieres - Synthèse
Voyage virtuel a travers la philosopie des lumieres - Synthèsei-voix
 
Partir travailler en Belgique
Partir travailler en BelgiquePartir travailler en Belgique
Partir travailler en BelgiqueThierry ABEL
 
24 los desertores franceses de las brigadas internacionales
24 los desertores franceses de las brigadas internacionales24 los desertores franceses de las brigadas internacionales
24 los desertores franceses de las brigadas internacionalesaulamilitar
 
Catalogue KENIA Loft Style l Megamobiliario
Catalogue KENIA Loft Style l MegamobiliarioCatalogue KENIA Loft Style l Megamobiliario
Catalogue KENIA Loft Style l MegamobiliarioMegamobiliario
 

En vedette (20)

2d parte
2d parte2d parte
2d parte
 
56 t00174
56 t0017456 t00174
56 t00174
 
Escuela normal superior del distrito de barranquilla
Escuela normal superior del distrito de barranquillaEscuela normal superior del distrito de barranquilla
Escuela normal superior del distrito de barranquilla
 
press-release.pdf
press-release.pdfpress-release.pdf
press-release.pdf
 
lafiestadeltango
lafiestadeltangolafiestadeltango
lafiestadeltango
 
Nouveautés c-le_marché_avril_2014
Nouveautés  c-le_marché_avril_2014Nouveautés  c-le_marché_avril_2014
Nouveautés c-le_marché_avril_2014
 
ética y valores
ética y valoresética y valores
ética y valores
 
Blog
BlogBlog
Blog
 
Diferencias
DiferenciasDiferencias
Diferencias
 
RECONOCIENDO EL MEDIO NATURAL Y LOS ELEMENTOS QUE INCIDEN EN ÉL A TRAVÉS DE ...
RECONOCIENDO EL MEDIO NATURAL Y LOS ELEMENTOS QUE INCIDEN EN ÉL  A TRAVÉS DE ...RECONOCIENDO EL MEDIO NATURAL Y LOS ELEMENTOS QUE INCIDEN EN ÉL  A TRAVÉS DE ...
RECONOCIENDO EL MEDIO NATURAL Y LOS ELEMENTOS QUE INCIDEN EN ÉL A TRAVÉS DE ...
 
Trabajo de complementaria de Sergio Jair y Rey David..
Trabajo de complementaria de Sergio Jair y Rey David..Trabajo de complementaria de Sergio Jair y Rey David..
Trabajo de complementaria de Sergio Jair y Rey David..
 
Administracion de bibliotecas
Administracion de bibliotecasAdministracion de bibliotecas
Administracion de bibliotecas
 
segunda parte interactivo
segunda parte interactivosegunda parte interactivo
segunda parte interactivo
 
Voyage virtuel a travers la philosopie des lumieres - Synthèse
Voyage virtuel a travers la philosopie des lumieres - SynthèseVoyage virtuel a travers la philosopie des lumieres - Synthèse
Voyage virtuel a travers la philosopie des lumieres - Synthèse
 
Partir travailler en Belgique
Partir travailler en BelgiquePartir travailler en Belgique
Partir travailler en Belgique
 
Sotfware
SotfwareSotfware
Sotfware
 
Natural
NaturalNatural
Natural
 
El moghni physique mécanique
El moghni physique mécaniqueEl moghni physique mécanique
El moghni physique mécanique
 
24 los desertores franceses de las brigadas internacionales
24 los desertores franceses de las brigadas internacionales24 los desertores franceses de las brigadas internacionales
24 los desertores franceses de las brigadas internacionales
 
Catalogue KENIA Loft Style l Megamobiliario
Catalogue KENIA Loft Style l MegamobiliarioCatalogue KENIA Loft Style l Megamobiliario
Catalogue KENIA Loft Style l Megamobiliario
 

Similaire à Drupal i18n & Features

Composer FeatureIDE for Sequence diagrams
Composer FeatureIDE for Sequence diagrams Composer FeatureIDE for Sequence diagrams
Composer FeatureIDE for Sequence diagrams Oussema ElAbed
 
Les stratégies de localisation d'une application Flex
Les stratégies de localisation d'une application FlexLes stratégies de localisation d'une application Flex
Les stratégies de localisation d'une application Flexdavid deraedt
 
Les stratégies de localisation d'une application Flex
Les stratégies de localisation d'une application FlexLes stratégies de localisation d'une application Flex
Les stratégies de localisation d'une application Flexdavid deraedt
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalAdyax
 
20100221 my phingtool - blog
20100221   my phingtool - blog20100221   my phingtool - blog
20100221 my phingtool - blogPHPPRO
 
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2apratt72
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdfRihabBENLAMINE
 
Comment traduire ses bases de données sans douleur
Comment traduire ses bases de données sans douleurComment traduire ses bases de données sans douleur
Comment traduire ses bases de données sans douleurDavid Paccoud
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipelineNicolas wallerand
 
PowerShell - Retours d'expériences
PowerShell - Retours d'expériencesPowerShell - Retours d'expériences
PowerShell - Retours d'expériencesRan Mellul
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders BattleArnaud Héritier
 
Développement de plug in sous eclipse
Développement de plug in sous eclipseDéveloppement de plug in sous eclipse
Développement de plug in sous eclipseISIG
 
Dotnet j2 ee
Dotnet j2 eeDotnet j2 ee
Dotnet j2 eechdalel
 
Presentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupPresentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupMichael Bertocchi
 
Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++Fabio Hernandez
 
Introduction à Symfony2
Introduction à Symfony2Introduction à Symfony2
Introduction à Symfony2Hugo Hamon
 
Drush make driven development
Drush make driven developmentDrush make driven development
Drush make driven developmentSébastien Corbin
 

Similaire à Drupal i18n & Features (20)

Composer FeatureIDE for Sequence diagrams
Composer FeatureIDE for Sequence diagrams Composer FeatureIDE for Sequence diagrams
Composer FeatureIDE for Sequence diagrams
 
Les stratégies de localisation d'une application Flex
Les stratégies de localisation d'une application FlexLes stratégies de localisation d'une application Flex
Les stratégies de localisation d'une application Flex
 
Les stratégies de localisation d'une application Flex
Les stratégies de localisation d'une application FlexLes stratégies de localisation d'une application Flex
Les stratégies de localisation d'une application Flex
 
Gestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec DrupalGestion multi-pays & multilingue avec Drupal
Gestion multi-pays & multilingue avec Drupal
 
20100221 my phingtool - blog
20100221   my phingtool - blog20100221   my phingtool - blog
20100221 my phingtool - blog
 
Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015Compte rendu Blend Web Mix 2015
Compte rendu Blend Web Mix 2015
 
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2
 
C#
C#C#
C#
 
0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf0519-pdf-php-bases-initiation.pdf
0519-pdf-php-bases-initiation.pdf
 
Comment traduire ses bases de données sans douleur
Comment traduire ses bases de données sans douleurComment traduire ses bases de données sans douleur
Comment traduire ses bases de données sans douleur
 
Introduction webextensions
Introduction webextensionsIntroduction webextensions
Introduction webextensions
 
Chaine de production pipeline
Chaine de production   pipelineChaine de production   pipeline
Chaine de production pipeline
 
PowerShell - Retours d'expériences
PowerShell - Retours d'expériencesPowerShell - Retours d'expériences
PowerShell - Retours d'expériences
 
20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle20091020 - Normandy Jug - Builders Battle
20091020 - Normandy Jug - Builders Battle
 
Développement de plug in sous eclipse
Développement de plug in sous eclipseDéveloppement de plug in sous eclipse
Développement de plug in sous eclipse
 
Dotnet j2 ee
Dotnet j2 eeDotnet j2 ee
Dotnet j2 ee
 
Presentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afupPresentation mkframework software craftsmanship a l'afup
Presentation mkframework software craftsmanship a l'afup
 
Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++Partie 9: Fonctions Membres — Programmation orientée objet en C++
Partie 9: Fonctions Membres — Programmation orientée objet en C++
 
Introduction à Symfony2
Introduction à Symfony2Introduction à Symfony2
Introduction à Symfony2
 
Drush make driven development
Drush make driven developmentDrush make driven development
Drush make driven development
 

Drupal i18n & Features

  • 1. Drupal 7 i18n Gestion des traductions entre serveurs Trucs & Astuces
  • 2.  Configuration de base  Features & Views  Features & Drush  Features & traductions des fields  Biblio
  • 3. 1. Configuration de base  Langue d’interface par défaut : FR  Langue source traduction : EN => Toute la configuration doit être en EN  Fields : label / description  Termes de taxonomie  Views : label, filtres exposés  Theme : t(‘english content’)  …
  • 4. Features & Views Features https://drupal.org/project/features Exporte la configuration dans le code PHP Diff https://drupal.org/project/diff Visualisation des différences entre versions (node, features, etc…) Views https://drupal.org/project/views …
  • 5. Features & Views ATTENTION à la langue de l’interface lors de l’exportation d’une instance de Views avec Features : les labels d’une vue exportée sont traduits ! Instance de Views – my_view Export Features contenant my_view - Interface EN Export Features contenant my_view – Interface FR
  • 6. Features & Views Explications : Il existe une traduction française de « Customized body » pour le groupe de texte « Built-in interface » : admin/config/regional/translate/translate En exportant la vue contenant le label « Customized body », Features exporte le label traduit dans la langue courante de l’interface (le français dans ce cas présent)
  • 7. Features & Views Moralité : Utilisez Features dans la langue utilisée comme langue source pour la traduction des chaînes de caractères (définie dans admin/config/regional/i18n/strings). admin/config/regional/i18n/strings
  • 8. Features & Drush  Configurer la langue par défaut de Drush (<DRUPAL_ROOT>/sites/default/drushrc.php) : $options['variables']['language_default']->language = 'en'; Doit-être identique à la langue source pour la traduction des chaînes de caractères (admin/config/regional/i18n/strings).  Pourquoi ? Sinon Drush opère dans la langue par défaut de l’interface. Pbs si updade de Features avec Drush : drush features-update <feature_name>  drushrc.php : template téléchargeable depuis http://drush.ws/examples/example.drushrc.php
  • 9. Features & traductions des fields Comment propager les traductions des labels et descriptions des fields de l’environnement de DEV vers ceux de TEST et de PROD ?  Option 1 : Features + potx  Option 2 : Field translation (i18n_field)  Option 3 : Features translations (features_translations)
  • 10. Features & traductions des fields Option 1 – Features + potx  Inclure les déclarations field_base et field_instance dans une Feature <?php /** * @file * basic_conf.features.field_instance.inc */ /** * Implements hook_field_default_field_instances(). */ function basic_conf_field_default_field_instances() { $field_instances = array(); // Exported field_instance: 'node-page-body' $field_instances['node-page-body'] = array( 'bundle' => 'page', […] // Translatables // Included for use with string extractors like potx. t('Body'); return $field_instances; }
  • 11. Features & traductions des fields Option 1 – Features + potx  Extraire les chaînes traduisibles des fichiers de la feature avec potx https://drupal.org/project/potx Ex: Feature basic_conf.info name = Basic conf core = 7.x package = Features version = 7.x-1.01 project = basic_conf […] Extract potx • 1 fichier basic_conf-7.x-1.01.fr.po • Contient tous les labels et description des fields déclarés dans la feature base_conf • Editable avec POEdit
  • 12. Features & traductions des fields Option 1 – Features + potx  Avantages Les traductions sont mise à jour sur TEST et PROD avec drush l10n-update https://drupal.org/project/l10n_update  Inconvénients Les traductions des fields sont importées dans le Text Group « Built-in interface ». Donc risque de doublons de traduction si le module field_translation (i18n_field) est activé.
  • 13. Features & traductions des fields Option 2 – Field translation (i18n_field)  [optionnellemet] Traduire tous les labels et description des fields depuis l’interface Drupal admin/config/regional/translate/translate
  • 14. Features & traductions des fields Option 2 – Field translation (i18n_field)  Exporter l’ensemble des traductions des fields dans un fichier .po admin/config/regional/translate/export  [Optionnellement] Traduire / modifier les traductions avec POEdit
  • 15. Features & traductions des fields Option 2 – Field translation (i18n_field)  [sur TEST / PROD] Importer les traductions depuis le fichier .po admin/config/regional/translate/import
  • 16. Features & traductions des fields Option 2 – Field translation (i18n_field)  Avantages Les traductions des labels et descriptions de fields sont importées dans le text- group « Field » => propre  Inconvénients Pas de commande drush pour l’importation (à ma connaissance) => nécessite d’aller dans l’interface d’admin de chaque intance Drupal à mettre à jour
  • 17. Features & traductions des fields Option 3 – Features translations (features_translations)  Avantages Les traductions des labels et descriptions de fields sont importées dans le text-group « Field » => propre Importation automatique des traductions avec un revert sur la feature.  Inconvénients Pas de fichiers .po (problématique si équipe de traducteurs) Version 1.0-beta4 (au 22/04/2014)
  • 18. Biblio  Drupal 7 Multilingual Sites – Kristen Pol  Gábor Hojtsy on Drupal http://hojtsy.hu/
  • 19. C’est tout pour aujourd’hui ! Aurélien Basille aurelien@cavacave.fr