Plugin WP Genders : Comment ajouter des genres dans votre administration WordPress

31. décembre 2021 Humeurs
Plugin WP Genders : Comment ajouter des genres dans votre administration WordPress

S’il est bien un sujet d’actualité depuis quelques années et qui n’a pas fini de faire parler de lui, c’est celui des genres. Je suis pour l’ouverture aux genres, chacun et chacune est libre de se sentir et de se faire respecter comme iel l’entend à ce niveau là.

Là où, il faut l’avouer, cela devient compliqué, c’est quand les textes sont automatisés, comme par exemple, les chaînes de texte d’une interface de logiciel, ici, WordPress.

Fausse solution

Alors vous me direz “Mais non, il suffit de tout écrire de façon épicène, comme ça on ne genre pas, personne n’est ciblé, personne n’est oublié !”, mais ce n’est pas si simple, en tout cas en français qui est une langue très genrée.

Les équipes de traduction de WordPress font un gros travail bénévole pour réussir cette prouesse, mais je dois avouer que parfois… ça ne me va pas. Vais-je parler de la chaîne « Un rôle administrateur/administratrice » et de sa grammaire approximative ? Pas plus que ça, elle a déjà fait couler assez d’encre sur Twitter et Slack. Mais l’idée vient pourtant bien de là, une chaîne trop longue, doublement genrée et grammaticalement incorrecte.

Ça dépend ça dépasse

Le français (fr_FR et non pas belge ou canadien, à ce jour) est la seule langue de tout WordPress qui traduit le mot « Administrator » (13 lettres) en « Administrateur/administratrice » (30 lettres insécables) ce qui en fait une chaîne lourde et bien trop longue. Mais je comprends, il n’existe pas de façon épicène de traiter ça, la faute au français !

Aussi, à vouloir dégenrer, on ajoute une binarité qui n’existait alors pas. Avant quand on disait « un administrateur », on ne parlait pas du genre masculin mais bien du genre neutre, car en français, le neutre est… bien souvent la copie du masculin…. Maintenant qu’on souhaite supprimer le genre neutre pour ne plus genrer, on fait parfois l’inverse en ajoutant les 2 genres, ce qui mets d’ailleurs de côté les autres genres, mais ceci est un autre chapitre.

Reste maintenant le cas d’une personne qui gère un site et qui souhaite que son interface reste genrée avec son genre, elle aimait tout autant le neutre, mais ce n’est plus possible. Que faire !?

J’ai le TRAC

Je ne suis pas le seul ni le premier à avoir cette idée, des tickets trac WordPress existent sur ce sujet : #42725, #42900, #53889. Le dernier ticket est au sujet des pronoms, ce qui sera encore plus compliqué à gérer à causes des accords et des multiples possibilités sans limite des pronoms, mais ceci ne nous concerne pas pour le moment, je n’ai pas trouvé dans la traduction française d’utilisation de pronoms, hooo merciiiii.

WP GENDERS

Ce plugin disponible sur github permet de surcharger les traductions de toutes les langues disponibles. Actuellement, 3 langues sont gérées : fr_FR, fr_BE, fr_CA. Toute langue qui a besoin de regenrer correctement comme il l’entend peut utiliser cette extension pour le faire.

Puis tout plugin qui désire rendre certaines de ses chaînes genrable, peut les ajouter via une fonction dédiée.

Encore, vous pouvez même surcharger le plugin en ajoutant vos propres genres, je vous montre ça dans les exemples.

Prises en charge

Le plugin prend en charge l’ajout des genres pour le, la, les personnes responsables de l’administration :

La liste des possibilités de genrer le rôle admin en 1.0

Cela permet de mieux cibler qui parle dans les mails envoyés par votre site. En effet, si vous êtes la seule femme/personne genrée féminin et souhaitez qu’on dise « Une notification a été envoyée à l’administratrice« , c’est quand même plus précis et respectueux que de dire « Une notification a été envoyée à l’administrateur ou l’administratrice« , alors que cette personne connait son genre, il n’y a pas de « ou« , pas d’hésitation. Même constat quand il y a plusieurs personnes aux commandes, on peut signifier que plusieurs personnes ont envoyé/reçu le mail.

Il prend en charge la façon de gérer les genres des rôles non attribués (comme dans les listes par exemple) :

Liste des possibilités de genrer les rôles non attribués en 1.0

