Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -5337,21 +5337,27 @@ soues? (([àa]) cochons?) @@$,w <<- \2 == "a" -2>> à # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”. <<- ~1>> * __[u](p_système)__ systèmes? (d’exploitation|D) @@$ <<- ~1>> * __[i](p_taille)__ taille (\d+) @@$ <<- ~1>> * +__[i](p_talons_aiguilles)__ talons? (aiguilles?) @@$ <<- ~1>> * __[i](p_taux_de_qqch)__ taux (d’(?:abstention|absorption|alcool|alphabétisation|endettement|inflation|intérêt|imposition|occupation|ouverture|œstrogène|urée|usure)|de (?:change|cholest[ée]rol|glycémie|fécondité|participation|testostérone|TVA)) @@$ <<- ~1>> * __[i](p_tête_de_déterré)__ têtes? (de déterrée?s?) @@$ <<- ~1>> * __[i](p_tout_un_chacun)__ (tout un) chacun @@0 <<- ~1>> * __[i](p_tour_de_passe_passe)__ tours? (de passe-passe) @@$ <<- ~1>> * -__[i](p_trou_à_rat)__ trous? (([àa]) rats?) @@$,w +__[i](p_trou_à_rat)__ + trous? (([àa]) rats?) @@$,w <<- \2 == "a" -2>> à # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”. <<- ~1>> * __[i](loc_tueur_à_gages)__ tueu(?:r|se)s? (([àa]) gages) @@$,w <<- \2 == "a" -2>> à # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”. <<- ~1>> * +__[i](loc_vache_à_lait)__ + vaches? (([àa]) lait) @@$,w + <<- \2 == "a" -2>> à # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”. + <<- ~1>> * __[i](p_vecteur)__ vecteurs? (accélérations?|positions?|rotations?|vitesses?) @@$ <<- ~1>> * __[i](loc_vente_à_domicile)__ ventes? (([àa]) domicile) @@$,w <<- \2 == "a" -2>> à # Confusion : “a” est une conjugaison du verbe “avoir”. Pour la préposition, écrivez “à”. <<- ~1>> * @@ -5398,14 +5404,17 @@ TEST: Ventes {{a}} domicile insatisfaisantes TEST: Ce n’est que du vernis {{a}} ongles. TEST: le vol {{a}} l’étalage est un fléau. TEST: Il nous faut une {{voix}} de recours. TEST: c’est une putain d’usine {{a}} gaz. +TEST: ce produit est notre vache {{a}} lait TEST: un champ de canne à sucre TEST: La batterie se recharge automatiquement grâce au moteur essence. TEST: c’est un moteur diésel. TEST: cette descente aux enfers interminable. +TEST: c’est une vache à lait +TEST: Ses talons aiguille étaient à la denière mode. # simplification des nombres __> dix Index: gc_lang/fr/webext/content_scripts/panel_gc.js ================================================================== --- gc_lang/fr/webext/content_scripts/panel_gc.js +++ gc_lang/fr/webext/content_scripts/panel_gc.js @@ -322,11 +322,13 @@ this.xTooltipArrow.style.left = (xNodeErr.offsetLeft + Math.floor((nUsefulErrorWidth / 2)) - 4) + "px"; // 4 is half the width of the arrow. this.xTooltip.style.top = (xNodeErr.offsetTop + 20) + "px"; this.xTooltip.style.left = (xNodeErr.offsetLeft > nTooltipLeftLimit) ? nTooltipLeftLimit + "px" : xNodeErr.offsetLeft + "px"; if (xNodeErr.dataset.error_type === "grammar") { // grammar error + document.getElementById("grammalecte_tooltip_add_word").style.display = "none"; if (xNodeErr.dataset.gc_message.includes(" ##")) { + // display rule id let n = xNodeErr.dataset.gc_message.indexOf(" ##"); document.getElementById("grammalecte_tooltip_message").textContent = xNodeErr.dataset.gc_message.slice(0, n); document.getElementById("grammalecte_tooltip_rule_id").textContent = "Règle : " + xNodeErr.dataset.gc_message.slice(n+2); document.getElementById("grammalecte_tooltip_rule_id").style.display = "block"; } else { @@ -355,13 +357,19 @@ } if (xNodeErr.dataset.error_type === "spelling") { // spelling mistake document.getElementById("grammalecte_tooltip_message").textContent = "Mot inconnu du dictionnaire."; document.getElementById("grammalecte_tooltip_ignore").dataset.error_id = xNodeErr.dataset.error_id; + document.getElementById("grammalecte_tooltip_rule_id").style.display = "none"; document.getElementById("grammalecte_tooltip_url").dataset.url = ""; document.getElementById("grammalecte_tooltip_url").style.display = "none"; - document.getElementById("grammalecte_tooltip_rule_id").style.display = "none"; + if (xNodeErr.dataset.gc_message.includes(" ##")) { + // display rule id + document.getElementById("grammalecte_tooltip_add_word").style.display = "block"; + } else { + document.getElementById("grammalecte_tooltip_add_word").style.display = "none"; + } this.clearSuggestionBlock(); this.xTooltipSuggBlock.textContent = "Recherche de graphies possibles…"; xGrammalectePort.postMessage({ sCommand: "getSpellSuggestions", dParam: {sWord: xNodeErr.textContent},