web-dev-qa-db-fra.com

Comment puis-je obtenir des éléments de contenu Views dans «ma langue» mais revenir à «par défaut» si le contenu n'est pas traduit?

C'est probablement très facile mais la recherche sans fin s'est avérée infructueuse - il y a beaucoup de changements d'interface entre les versions D7 et D8 de ces modules.

Ce que je veux faire, c'est créer un blog en deux langues. La langue par défaut est l'anglais. Surtout, l'auteur traduira les articles en italien. Cependant, je voudrais créer la vue du blog de telle sorte que:

  1. une seule traduction apparaît dans la liste, par nœud
  2. si vous consultez le site en italien mais qu'il n'y a pas de traduction d'un élément de liste spécifique en italien, la version anglaise s'affiche (revenir à la langue par défaut)
  3. s'il n'a écrit qu'une version italienne, montrez que de toute façon au lieu de la version anglaise inexistante

Les options dans les vues sont similaires à celles de partout ailleurs, mais dans ces autres endroits, ce n'est pas vraiment un problème. Dans les nœuds standard, la solution de secours intervient automatiquement. Des idées sur la façon de configurer cela?

9
NikLP

Je pense que vos besoins peuvent être restructurés comme suit:

  1. Afficher tout le contenu une fois.
  2. Afficher le contenu dans la langue actuelle, se replier sur l'autre.

Ensuite, cela devient assez facile:

  1. Ajoutez le filtre "Traduction par défaut" à une vue. Cela garantit essentiellement que tous vos nœuds sont affichés une fois, car chaque nœud ne peut avoir qu'une seule traduction par défaut.
  2. Sélectionnez "Langue du texte d'interface sélectionnée pour la page" pour la langue "Rendu". Cela tentera d'afficher le site dans la langue actuelle et se repliera s'il n'est pas disponible. (Le texte de l'interface semble un peu trompeur, mais à moins que vous n'ayez explicitement activé la négociation de langue de contenu distincte, c'est la même chose que la langue de contenu).
25
Berdir