Drupal i18n & Features
description
Transcript of Drupal i18n & Features
Drupal 7 i18nGestion 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 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;}
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
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é.
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
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
Features & traductions des fieldsOption 2 – Field translation (i18n_field)
[sur TEST / PROD] Importer les
traductions depuis le fichier .po
admin/config/regional/translate/import
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
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)
Biblio
Drupal 7 Multilingual Sites – Kristen Pol
Gábor Hojtsy on Drupal
http://hojtsy.hu/