Contribution: adding some new features to GlotDict

GlotDict is a Firefox & Chrome plugin developed by Daniele Scasciafratte alias Mte90. This open-source software is maintained on GitHub. The main goal is to help WordPress GTE and Translation contributors to checktranslation against locales typographic and technical rules.

Après une précédente contribution permettant d’afficher un repère visuel sur les espaces insécables, j’ai ajouté sur cet utilitaire une nouvelle alerte permettant de notifier le traducteur de l’utilisation de l’apostrophe droite ' au lieu de l’apostrophe typographique courbe . Pour rappel, cette apostrophe courbe peut être obtenue en utilisant ALT+0146 (avec le pavé numérique) sur Windows ou ALT+SHIFT+4 sur Mac OS.

Cette amélioration se présente sous la forme d’une option dans le panneau GlotDict :

Une fois activée, l’option affiche les alertes lors de la validation des chaînes, sous la forme conventionnelle des alertes GlotDict.

Un article plus complet a été publié sur notre site officiel WordPress.org : https://fr.wordpress.org/team/2018/01/07/activer-la-verification-des-apostrophes-typographiques-sur-glotdict/

Détails de l’intervention

Rien de ouf. Juste deux pull requests sur le dépôt GitHub du projet:

La première contient le patch suivant, qui permet d’afficher une notification si des apostrophes droites sont utilisées.

	if (gd_get_setting('curly_apostrophe_warning')) {
	  if (newtext.indexOf("'") > -1) {
		jQuery('.textareas', selector).prepend(gd_get_warning('The translation is using straight apostrophes instead of curly ones. Please check them.', discard));
		howmany++;
	  }
	}

La seconde est une petite amélioration suggérée par Aurélien Joahny sur ma précédente contrib à GloDict. Il s’agit d’afficher également les espaces insécables dans le panneau de modification d’une chaîne de caractères.

	jQuery('blockquote.translation > em > small').each(function () {
	  var translation_item = jQuery(this).text();
	  if (translation_item.indexOf(' ') > -1) {
		var translation_highlighted = '';
		for (var i = 0; i < translation_item.length; i++) {
		  if (translation_item[i] === ' ') {
			translation_highlighted += ' ';
		  } else {
			translation_highlighted += translation_item[i];
		  }
		}
		jQuery(this).html(DOMPurify.sanitize(translation_highlighted));
	  }
	});

#TousContributeurs ❤️

Leave a Reply

Your email address will not be published. Required fields are marked *