Overview
| Comment: | [fr] ajustements |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk | fr |
| Files: | files | file ages | folders |
| SHA3-256: |
9c4e4db18bdd15c25f9b82c4736c5162 |
| User & Date: | olr on 2020-10-17 23:21:31 |
| Other Links: | manifest | tags |
Context
|
2020-10-17
| ||
| 23:22 | [fx] lexicographer: messages check-in: a709782a5c user: olr tags: trunk, fx | |
| 23:21 | [fr] ajustements check-in: 9c4e4db18b user: olr tags: trunk, fr | |
|
2020-10-16
| ||
| 12:30 | [fr] ajustements check-in: bc4d63d6b7 user: olr tags: trunk, fr | |
Changes
Modified gc_lang/fr/rules.grx from [e1048f56da] to [37c4ffe12e].
| ︙ | ︙ | |||
1058 1059 1060 1061 1062 1063 1064 |
<<- ->> =\0.replace(",", ".").replace("...", "…") && Erreur de numérisation ? Virgules au lieu de points ?
TEST: Ah !{{,.,}} et en quoi consistait le festin ?
__<s>/typo(typo_ponctuation_superflue1)__ , ?([.,;:!?]) @@$ <<- ->> =",|" + \1 && Une de ces ponctuations est superflue.
__<s>/typo(typo_ponctuation_superflue2)__ ; ?([.,;:…!?]) @@$ <<- ->> =";|" + \1 && Une de ces ponctuations est superflue.
| | > | | | > | 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 |
<<- ->> =\0.replace(",", ".").replace("...", "…") && Erreur de numérisation ? Virgules au lieu de points ?
TEST: Ah !{{,.,}} et en quoi consistait le festin ?
__<s>/typo(typo_ponctuation_superflue1)__ , ?([.,;:!?]) @@$ <<- ->> =",|" + \1 && Une de ces ponctuations est superflue.
__<s>/typo(typo_ponctuation_superflue2)__ ; ?([.,;:…!?]) @@$ <<- ->> =";|" + \1 && Une de ces ponctuations est superflue.
__<s>/typo(typo_ponctuation_superflue3)__ :[.,;:…!?] <<- ->> =":|" + \0[1:2] && Une de ces ponctuations est superflue.
__<s>/typo(typo_ponctuation_superflue4)__ [?!][.](?![.]) <<- ->> =\0[0:1] && Ne mettez pas un point après un point d’interrogation ou d’exclamation.
TEST: Mouais{{, .}} ->> ,|.
TEST: Vraiment, bof {{;;}} on ne sait guère qu’en penser. ->> ;|;
TEST: Raisons {{:.}} trop, c’est trop. ->> :|.
TEST: C’est ça {{?.}} tu crois ? ->> ?
!!
!!
!!!! Espaces insécables !!
!!
|
| ︙ | ︙ | |||
1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 |
([:;!?]) (?=[\w«“"]) @@0 <<- ->> "\1 " && Pas d’espace insécable après le signe “\1”.
TEST: {{«}}Il manque deux espaces insécables. » ->> "« "
TEST: « Il manque deux espaces insécables{{.»}} ->> ". »"
TEST: « Il manque deux espaces insécables{{ »}} ->> " »"
TEST: Et encore{{!}}? ->> " !"
TEST: Quoi{{?}} ->> " ?"
TEST: Voici{{:}} les deux points. ->> " :"
TEST: Voyelles:{{a}}. ->> " a"
TEST: Succession : a{{;}} b. ->> " ;"
TEST: C’est assez {{: }}parlez ! ->> ": "
TEST: {{» }}C’est ce qu’on croit savoir. ->> "» |« "
| > | 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 |
([:;!?]) (?=[\w«“"]) @@0 <<- ->> "\1 " && Pas d’espace insécable après le signe “\1”.
TEST: {{«}}Il manque deux espaces insécables. » ->> "« "
TEST: « Il manque deux espaces insécables{{.»}} ->> ". »"
TEST: « Il manque deux espaces insécables{{ »}} ->> " »"
TEST: Et encore{{!}}? ->> " !"
TEST: Quoi{{?}} ->> " ?"
TEST: Qui{{ ?}} ->> " ?"
TEST: Voici{{:}} les deux points. ->> " :"
TEST: Voyelles:{{a}}. ->> " a"
TEST: Succession : a{{;}} b. ->> " ;"
TEST: C’est assez {{: }}parlez ! ->> ": "
TEST: {{» }}C’est ce qu’on croit savoir. ->> "» |« "
|
| ︙ | ︙ | |||
16828 16829 16830 16831 16832 16833 16834 16835 16836 16837 16838 16839 16840 16841 |
>seuil [de|d’] tolérance
>seuil [de|d’] tolérance à la douleur
>signal d’ alarme
>silo à [>grains|blé]
>site [de|d’] lancement
>soldat d’ élite
>solution [de|d’] [rechange|repli]
>sonnette d’ alarme
>sortie [de|d’] secours
>soue à >cochon
>sourate [*NUM|$:B] ?,¿ verset [*NUM|$:B]
>souvenir d’ enfance
>sujet [de|d’] [prédilection|préoccupation]
>suspension [de|d’] séance
| > | 16831 16832 16833 16834 16835 16836 16837 16838 16839 16840 16841 16842 16843 16844 16845 |
>seuil [de|d’] tolérance
>seuil [de|d’] tolérance à la douleur
>signal d’ alarme
>silo à [>grains|blé]
>site [de|d’] lancement
>soldat d’ élite
>solution [de|d’] [rechange|repli]
>sommier à lattes
>sonnette d’ alarme
>sortie [de|d’] secours
>soue à >cochon
>sourate [*NUM|$:B] ?,¿ verset [*NUM|$:B]
>souvenir d’ enfance
>sujet [de|d’] [prédilection|préoccupation]
>suspension [de|d’] séance
|
| ︙ | ︙ | |||
21156 21157 21158 21159 21160 21161 21162 21163 21164 21165 21166 21167 21168 21169 |
TEST: L’{{amande}} {{amer}}
TEST: l’{{amicale}} {{animal}}
TEST: l’amour {{immortels}}
TEST: du chien et de l’{{excellente}} {{collier}} qu’il avait autour du cou.
TEST: du chien et de l’étonnant {{colliers}} qu’il avait autour du cou.
TEST: elle prendra l’{{avions}} dès que possible
__gn_le_1m__
, le *WORD
<<- /gn/ morph(\3, ":[NA].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)") -2>> =suggLesLa(\3) && Accord de genre erroné : « \3 » est féminin.
<<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True) && Accord de genre erroné : « \2 » est un déterminant masculin.
<<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggMasSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier.
<<- /gn/ __also__ -2>> les && Accord de nombre erroné : « \3 » est au pluriel.
| > > > > > > > > > > > > > > > | 21160 21161 21162 21163 21164 21165 21166 21167 21168 21169 21170 21171 21172 21173 21174 21175 21176 21177 21178 21179 21180 21181 21182 21183 21184 21185 21186 21187 21188 |
TEST: L’{{amande}} {{amer}}
TEST: l’{{amicale}} {{animal}}
TEST: l’amour {{immortels}}
TEST: du chien et de l’{{excellente}} {{collier}} qu’il avait autour du cou.
TEST: du chien et de l’étonnant {{colliers}} qu’il avait autour du cou.
TEST: elle prendra l’{{avions}} dès que possible
__gn_l_3m__
l’ *WORD *WORD *WORD
<<- /gn/ morph(\1, ":D") and morph(<1, "<start>|:V", "*") and \4.islower() >>>
<<- /gn/ morph(\2, ":[NA].*:m:[si]", "*") and morph(\3, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:f", "*")
-4>> =suggMasSing(\4) && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au masculin singulier.
<<- /gn/ __else__ and morph(\2, ":[NA].*:f:[si]", "*") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:m", "*")
-4>> =suggFemSing(\4) && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au féminin singulier.
<<- /gn/ __else__ and morph(\2, ":[NA].*:[si]", "*") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:p", "*")
-4>> =suggSing(\4) && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier.
TEST: l’horreur obscure {{répandu}} dans les ténèbres ->> répandue
TEST: l’honneur français {{bafouée}} ->> bafoué
TEST: l’ignoble ignorance si {{répandues}} ->> répandue
__gn_le_1m__
, le *WORD
<<- /gn/ morph(\3, ":[NA].*:f", ":(?:e|m|P|G|W|[123][sp]|Y)") -2>> =suggLesLa(\3) && Accord de genre erroné : « \3 » est féminin.
<<- /gn/ __also__ and hasMasForm(\3) -3>> =suggMasSing(\3, True) && Accord de genre erroné : « \2 » est un déterminant masculin.
<<- /gn/ __else__ and morph(\3, ":[NA].*:p", ":[siGW]") -3>> =suggMasSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier.
<<- /gn/ __also__ -2>> les && Accord de nombre erroné : « \3 » est au pluriel.
|
| ︙ | ︙ | |||
21218 21219 21220 21221 21222 21223 21224 21225 21226 21227 21228 21229 21230 21231 |
TEST: c’était le chien {{perdue}} des voisins.
TEST: viens vite ou le pari {{imperdables}} sera moins facile…
TEST: connaître et le grand {{perdante}}
TEST: Le bruit {{perçus}} par les voisins.
TEST: si le premier film est un triomphe, le deuxième est un demi-succès, et le troisième une déception.
TEST: Cela aboutira sur une contractualisation coûteuse pour organiser cette divergence d’intérêts, et le gestionnaire aura le dernier mot.
__gn_la_1m__
, la *WORD
<<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|P|G|W|M|[1-3][sp]|Y)") -2>> le && Accord de genre erroné : « \3 » est masculin.
<<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemSing(\3, True) && Accord de genre erroné : « \2 » est un déterminant féminin.
<<- /gn/ __else__ and morph(\3, ":[NA].*:p") -3>> =suggFemSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier.
| > > > > > > > > > > > > > | 21237 21238 21239 21240 21241 21242 21243 21244 21245 21246 21247 21248 21249 21250 21251 21252 21253 21254 21255 21256 21257 21258 21259 21260 21261 21262 21263 |
TEST: c’était le chien {{perdue}} des voisins.
TEST: viens vite ou le pari {{imperdables}} sera moins facile…
TEST: connaître et le grand {{perdante}}
TEST: Le bruit {{perçus}} par les voisins.
TEST: si le premier film est un triomphe, le deuxième est un demi-succès, et le troisième une déception.
TEST: Cela aboutira sur une contractualisation coûteuse pour organiser cette divergence d’intérêts, et le gestionnaire aura le dernier mot.
__gn_le_3m__
le *WORD *WORD *WORD
<<- /gn/ not value(<1, "|et|ou|") and morph(\1, ":D")
and morph(\2, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G)") and morph(\3, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G|P)") and morph(\4, ":[NA].*:[fp]", "*") and \4.islower()
-4>> =suggMasSing(\4) && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au masculin singulier.
TEST: le roi chrétien {{tyranniques}} tout pétri de son prétendu droit divin ->> tyrannique
TEST: le petit chien {{bruns}} ->> brun
TEST: elles furent le jour venu prises par surprise, et elles durent s’enfuir.
TEST: qu’ils fassent tourner le système économique, assez concrètement, mais sans faire chier avec leurs petits problèmes de gens de rien.
TEST: avec le peuple, contre le capitalisme mortifère sous tous ses visages.
__gn_la_1m__
, la *WORD
<<- /gn/ morph(\3, ":[NA].*:m", ":(?:e|f|P|G|W|M|[1-3][sp]|Y)") -2>> le && Accord de genre erroné : « \3 » est masculin.
<<- /gn/ __also__ and hasFemForm(\3) -3>> =suggFemSing(\3, True) && Accord de genre erroné : « \2 » est un déterminant féminin.
<<- /gn/ __else__ and morph(\3, ":[NA].*:p") -3>> =suggFemSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier.
|
| ︙ | ︙ | |||
21283 21284 21285 21286 21287 21288 21289 21290 21291 21292 21293 21294 21295 21296 |
TEST: il imaginait de la pluie {{noir}} tombant sur une terre dévastée.
TEST: je voyais de la pluie {{noires}}
TEST: Il faut donc examiner ensemble le panneau et la paroi latérale.
TEST: Il faut donc examiner ensemble le panneau et la paroi latéraux.
TEST: Il faut donc examiner ensemble les panneaux et la paroi latéraux.
TEST: Il faut donc examiner ensemble les panneaux et la paroi latérale.
__gn_leur_1m__
, leur *WORD
<<- /gn/ morph(\3, ":[NA].*:p", "*") -2>> leurs && Accord de nombre erroné avec « \3 ».
<<- /gn/ __also__ -3>> =suggSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier.
*WORD leur *WORD
| > > > > > > > > > > > > | 21315 21316 21317 21318 21319 21320 21321 21322 21323 21324 21325 21326 21327 21328 21329 21330 21331 21332 21333 21334 21335 21336 21337 21338 21339 21340 |
TEST: il imaginait de la pluie {{noir}} tombant sur une terre dévastée.
TEST: je voyais de la pluie {{noires}}
TEST: Il faut donc examiner ensemble le panneau et la paroi latérale.
TEST: Il faut donc examiner ensemble le panneau et la paroi latéraux.
TEST: Il faut donc examiner ensemble les panneaux et la paroi latéraux.
TEST: Il faut donc examiner ensemble les panneaux et la paroi latérale.
__gn_la_3m__
la *WORD *WORD *WORD
<<- /gn/ not value(<1, "|et|ou|") and morph(\1, ":D")
and morph(\2, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G)") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P)|;C") and morph(\4, ":[NA].*:[mp]", "*") and \4.islower()
-4>> =suggFemSing(\4) && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au féminin singulier.
TEST: la seule solution {{trouvé}} consistait à déléguer ->> trouvée
TEST: La petite fille {{devenues}} infirmière. ->> devenue
TEST: sous la forme d’un baromètre comparant différents moyens pour alléger ses émissions
TEST: non seulement met en péril la logique industrielle mais contribue à détruire peu à peu le substrat sur lequel repose le marché lui-même, à savoir la société des hommes.
__gn_leur_1m__
, leur *WORD
<<- /gn/ morph(\3, ":[NA].*:p", "*") -2>> leurs && Accord de nombre erroné avec « \3 ».
<<- /gn/ __also__ -3>> =suggSing(\3) && Accord de nombre erroné : « \3 » devrait être au singulier.
*WORD leur *WORD
|
| ︙ | ︙ | |||
21336 21337 21338 21339 21340 21341 21342 |
TEST: elle se souvenait de leur {{grande}} {{sot}}
TEST: je me souviens de leur verve {{décalé}}
TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous.
TEST: {{leur}} gros {{grains}}
TEST: Que ferons-nous de {{leur}} gros {{grains}}
| | | > > > > > | < | | < < < < > | 21380 21381 21382 21383 21384 21385 21386 21387 21388 21389 21390 21391 21392 21393 21394 21395 21396 21397 21398 21399 21400 21401 21402 21403 21404 21405 21406 |
TEST: elle se souvenait de leur {{grande}} {{sot}}
TEST: je me souviens de leur verve {{décalé}}
TEST: ils arrivent et leur arrogance {{insupportables}} nous fatigue tous.
TEST: {{leur}} gros {{grains}}
TEST: Que ferons-nous de {{leur}} gros {{grains}}
__gn_leur_3m__
leur *WORD *WORD *WORD
<<- /gn/ morph(\1, ":D") and morph(<1, "<start>|:V", "*") and \4.islower() >>>
<<- /gn/ morph(\2, ":[NA].*:m:[si]", "*") and morph(\3, ":[NA].*:[me]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:f", "*")
-4>> =suggMasSing(\4) && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au masculin singulier.
<<- /gn/ __else__ and morph(\2, ":[NA].*:f:[si]", "*") and morph(\3, ":[NA].*:[fe]:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:m", "*")
-4>> =suggFemSing(\4) && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au féminin singulier.
<<- /gn/ __else__ and morph(\2, ":[NA].*:[si]", "*") and morph(\3, ":[NA].*:[si]", ":(?:[123][sp]|G|P|B)|;C") and morph(\4, ":[NA].*:p", "*")
-4>> =suggSing(\4) && Accord de nombre erroné avec « \1 \2 \3 » : « \4 » devrait être au singulier.
TEST: leur grande passion {{délirants}} pour le cosplay. ->> délirante
TEST: leur noir projet {{ignorées}} du peuple ->> ignoré
TEST: leur psychologue altruiste {{détestés}} par ses voisins ->> détesté
__gn_ledit_1m__
ledit *WORD
<<- /gn/ morph(\2, ":[NA].*:f", ":[GWme]") -1>> ladite && Accord de genre erroné : « \2 » est féminin.
<<- /gn/ __also__ and hasMasForm(\2) -2>> =suggMasSing(\2, True) && Accord de genre erroné : « \1 » est un déterminant masculin.
<<- /gn/ morph(\2, ":[NA].*:p", ":[siGW]") -2>> =suggMasSing(\2) && Accord de nombre erroné : « \2 » devrait être au singulier.
|
| ︙ | ︙ | |||
29574 29575 29576 29577 29578 29579 29580 | TEST: Être président d’une association demande beaucoup de temps. TEST: Venir vaincue ne lui épargna aucune indignité. TEST: Mais migrer un site et ses contenus prend du temps… TEST: y être sans ma femme ni les enfants fait monter en moi une certaine nervosité. __conj_le_la_leur_nom__ | | | 29619 29620 29621 29622 29623 29624 29625 29626 29627 29628 29629 29630 29631 29632 29633 |
TEST: Être président d’une association demande beaucoup de temps.
TEST: Venir vaincue ne lui épargna aucune indignité.
TEST: Mais migrer un site et ses contenus prend du temps…
TEST: y être sans ma femme ni les enfants fait monter en moi une certaine nervosité.
__conj_le_la_leur_nom__
[le|la|l’|leur] *WORD @:V¬:(?:3s|P|Q|Y|3p!|G|M)
<<- /conj/ not tag(\2, "_enum_") and morph(<1, ":C|<start>|>,", ":[YP]") and morph(\2, ":[NA].*:[si]", ":G")
and not ( (value(\2, "|dizaine|douzaine|quinzaine|vingtaine|trentaine|quarantaine|cinquantaine|soixantaine|centaine|majorité|minorité|millier|partie|poignée|tas|paquet|moitié|")
or tag_before(\1, "_ni_") or value(<1, "|et|ou|")) and morph(\3, ":3?p") ) and not checkAgreement(\2, \3)
and not ( morph(\2, "(?:[123][sp]|P)") and not value(<1, "|<start>|,|") ) >>>
<<- /conj/ not tag(\-1, "_ngn_") and morph(\3, ":A.*:p") or (morph(\3, ":N.*:p") and morph(\2, ":A"))
-3>> =suggVerb(\3, ":3s", suggSing) && Accord avec “\1 \2…” incorrect. Conjugaison erronée ou accord nom/adjectif incorrect.
<<- /conj/ __else__ -3>> =suggVerb(\3, ":3s") && Conjugaison erronée. Accord avec “\1 \2…”. Le verbe devrait être à la 3ᵉ personne du singulier.
|
| ︙ | ︙ | |||
31001 31002 31003 31004 31005 31006 31007 31008 31009 31010 31011 31012 31013 31014 | TEST: les plus grièvement atteints ne vont pas se signaler TEST: les plus grands font aussi des erreurs TEST: à pied ou à cheval TEST: tout ça pour prouver qu’il va bien TEST: c’étaient bien les Français qui avaient procédé ainsi TEST: les hommes haut placés TEST: Votre père est on ne peut plus aimable !!! Tests historiques !! ## Version 0.5.14 TEST: par le léger tissu de rayonne qui les protégeait en ce moment. | > | 31046 31047 31048 31049 31050 31051 31052 31053 31054 31055 31056 31057 31058 31059 31060 | TEST: les plus grièvement atteints ne vont pas se signaler TEST: les plus grands font aussi des erreurs TEST: à pied ou à cheval TEST: tout ça pour prouver qu’il va bien TEST: c’étaient bien les Français qui avaient procédé ainsi TEST: les hommes haut placés TEST: Votre père est on ne peut plus aimable TEST: Qu’ont fait les sénateurs ? !!! Tests historiques !! ## Version 0.5.14 TEST: par le léger tissu de rayonne qui les protégeait en ce moment. |
| ︙ | ︙ |