Historique du Module entity translation et drupal 7

Traduire du contenu: façon node ou field

La traduction de l'interface (module locale du core): ce sont des chaines (strings) passées via la fonction t().

Note - cf http://php.developpez.com/tutoriels/drupal/atelier-drupal7/?page=creatio...  Chaque chaîne de l'interface d'un module peut être traduite via différents modules. Cela sera possible pour vos propres modules si vous utilisez la fonction t() (pour Translate) autour de chaque chaîne de caractères de votre module :

$block['hello-block'] = array(
  'info' => t('Hello world !'),
);
 
$block = array (
  'subject' => t('First module say :'),
  'content' => t('Hello World !!!')
);

Pour certains champs, il ne faut pas utiliser la fonction t(), car elle est automatiquement appelée.

 

trad du contenu: si Entity translation est activé, il co-existe avec le core.
Les diverses conf permettent d'utiliser soit l'un, soit l'autre, soit les combiner...

Traduction du contenu
Content translation (core)  Module entity translation
core Content Translation Entity translation (module externe)
plusieurs version du node traduction des divers champs

Conf complexe + autres modules peuvent poser des soucis SEO.
Dans le doute (pour SEO plus efficace) choisir le 2nd modèle (avec module externe "entity translation", sans/avec "Content translation" du core).

Installation et conf d'un site "Entity translation" (sans content trans.)

Installer un drupal 7 propre en anglais.
Avoir les modules Title (trad titres des nodes) et Entity (requis par Title), i18n et variable, Langage icons.
Installer 1 ou 2 autres langues, ne cocher que URL (onglet Detection and Selection). Importer 2-3 .po
Pour un type de contenu: activer trad. Activer le bloc "Language Switcher block"

Ne pas activer Content Translation (du core), mais activer le module externe Entity translation + Title + i18n (principal) et son sous module Field translation ; Entity API et Variable aussi (requis).

Aller modifier

  • le type de contenu (pour prise en compte des modules qui viennent d'etre activés) et
  • voir la modif sur l'onglet "manage fields" faite par le module Title (pour activer sa trad). Activer la trad sur les divers champs qui le nécessite (via le lien "Field settings").
    pour cacher le champs (affiché comme tout champs dans le content, alors qu'il y est déja): Manage fileds

Autres modules liés

 

Voir cet article de 2011: http://www.lullabot.com/blog/article/localized-and-multi-lingual-content...
Qui (en anglais) présente l'historique de ce module, qui n'a pas eu le temps d'etre intégré à drupal 7 lors de sa sortie. Présentation de 3 concepts: traduire l'interface, traduire le contenu, puis explique comment configurer.

Voir aussi https://drupal.org/node/1498708 et sur la traduction des champs (module Entity translation) https://drupal.org/node/1280632