Il prend aussi en charge le genre désiré pour chaque compte :

Liste des genres pour un compte en 1.0

Une fois que cette personne aura sélectionné son genre préféré, on pourra alors le voir dans la liste des comptes dans l’interface native de WordPress :

« admin » a laissé le choix natif, « admin_j » est un homme, « maria_contrib » une femme et « random_sub » a préféré rester neutre.

Utilisation simple

  • Téléchargez le plugin (actuellement sur github, puis sera mis sur le repo une fois testé et que des retours auront été fait),
  • Uploadez le dans /wp-content/plugins/ comme d’habitude,
  • Activez-le,
  • Ouvrez la page de réglage « Géréral » pour régler le genre du rôle admin et le genre des rôles non attribués,
  • Ouvrez votre profil et/ou celui d’un compte pour modifier son genre préféré.

Utilisation avancée

Ajouter une langue

Merci de contribuer au dépôt github https://github.com/JulioPotier/wp-genders et d’ajouter vos chaînes. Le fichier model.php est un moyen simple d’obtenir les données JSON dont nous avons besoin. Une fois rempli et le nom du fichier changé, ouvrez ce fichier sur n’importe quel site Web et vous obtiendrez un fichier lang_LANG.json, ouvrez ensuite une pull request ! Aussi, traduisez le plugin comme d’habitude pour créer des fichiers gender-lang_LANG.mo/mo.

Ajouter une chaîne personnalisée de votre extension

Utilisez simplement les fonctions natives __(), _e(), etc, tout est automatisé. Pour un meilleur rendu, utilisez les mêmes termes que WordPress, par exemple « administrateur/administratrice » ou « l’administrateur ou l’administratrice »….

Ajouter des chaînes de remplacement dans votre extension

Vous pouvez utilisez ce snippet :

add_action( 'plugins_loaded', function() {
   if ( function_exists( 'add_gendered_translation' ) ) {
	    add_gendered_translation( 'Hey my man or woman', // sentence to translate in your plugin with __() as usual
			[ // gendered translation in your language. Repeat for each needed language.
				'NSP' => 'Hey everyone',
				'NE' => 'Hey you',
				'M'  => 'Hey my boy',
				'F'  => 'Hey my lady',
				'MP' => 'Hey my boys',
				'FP' => 'Hey my ladies',
			]
	    );
    }
}

Si vous essayez de remplacer une traduction existante, vous aurez besoin d’une priorité plus élevée, mais n’oubliez pas que seul la plus ancienne sera utilisée.

Démo pour remplacer « L’administrateur ou l’administratrice » par « le Président » ou « la Présidente » :

add_action( 'init', function() {
	add_gendered_translation( "[Ll][’']administrateur ou l[’']administratrice",
			[
				'M'  => 'le Président', // always start with a lower case, we will handle the upper if needed.
				'F'  => 'la Présidente',
			], 'high' ); // "high" priority here
	}
);

Vous devrez peut-être répéter cette opération pour chaque phrase du fichier fr_FR.json ici, ou seul ce cas sera couvert.

Légende :

  • NSP : Pluriel Non Spécifié (imite le comportement de WP avec une forme plurielle)
  • NE : Neutre / Non-Binaire / Agenré
  • M : Homme
  • F : Femme
  • MP : Hommes
  • FP : Femmes

Par défaut « WP » est utilisé pour garder les traductions natives, vous ne pouvez pas changer les valeurs de « WP ».

Ajouter un rôle genré dans votre extension

Vous pouvez utiliser ce snippet :

add_filter( 'roles_gendered', function( $roles ) {
	$roles['tutor_instructor'] =
	    [ // "tutor_instructor" key from LMS plugin
			'NE' => 'Responsable de l’instruction',
			'M' => 'Tuteur instructeur',
			'F' => 'Tutrice instructrice',
		];
	$roles['Tutor Instructor'] = $roles['tutor_instructor']; // "Tutor Instructor" english label from LMS plugin
	
	return $roles;
});

Rien de vous oblige à traduire tous les index si ce n’est pas utile, ici c’est le cas.

Retours

Merci d’avance de donner du feedback sur github, d’ouvrir des issues si besoin, de proposer vos améliorations, vos découvertes de bugs etc

Vous aimez ? Partagez !


Réagir à cet article

220 caractères maximum