+ All Categories
Transcript
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]


Top Related