Drupal i18n & Features

19
Drupal 7 i18n Gestion des traductions entre serveurs Trucs & Astuces

description

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

Transcript of Drupal i18n & Features

Page 1: Drupal i18n & Features

Drupal 7 i18nGestion des traductions entre serveurs

Trucs & Astuces

Page 2: Drupal i18n & Features

Configuration de base

Features & Views

Features & Drush

Features & traductions des fields

Biblio

Page 3: Drupal i18n & Features

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’)

Page 4: Drupal i18n & Features

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

Page 5: Drupal i18n & Features

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

Page 6: Drupal i18n & Features

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)

Page 7: Drupal i18n & Features

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

Page 8: Drupal i18n & Features

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

Page 9: Drupal i18n & Features

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)

Page 10: Drupal i18n & Features

Features & traductions des fieldsOption 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;}

Page 11: Drupal i18n & Features

Features & traductions des fieldsOption 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 confcore = 7.xpackage = Featuresversion = 7.x-1.01project = 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

Page 12: Drupal i18n & Features

Features & traductions des fieldsOption 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é.

Page 13: Drupal i18n & Features

Features & traductions des fieldsOption 2 – Field translation (i18n_field)

[optionnellemet] Traduire tous les labels et description des fields depuis

l’interface Drupal

admin/config/regional/translate/translate

Page 14: Drupal i18n & Features

Features & traductions des fieldsOption 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

Page 15: Drupal i18n & Features

Features & traductions des fieldsOption 2 – Field translation (i18n_field)

[sur TEST / PROD] Importer les

traductions depuis le fichier .po

admin/config/regional/translate/import

Page 16: Drupal i18n & Features

Features & traductions des fieldsOption 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

Page 17: Drupal i18n & Features

Features & traductions des fieldsOption 3 – Features translations (features_translations)

Avantages

Les traductions des labels et descriptions de fieldssont 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)

Page 18: Drupal i18n & Features

Biblio

Drupal 7 Multilingual Sites – Kristen Pol

Gábor Hojtsy on Drupal

http://hojtsy.hu/

Page 19: Drupal i18n & Features

C’est tout pour aujourd’hui !

Aurélien Basille

[email protected]