Overview
Comment: | [fr] ajustements [core] remove legacy code |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr | core |
Files: | files | file ages | folders |
SHA3-256: |
b85ddf960446ee77eda08c2e64cc5e4d |
User & Date: | olr on 2020-05-09 11:50:28 |
Other Links: | manifest | tags |
Context
2020-05-09
| ||
12:21 | [fr] faux positifs check-in: 5dbf99c441 user: olr tags: trunk, fr | |
11:50 | [fr] ajustements [core] remove legacy code check-in: b85ddf9604 user: olr tags: trunk, fr, core | |
11:22 | [core][fr] untested rules: display update check-in: ff05e3b47e user: olr tags: trunk, fr, core | |
Changes
Modified gc_lang/fr/modules-js/gce_analyseur.js from [ecd175c995] to [39d2630e9f].
︙ | ︙ | |||
84 85 86 87 88 89 90 | return true; } if (s.length > 1 && s.length < 16 && s.slice(0, 1).gl_isLowerCase() && (!s.slice(1).gl_isLowerCase() || /[0-9]/.test(s))) { return true; } return false; } | < < < < < < < | 84 85 86 87 88 89 90 | return true; } if (s.length > 1 && s.length < 16 && s.slice(0, 1).gl_isLowerCase() && (!s.slice(1).gl_isLowerCase() || /[0-9]/.test(s))) { return true; } return false; } |
Modified gc_lang/fr/modules/gce_analyseur.py from [8b59546a79] to [e1e5c27c19].
︙ | ︙ | |||
71 72 73 74 75 76 77 | def mbUnit (s): "returns True it can be a measurement unit" if _zUnitSpecial.search(s): return True if 1 < len(s) < 16 and s[0:1].islower() and (not s[1:].islower() or _zUnitNumbers.search(s)): return True return False | < < < < < < < | 71 72 73 74 75 76 77 | def mbUnit (s): "returns True it can be a measurement unit" if _zUnitSpecial.search(s): return True if 1 < len(s) < 16 and s[0:1].islower() and (not s[1:].islower() or _zUnitNumbers.search(s)): return True return False |
Modified gc_lang/fr/rules.grx from [0c017307e3] to [98a90d18a9].
︙ | ︙ | |||
2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 | TEST: Elle était tout feu, tout flamme. TEST: Ses rencards finissent par devenir lassants TEST: trois espèces de chauve-souris dont une est éteinte TEST: Ils sont source de conflits TEST: Votre question fait référence à un fait divers déroutant !!! !!! !!! Étiquettes !! !!! !!! | > > > > > | 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 | TEST: Elle était tout feu, tout flamme. TEST: Ses rencards finissent par devenir lassants TEST: trois espèces de chauve-souris dont une est éteinte TEST: Ils sont source de conflits TEST: Votre question fait référence à un fait divers déroutant __da_couleurs_invariables__ *WORD [abricot|acajou|amarante|anthracite|aubergine|brique|caca|café|cannelle|caramel|carmin|carotte|cerise|châtaigne|chocolat|citron|corail|crème|fuchsia|groseille|havane|jonquille|marron|mastic|nacarat|ocre|olive|paille|parme|pastel|pervenche|pie|prune|sable|tabac|vermillon] <<- morph(\1, ":(D.*:p|B)") =>> exclude(\2, ":A:e:i") !!! !!! !!! Étiquettes !! !!! !!! |
︙ | ︙ | |||
19509 19510 19511 19512 19513 19514 19515 | TEST: servi pas un style et une exigence historique remarquables ## Pluriels __gn_les_1m__ , les *WORD | | < | < > | 19514 19515 19516 19517 19518 19519 19520 19521 19522 19523 19524 19525 19526 19527 19528 19529 19530 19531 19532 19533 19534 19535 19536 19537 19538 19539 19540 19541 19542 19543 19544 19545 19546 19547 19548 | TEST: servi pas un style et une exigence historique remarquables ## Pluriels __gn_les_1m__ , les *WORD <<- /gn/ morph(\3, ":[NA].*:s", "*") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -3>> =suggPlur(\3) && Accord de nombre erroné : « \3 » devrait être au pluriel. *WORD les *WORD <<- /gn/ morph(\2, ":D") and ( morph(\3, ":[NA].*:s", "*") or (morph(\3, ":[NA].*:s", ":[pi]|>avoir/") and morph(\1, ":[RC]", ">(?:e[tn]|ou)/") and not (morph(\1, ":Rv") and morph(\3, ":Y"))) ) and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) and not (value(\1, "|que|") and morph(<1, ">tel/") and morph(\3, ":3[sp]")) -3>> =suggPlur(\3) && Accord de nombre erroné : « \3 » devrait être au pluriel. <start> les *WORD <<- /gn/ morph(\3, ":[NA].*:s", ":[ipYPGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -3>> =suggPlur(\3) && Accord de nombre erroné : « \3 » devrait être au pluriel. TEST: ils viennent, les {{petit}} TEST: Les {{tiret}} ->> tirets TEST: Les plus {{grand}} hommes. ->> grands TEST: les {{véhicule}} ->> véhicules TEST: Les {{démoralisation}}. ->> démoralisations TEST: dans les {{usine}} ->> usines TEST: les {{abricot}} ->> abricots TEST: tels que les décrit Macron __gn_les_2m__ les *WORD *WORD <<- /gn/ morph(\1, ":D") and not value(<1, "|et|ou|de|d’|") and not \3.startswith("seul") >>> <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*"))) |
︙ | ︙ | |||
19567 19568 19569 19570 19571 19572 19573 | TEST: les moins éloignées possible TEST: Les besoins minimums en matière de sommeil sont-ils les mêmes d’un individu à l’autre ? TEST: cette attention de tous les instants portée à la boussole. __gn_leurs_1m__ leurs *WORD | | < > | < > | < > | 19571 19572 19573 19574 19575 19576 19577 19578 19579 19580 19581 19582 19583 19584 19585 19586 19587 19588 19589 19590 19591 19592 19593 19594 19595 19596 19597 19598 19599 19600 19601 19602 19603 19604 19605 19606 19607 19608 19609 19610 19611 19612 19613 19614 19615 19616 19617 19618 19619 | TEST: les moins éloignées possible TEST: Les besoins minimums en matière de sommeil sont-ils les mêmes d’un individu à l’autre ? TEST: cette attention de tous les instants portée à la boussole. __gn_leurs_1m__ leurs *WORD <<- /gn/ morph(\2, ":[NA].*:s", ":(?:[ipGW]|[123][sp])") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -2>> =suggPlur(\2) && Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. <<- /gn/ __also__ -1>> leur && Accord de nombre erroné avec « \2 ». TEST: {{leurs}} {{action}} TEST: {{leur}} {{données}} TEST: {{leurs}} {{abricot}} __gn_det_pluriel_1m__ [des|mes|tes|ses|nos|vos|quelques|lesdits|lesdites|desdits|desdites|auxdits|auxdites|moult] *WORD <<- /gn/ morph(\2, ":[NA].*:s", ":[ipGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -2>> =suggPlur(\2) && Accord de nombre erroné : « \2 » devrait être au pluriel. TEST: des {{pain}} ->> pains TEST: Quelques {{homme}}. ->> hommes TEST: plusieurs {{femme}} sont venues. TEST: des {{abricot}} TEST: une personne ou plusieurs ayant décidé de façon déterminée et coordonnée de faire cuire la grenouille __gn_ces_aux_pluriel_1m__ [ces|aux] *WORD <<- /gn/ morph(\2, ":[NA].*:s", ":[ipGW]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -2>> =suggPlur(\2) && Accord de nombre erroné : « \2 » devrait être au pluriel. <<- /gn/ __also__ and morph(\2, ">[bcdfglklmnpqrstvwxz].*:m", ":f") >>> <<- /gn/ \1.endswith("x") or \1.endswith("X") -1>> au && Accord de nombre erroné : « \2 » est au singulier. <<- /gn/ __else__ -1>> ce && Accord de nombre erroné : « \2 » est au singulier. TEST: {{ces}} {{détournement}} de fonds et ces vols TEST: ces {{étudiant}} sont légion. TEST: je vais {{aux}} {{cinéma}} TEST: il l’a donné aux {{étudiant}} TEST: aux {{personne}} TEST: clafoutis aux {{abricot}} __gn_det_epi_plur_2m__ [ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs|aux|moult] *WORD *WORD <<- /gn/ not value(<1, "|et|ou|de|d’|au|aux|") and not \3.startswith("seul") >>> <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*"))) and not apposition(\2, \3) |
︙ | ︙ | |||
19677 19678 19679 19680 19681 19682 19683 | TEST: Des {{chambres}} plus ou moins fortement {{éclairé}}. TEST: Les couleurs rouge, jaune et verte ne doivent pas être utilisées TEST: des passeports américain, canadien, néerlandais, allemand et britannique. __gn_plusieurs_1m__ plusieurs *WORD | | < > | 19681 19682 19683 19684 19685 19686 19687 19688 19689 19690 19691 19692 19693 19694 19695 19696 19697 19698 19699 19700 | TEST: Des {{chambres}} plus ou moins fortement {{éclairé}}. TEST: Les couleurs rouge, jaune et verte ne doivent pas être utilisées TEST: des passeports américain, canadien, néerlandais, allemand et britannique. __gn_plusieurs_1m__ plusieurs *WORD <<- /gn/ morph(\2, ":[NA].*:s", ":[ipGWP]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -2>> =suggPlur(\2) && Accord de nombre erroné : « \2 » devrait être au pluriel. TEST: plusieurs {{femme}} TEST: plusieurs {{foi}} par jour. TEST: plusieurs {{abricot}} ## Cas particuliers __gn_det_plur_cas_particuliers__ [ces|des|mes|tes|ses|nos|vos|leurs|quelques|quels] [même|point|son|ton] <<- /gn/ -2>> \2s && Accord de nombre erroné : mettez au pluriel. |
︙ | ︙ | |||
19725 19726 19727 19728 19729 19730 19731 | ## certains / certaines __gn_certains_1m__ certains *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[emGWP]") -1>> certaines && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasPlur(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. | | < | < | 19729 19730 19731 19732 19733 19734 19735 19736 19737 19738 19739 19740 19741 19742 19743 19744 19745 19746 19747 19748 19749 19750 19751 19752 19753 19754 19755 | ## certains / certaines __gn_certains_1m__ certains *WORD <<- /gn/ morph(\2, ":[NA].*:f", ":[emGWP]") -1>> certaines && Accord de genre erroné : « \2 » est féminin. <<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasPlur(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin. <<- /gn/ morph(\2, ":[NA].*:s", ":(?:[ipGWP]|V0)") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -2>> =suggPlur(\2) && Accord de nombre erroné : « \2 » devrait être au pluriel. __gn_certains_des_1m__ certains des *WORD <<- /gn/ morph(\3, ":[NA].*:f", ":[emGW]") -1>> certaines && Accord de genre erroné : « \3 » est féminin. <<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasPlur(\3, True) && Accord de genre erroné : « \1 » est un déterminant masculin. __gn_certaines_1m__ certaines *WORD <<- /gn/ morph(\2, ":[NA].*:m", ":[efGWP]") -1>> certains && Accord de genre erroné : « \2 » est masculin. <<- /gn/ __also__ and hasFemForm(\2) -2>> =suggFemPlur(\2, True) && Accord de genre erroné : « \1 » est un déterminant féminin. <<- /gn/ morph(\2, ":[NA].*:s", ":[ipGWP]") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -2>> =suggPlur(\2) && Accord de nombre erroné : « \2 » devrait être au pluriel. __gn_certaines_des_1m__ certaines des *WORD <<- /gn/ morph(\3, ":[NA].*:m", ":[efGW]") -1>> certains && Accord de genre erroné : « \3 » est masculin. <<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemPlur(\3, True) && Accord de genre erroné : « \1 » est un déterminant féminin. |
︙ | ︙ | |||
20039 20040 20041 20042 20043 20044 20045 | TEST: celles {{perdue}} aura une pénalité TEST: celles venues chanter doivent se rendre là-bas. ## Nombres __gn_nombre_lettres_1m__ $:B:e:p *WORD | | | | < | | 20041 20042 20043 20044 20045 20046 20047 20048 20049 20050 20051 20052 20053 20054 20055 20056 20057 20058 20059 20060 20061 20062 20063 20064 | TEST: celles {{perdue}} aura une pénalité TEST: celles venues chanter doivent se rendre là-bas. ## Nombres __gn_nombre_lettres_1m__ $:B:e:p *WORD <<- /gn/ not value(\1, "|neuf|mille|") and morph(\2, ":[NA].*:s", "*") and not value(\2, "|maximum|minimum|multiplié|divisé|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|") and not re.search("^[IVXLDM]+$", \1) -2>> =suggPlur(\2) && Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. neuf *WORD <<- /gn/ morph(\2, ":[NA].*:s", "*") and not morph(<1, ":N.*:m:[is]") and not value(\2, "|maximum|minimum|multiplié|divisé|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|") -2>> =suggPlur(\2) && Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. mille *WORD <<- /gn/ not value(\2, "|maximum|minimum|multiplié|divisé|") and morph(\2, ":[NA].*:s", "*") and not value(<1, "|le|un|ce|du|") -2>> =suggPlur(\2) && Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. TEST: ce sont trois {{idiot}} pas foutus de trouver leur chemin avec un GPS. ->> idiots TEST: Il a abandonné neuf {{enfant}}. ->> enfants TEST: On peut trouver mille {{travailleur}} d’un claquement de doigts. ->> travailleurs TEST: Il y a quatre cents {{mot}} dans la phrase. ->> mots TEST: cent {{mot}} ->> mots |
︙ | ︙ | |||
20075 20076 20077 20078 20079 20080 20081 | __gn_nombre_chiffres_1m__ [0|1|01] @:[NAQ].*:p¬* <<- /gn/ space_after(\1, 1, 1) and not value(\2, "|Rois|Corinthiens|Thessaloniciens|") -2>> =suggSing(\2) && Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier. *NUM *WORD <<- /gn/ space_after(\1, 1, 1) and not value(<1, "|/|") and not re.search("^0*[01](?:,[0-9]+|)$", \1) and not morph(<1, ":N") | | < | 20076 20077 20078 20079 20080 20081 20082 20083 20084 20085 20086 20087 20088 20089 20090 | __gn_nombre_chiffres_1m__ [0|1|01] @:[NAQ].*:p¬* <<- /gn/ space_after(\1, 1, 1) and not value(\2, "|Rois|Corinthiens|Thessaloniciens|") -2>> =suggSing(\2) && Accord de nombre erroné avec « \1 » : « \2 » devrait être au singulier. *NUM *WORD <<- /gn/ space_after(\1, 1, 1) and not value(<1, "|/|") and not re.search("^0*[01](?:,[0-9]+|)$", \1) and not morph(<1, ":N") and morph(\2, ":[NA].*:s", "*") and not value(\2, "|maximum|minimum|multiplié|divisé|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|") -2>> =suggPlur(\2) && Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. *NUM *WORD *WORD <<- /gn/ not value(\2, "|maximum|minimum|fois|multiplié|divisé|janvier|février|mars|avril|mai|juin|juillet|août|aout|septembre|octobre|novembre|décembre|rue|route|ruelle|place|boulevard|avenue|allée|chemin|sentier|square|impasse|cour|quai|chaussée|côte|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor|") and not re.search("^0*[01](?:,[0-9]+|)$", \1) and not value(<1, "|et|ou|de|d’|") and not morph(\3, ">(?:seule|maximum|minimum)/") >>> <<- /gn/ ((morph(\2, ":[NA].*:m", ":(?:B|e|G|V0|f)") and morph(\3, ":[NA].*:f", "*")) or (morph(\2, ":[NA].*:f", ":(?:B|e|G|V0|m)") and morph(\3, ":[NA].*:m", "*"))) and not apposition(\2, \3) |
︙ | ︙ | |||
20705 20706 20707 20708 20709 20710 20711 | #### Groupes, regroupements, collections, etc. ## Pluriel des groupes __sgpl_nombre_de_1m__ nombre [de|d’] *WORD | | < | | 20705 20706 20707 20708 20709 20710 20711 20712 20713 20714 20715 20716 20717 20718 20719 20720 20721 20722 20723 20724 20725 20726 20727 20728 | #### Groupes, regroupements, collections, etc. ## Pluriel des groupes __sgpl_nombre_de_1m__ nombre [de|d’] *WORD <<- /sgpl/ morph(\3, ":[NA].*:s", ":[ip]|>o(?:nde|xydation|r)/") and morph(<1, ":(?:G|[123][sp])|<start>|>,", ":[AD]") -3>> =suggPlur(\3) && Ici, « nombre de » devrait probablement être suivi d’un pluriel. TEST: Je connais nombre d’{{emmerdeur}} et aucun n’est pire que lui. __sgpl_det_groupe_de_1m__ [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] || [>dizaine|>douzaine||>vingtaine|>trentaine|>quarantaine|>cinquantaine|>soixantaine|>centaine|>millier|>million|>milliard|>multitude|>horde] [de|d’] *WORD <<- /sgpl/ morph(\4, ":[NA].*:s", ":[ip]|>fraude/") -4>> =suggPlur(\4) && Avec \1 « \2 \3… », mettre au pluriel “\4” s’il y en a bien plusieurs. [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] >groupe [d’|de] [écoutes|paroles] <<- /sgpl/ -4>> =suggSing(\4) && Mettez au singulier. TEST: des centaines de {{bête}} à cornes passèrent devant nous. ->> bêtes TEST: une multitude d’{{homme}} ->> hommes |
︙ | ︙ |