Drupal i18n & Features

Preview:

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

Citation preview

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/

C’est tout pour aujourd’hui !

Aurélien Basille

aurelien@cavacave.fr

Recommended