View et multilangue

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

J'ai un site multilangue et j'utilise une view. Par contre comment est gérée la traduction de la vue. Je ne vois pas de doc à ce sujet ??

Merci,

Version de Drupal : 

C'est vrai qu'il manque de la documentation au sujet des module multilangue avec view.

Personnellement j'utilise i18n et j'ai de nouveaux filtres qui sont apparus après l'avoir installé.

J'ai cette taxonomie :

FR :

Articles
- actualite

EN :

Articles
- News

Pour qu'une view s'adapte à la langue j'ai ajouté les filtres suivant :

taxonomy : terms for articles > est l'un de > Actualité

Internationalization: Selection > Only current language & no language

Et quand je change de langue, la vue fait automatiquement le lien entre actualité et news (bien sur, il ne faut pas oublier de faire les liens entre les termes en francais et en anglais dans le module taxonomy).

Hello,

Dans la réponse de zmove, le critère important est "Internationalization: Selection > Only current language & no language". En effet, en sélectionnant cette option, une vue récupérera automatiquement les nodes rédigés dans la langue active (ou les nodes dont la langue n'a pas été précisée).

Ensuite, les nodes à sélectionner pour la vue dépendent de toi. zmove a utilisé un terme de taxonomie dans son exemple, mais ça pourrait très bien être autre chose (type de node, date de publication...).

Cela dit, je crois que ta question portait plutôt sur la traduction de l'interface de la vue elle-même (et non sur le contenu qu'elle remonte). Par exemple, dans une vue Tableau, chaque en-tête de colonne doit être traduit. On peut aussi vouloir traduire les messages affiché au-dessus (header) ou en-dessous (footer) de la vue, ou encore le message quand aucun élément n'a été trouvé (empty text)...

Malheureusement, il n'y a pas de solution simple car le module internationalization ne prend pas en charge cette traduction. Il y a quelques hacks pour y arriver (expliqués sur drupal.org) mais je ne te les recommande pas. Le plus simple est encore de faire un clone de ta vue initiale pour chaque langue de ton site, et de traduire directement le texte dans les nouvelles vues.

Traduction des vues

Drupal 6.x

i18n permet de traduire les contenus, la taxonomy, les menus via 'translate interface', les champs CCK, mais pas les vues.

Comment faire alors pour traduire les vues? La réponse: traduire les contenus souhaités puis créer sa vue en utilisant le filtre 'Node translation'=> 'Current's user language', c'est tout.

NB: si vous souhaitez rattacher votre vue à un menu, ne créez pas le menu dans Views, mais indiquer plutôt l'URL de votre page lors de la création des menus dans: 'Site building'=>'Menus', sinon la synchronisation de l'onglet de se fera pas et affichera toujours la langue source.

NB2: Une vue champs n'aura pas ses champs traduits non plus, seule le vue node affichera la traduction des champs CCK.