Autoriser certaines langues de traduction pour certains redacteurs

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,

Je fais un site multilangue, j'ai une problématique c'est que chaque langue doit-être gérée par un utilisateur différent. Du coup, j'aimerai savoir si il est possible de forcer le rédacteur à ne pouvoir traduire un contenu uniquement dans sa langue (ou un certain nombre de langue prédéfini) ? Je ne sais pas si je suis assez clair ^^.
(En gros il ne faut pas que le rédacteur espagnol puisse créer du contenu français et vice versa.)

Merci d'avance.

Forum : 
Version de Drupal : 

Bonsoir,

Tu peux procéder comme sa:

  • Définir un module

  • Définir les droits avec le hook_permissions(): par exemple:
    voir_traduire_page_fr / voir_traduire_page_en.

  • Définir les rôles ( ici: role1: traducteur_fr, role2: traducteur_ES, role3: traducteur_ES,.....);

  • affecte les droits aux roles que t'as crées.

  • Définir des utilisateurs par rôle et la langue de chaque utilisateur.

  • faire un hook_form_alter() dans ton module sur le formulaire "page-node-form"

  • Dans la select box de la langue ( liste des langues )affiche seulement la langue de l'utilisateur en cours pas toutes les langues du site.

  • Lors de traduction, l’accès à l'url de traduction n'est permis que pour l'utilisateur dont la langue courante est la langue de la page,
    pour ce faire, tu teste dans ton module_preprocess_page($vars) sur l'url de distination en tenant compte de la langue.

merci