Quelques pistes sur la manière de propager vos traductions de Fields et Views via Features et Drush de votre environnement de développement vers le test et la production.
Présentation du Meetup Drupal Paris, le 23/04/2014
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’)
…
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