web-dev-qa-db-fra.com

Node translation vs. Entity (field) translation

J'aimerais savoir ce que vous recommandez pour un site multilingue. Par exemple, considérons le cas suivant: une page et son contenu doivent être disponibles en 3 langues (par exemple allemand, anglais et espagnol); le site utilise un type de profil, plusieurs types de contenu et vues, la taxonomie, les références de taxonomie, les références de nœuds, les références d'utilisateurs et de champs, les collections de champs, les menus, etc. Toutes ces informations doivent être traduisibles.

Pour autant que je sache, il y a deux façons d'obtenir cela: avec Entity Translation et la méthode "basée sur les nœuds", ou la méthode habituelle avec les modules Internationalization et l10n .

Comment dois-je choisir? Dans quel cas et pourquoi devrais-je envisager une méthode au lieu de l'autre?

26
Lance

Randy Fay a récemment créé un post discutant des possibilités obtenues avec de Entity Translations, où Gabor Hojtsy a commenté sur certaines des considérations à peser:

Certaines bonnes choses offertes par la [bonne vieille] traduction de nœuds incluent la prise en charge des commentaires de nœuds séparés (par exemple, vos commentaires en allemand et en anglais ne seront pas mélangés); prise en charge des révisions par langue; les workflows de publication (par exemple, le nœud allemand peut être dans un workflow de révision de pré-publication alors que l'anglais est déjà publié, des actions coordonnées peuvent publier plusieurs versions linguistiques lorsque toutes atteignent une certaine étape du workflow, etc.); gestion différente des autorisations (par exemple, certaines personnes ne peuvent éditer que les traductions allemandes et non les originaux anglais), grâce au système excessif d'accès aux nœuds de Drupal, etc. Pensez aux menus. La plupart des sites ne prévoient pas de structures de menu 1-1 pour toutes les versions traduites.

La mise en garde principale telle que je la vois pour la traduction au niveau du contenu/de l'entité/du champ se résume actuellement à ce cas spécial du drupalisme séculaire: le titre du nœud ... Ce n'est pas vraiment un champ, donc il n'est pas traduisible sans un autre module, et potentiellement quelques correctifs. À l'heure actuelle, je pense que la traduction sur le terrain est encore un terrain très "expérimental", mais vous donne plus de pouvoir pour aller de l'avant dans un nouveau territoire.

8
JamesWilson

J'ai utilisé Node translation mais maintenant après avoir essayé Entity Translation , c'est définitivement ma préférée!

Je pense que le problème principal est la fonction d'importation avec Entity Translation, car il y a une longue discussion dans la communauté Drupal. Sinon, j'ai lu un nouveau module, mais je ne l'ai pas encore essayé. Mais je vous donnerai mon avis après!

Si vous combinez Entity Translation avec le module Title , vous pouvez tout traduire. Je préfère également le module " Mise à jour de la localisation ".

Vous devez donc installer et activer ces modules contribués:

Et vous devez activer ces modules de base:

  • Lieu.
  • Traduction de contenu.

Bonne chance!

5
weristsam

Présentation de Suzanne Kennedy et Florian Loretan à DrupalCon Denver a répondu à cette question. Il semble que la traduction des entités soit la voie de l'avenir et soit au moins partiellement prévue pour l'intégration dans le noyau.

Leur recommandation était d'utiliser la traduction d'entité à moins que vous n'ayez besoin de support pour la révision.

5
Patrick Kenny

Je sais que je ressuscite les morts ici mais:

D'après ce que je peux dire, la méthode de traduction de nœuds à 6 styles (chaque traduction est un nouveau nœud) est toujours le seul moyen utile de traduire du contenu, ayant l'avantage d'être ce à quoi tout le monde est habitué et d'être fonctionnellement complet. (Les titres des nœuds ne sont pas des champs en 7 et ne peuvent donc pas être traduits sur le terrain, entre autres lacunes idiotes.)

Vous allez toujours utiliser i18n/locale, le seul choix (qui n'est pas vraiment un choix) est la traduction au niveau du nœud ou au niveau du champ, dont seule la traduction du nœud est susceptible d'être utile.

Edit: Depuis que cela a été écrit, le module Traduction d'entité + Titre a rendu la traduction au niveau du champ très efficace. Si vous pouvez les utiliser, vous devriez.

2
lotyrin

La traduction d'entités est beaucoup plus logique dans la plupart des cas que la traduction de nœuds; mais malheureusement, ce n'est pas vraiment une option viable pour D7 car de nombreux modules ne le prennent toujours pas en charge. Les gens qui font des présentations et montrent à quel point c'est génial ne font qu'un travail très simple. Par exemple, quelque chose d'aussi commun/populaire que les collections de champs n'est toujours pas pris en charge par ET.

Lorsque nous démarrons un nouveau site multilingue, nous commençons toujours par ET car c'est une excellente idée. Nous nous en tenons à cela jusqu'à ce que nous trouvions trop de problèmes avec des choses qui ne sont pas compatibles .. et finalement nous revenons à l'ancienne méthode D6.

1
liquidcms