Grammalecte  Check-in [18924f57b4]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Sync to trunk
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | nodejs
Files: files | file ages | folders
SHA3-256:18924f57b4994604991398d7d6ca68340f832cdcd926fad6e0ee120ed21e511d
User & Date: IllusionPerdu 2018-10-21 14:37:01
Context
2018-10-21
14:58
[js] Add getIgnoreRules check-in: fc3446bfc2 user: IllusionPerdu tags: nodejs
14:37
Sync to trunk check-in: 18924f57b4 user: IllusionPerdu tags: nodejs
2018-10-20
12:52
[fr] amélioration: quel +être +det check-in: 453f4dcb62 user: olr tags: fr, trunk
2018-10-17
16:07
[njs] fix labels and few mistakes check-in: 23d95509f4 user: olr tags: njs, nodejs
Changes

Changes to gc_lang/fr/rules.grx.

  6316   6316           # Confusion probable. Écrivez “or” pour dire “néanmoins”. La préposition “hors” sert à dire “en dehors de” ou “excepté”.|https://fr.wiktionary.org/wiki/hors
  6317   6317   
  6318   6318   TEST: {{hors}}, nous y coryons malgré tout ce qu’on peut en dire.
  6319   6319   TEST: {{Hors}} il y a tant à faire depuis que nous sommes arrivés en ces lieux.
  6320   6320   TEST: Hors nous, personne ne sait ce qui s’est passé là-bas.
  6321   6321   TEST: Le peuple se sent hors jeu.
  6322   6322   
         6323  +
         6324  +# l’issue
         6325  +__conf_l_issue__
         6326  +    l’ issu
         6327  +        <<- /conf/ -2>> issue                                                   # Confusion. Le nom “issue” est féminin.
         6328  +
         6329  +TEST: à l’{{issu}} de la partie.
         6330  +
         6331  +
  6323   6332   
  6324   6333   # jeune / jeûne
  6325   6334   __conf_jeune__
  6326   6335       très  >jeûne
  6327   6336           <<- /conf/ -2>> =\1.replace("û", "u")                                                       # Confusion. Le jeûne est une privation de nourriture.|https://fr.wiktionary.org/wiki/jeune
  6328   6337   
  6329   6338   TEST: Très {{jeûne}}, elle a su qu’elle ne voulait pas d’une vie ordinaire.
................................................................................
  7350   7359   
  7351   7360   # voir / voire
  7352   7361   __conf_voir_voire__
  7353   7362       voir [grand|petit|rouge]
  7354   7363           <<- %2>>
  7355   7364   
  7356   7365       voir  @:A¬:[NGM]
  7357         -        <<- /conf/ not \2.istitle() and not morph(<1, ":O[os]|>(?:[ndmts]e|falloir|pouvoir|savoir|de)/")
         7366  +        <<- /conf/ not \2.istitle() and not morph(<1, ":O[os]|>(?:[ndmts]e|falloir|pouvoir|savoir|de|à)/")
  7358   7367               and not before("(?i)\\b[ndmts](?:e |’(?:en |y ))(?:pas |jamais |) *$")
  7359   7368           -1>> voir                       # Confusion probable : “voir” est un verbe concernant la perception visuelle. Pour signifier “et même possiblement”, écrivez :|https://fr.wiktionary.org/wiki/voire
  7360   7369   
  7361   7370       [comme|lorque|puisque|quand|que|quoique|si]     (voire)
  7362   7371       [ni|et|par|pour|sans]                           (voire)
  7363   7372       [>aller|>falloir|>pouvoir|>vouloir]  ?[guère|jamais|pas|plus|point|rien]¿  (voire)
  7364   7373           <<- /conf/ -1>> voir            # Confusion probable : “voire” signifie “et même possiblement”. Pour le verbe, écrivez “voir”.|https://fr.wiktionary.org/wiki/voire
................................................................................
  7378   7387   TEST: de fortes chances de se voir ruiné
  7379   7388   TEST: Quelle chance tu as eue de voir ruiné ce connard.
  7380   7389   TEST: l’immobilier a été ces dernières années l’investissement le plus rentable (voir graphique ci-dessous)
  7381   7390   TEST: elles sont pas mal ainsi, voire élégantes pourrait-on dire.
  7382   7391   TEST: il y en a peu, voire très peu.
  7383   7392   TEST: car elles pénètrent dans les poumons voire le système sanguin.
  7384   7393   TEST: des enfants malades, qui préfèrent souvent voir Dark Vador que des vieux clowns un peu flippants.
         7394  +TEST: les membres de l’équipage commencent à voir flou
  7385   7395   
  7386   7396   
  7387   7397   # vieil / vieux
  7388   7398   __conf_vieil_vieux_euphonie__
  7389   7399       vieux  homme
  7390   7400           <<- /conf/ -1>> vieil                                   # Euphonie. Utilisez “vieil” pour un nom masculin singulier commençant par une voyelle ou un h.|https://fr.wikipedia.org/wiki/Euphonie
  7391   7401   
................................................................................
 11140  11150   
 11141  11151   __gn_quels_quelles_accord_être__
 11142  11152       [quels|quelles]  [est|étais|était|sera|serais|serait|fut|fût|fus]
 11143  11153           <<- /gn/ not value(<1, "|tels|telles|")
 11144  11154           -1>> =\1[:-1]                                                                       # Accord de nombre erroné avec “\2”.
 11145  11155   
 11146  11156   __gn_quel_accord_être_sujet__
 11147         -    quel  [est|était|seras|sera|serais|serait|fut|fût|fus]  [la|cette|mon|ton|son|ma|ta|sa|notre|votre|leur]  *WORD
        11157  +    quel  [est|était|seras|sera|serais|serait|fut|fût|fus]  [la|cette|ma|ta|sa]  *WORD
        11158  +        <<- /gn/ not value(<1, "|tel|telle|") and morph(\4, ":[NA].*:[fe]", ":m")
        11159  +        -1>> quelle                                                                         # Accord de genre erroné avec « \3 \4 ».
        11160  +
        11161  +    quel  [est|était|seras|sera|serais|serait|fut|fût|fus]  [mon|ton|son|notre|votre|leur]  *WORD
 11148  11162           <<- /gn/ not value(<1, "|tel|telle|") and morph(\4, ":[NA].*:f", ":[me]")
 11149  11163           -1>> quelle                                                                         # Accord de genre erroné avec « \3 \4 ».
 11150  11164   
 11151  11165   __gn_quelle_accord_être_sujet__
 11152         -    quelle  [est|était|seras|sera|serais|serait|fut|fût|fus]  [le|ce|cet|mon|ton|son|notre|votre|leur]  *WORD
        11166  +    quelle  [est|était|seras|sera|serais|serait|fut|fût|fus]  [le|ce|cet]  *WORD
        11167  +        <<- /gn/ not value(<1, "|tel|telle|") and morph(\4, ":[NA].*:[me]", ":f")
        11168  +        -1>> quel                                                                           # Accord de genre erroné avec « \3 \4 ».
        11169  +
        11170  +    quelle  [est|était|seras|sera|serais|serait|fut|fût|fus]  [mon|ton|son|notre|votre|leur]  *WORD
 11153  11171           <<- /gn/ not value(<1, "|tel|telle|") and morph(\4, ":[NA].*:m", ":[fe]")
 11154  11172           -1>> quel                                                                           # Accord de genre erroné avec « \3 \4 ».
 11155  11173   
 11156  11174   __gn_quels_accord_être_sujet__
 11157  11175       quels  [sont|étaient|seront|serons|seraient|furent|fussent]  [les|ces|mes|tes|ses|nos|vos|leurs]  *WORD
 11158  11176           <<- /gn/ not value(<1, "|tels|telles|") and morph(\4, ":[NA].*:f", ":[me]")
 11159  11177           -1>> quelles                                                                        # Accord de genre erroné avec « \3 \4 ».
................................................................................
 11165  11183   
 11166  11184   TEST: {{Quel}} sont ces hommes.                               ->> Quels
 11167  11185   TEST: {{Quel}} est cette force ?                              ->> Quelle
 11168  11186   TEST: {{Quelle}} est mon animal favori ?                      ->> Quel
 11169  11187   TEST: {{Quels}} sont ces femmes ?                             ->> Quelles
 11170  11188   TEST: {{Quelles}} est cette imbécillité ?                     ->> Quelle
 11171  11189   TEST: {{Quelles}} sont ces hommes ?                           ->> Quels
        11190  +TEST: {{Quel}} est la politique ?                             ->> Quelle
        11191  +TEST: {{Quelle}} est le politique ?                           ->> Quel
 11172  11192   TEST: Il s’agit de définir quelle est notre propre orientation.
 11173  11193   
 11174  11194   
 11175  11195   
 11176  11196   #### Quel(le) que soit …
 11177  11197   
 11178  11198   ## masculin requis
................................................................................
 12102  12122       [>air|>aire] du [cénozoïque|digital|numérique|paléozoïque|pliocène|pétrole|primaire|secondaire|tertiaire|quaternaire]
 12103  12123       [>air|>aire] du big data
 12104  12124           <<- /conf/ -1>> ère         # Confusion. L’aire est une surface. L’air est un gaz, une apparence ou une musique. Pour évoquen une époque, écrivez “ère”.
 12105  12125   
 12106  12126       l’ [aire|ère] du temps
 12107  12127           <<- /conf/ -2>> air         # Confusion probable. Locution “l’air du temps”.|https://fr.wiktionary.org/wiki/%C3%AAtre_dans_l%E2%80%99air_du_temps
 12108  12128   
        12129  +    >avoir l’ [aire|ère] [de|d’]
        12130  +        <<- /conf/ -3>> air         # Confusion probable. La locution “avoir l’air de” signifie “sembler”, “paraître”…|https://fr.wiktionary.org/wiki/avoir_l%E2%80%99air
        12131  +
 12109  12132   TEST: L’{{aire}} du pétrole n’est pas encore terminée.
 12110  12133   TEST: Ce sera un jour dans l’{{ère}} du temps
        12134  +TEST: il a l’{{aire}} d’un plouc.
 12111  12135   
 12112  12136   
 12113  12137   # auspice / hospice
 12114  12138   __conf_auspices_hospices__
 12115  12139       sous [les|de|des|ces] ?*WORD¿ (hospices)
 12116  12140           <<- /conf/ -1>> auspices        # Confusion probable. L’hospice est un centre de soins.|https://fr.wiktionary.org/wiki/auspice
 12117  12141   
................................................................................
 17053  17077   TEST: Le moral des ménages au plus haut depuis 2007
 17054  17078   TEST: Ce qu’ils nous ont fait
 17055  17079   TEST: Comment vous expliquez ça ?
 17056  17080   TEST: Comment vous expliquer ça ?
 17057  17081   TEST: le général n’en aura cure
 17058  17082   TEST: n’en avoir cure et faire comme si de rien n’était.
 17059  17083   TEST: Comme d’habitude, ils ont tout fait à l’arrache.
        17084  +TEST: tout un système pour justifier que “nous” avons toujours raison et que nous ne pouvons jamais avoir tort.
 17060  17085   
 17061  17086   
 17062  17087   !!! Tests historiques                                                                             !!
 17063  17088   
 17064  17089   ## Version 0.5.14
 17065  17090   TEST: par le léger tissu de rayonne qui les protégeait en ce moment.
 17066  17091   

Changes to gc_lang/fr/webext/manifest.json.

   112    112           "default": "Ctrl+Shift+8"
   113    113         },
   114    114         "description": "Ouvre l’éditeur lexical"
   115    115       }
   116    116     },
   117    117   
   118    118     "web_accessible_resources": [
   119         -    "grammalecte/_dictionaries/French.json",
          119  +    "grammalecte/graphspell/_dictionaries/fr-allvars.json",
          120  +    "grammalecte/graphspell/_dictionaries/fr-classic.json",
          121  +    "grammalecte/graphspell/_dictionaries/fr-reform.json",
   120    122       "grammalecte/fr/conj_data.json",
   121    123       "grammalecte/fr/mfsp_data.json",
   122    124       "grammalecte/fr/phonet_data.json",
   123    125       "grammalecte/fr/tests_data.json",
   124    126       "img/logo-16.png"
   125    127     ],
   126    128   

Changes to graphspell-js/ibdawg.js.

   144    144           }
   145    145           if (!(this.nCompressionMethod == 1 || this.nCompressionMethod == 2 || this.nCompressionMethod == 3)) {
   146    146               throw RangeError("# Error. Unknown dictionary compression method: " + this.nCompressionMethod);
   147    147           }
   148    148           // <dChar> to get the value of an arc, <dCharVal> to get the char of an arc with its value
   149    149           this.dChar = helpers.objectToMap(this.dChar);
   150    150           this.dCharVal = this.dChar.gl_reverse();
   151         -        this.a2grams = new Set(this.l2grams);
          151  +        this.a2grams = (this.l2grams) ? new Set(this.l2grams) : null;
   152    152   
   153    153           if (this.cStemming == "S") {
   154    154               this.funcStemming = str_transform.changeWordWithSuffixCode;
   155    155           } else if (this.cStemming == "A") {
   156    156               this.funcStemming = str_transform.changeWordWithAffixCode;
   157    157           } else {
   158    158               this.funcStemming = str_transform.noStemming;
................................................................................
   410    410               }
   411    411           }
   412    412       }
   413    413   
   414    414       isNgramsOK (sChars) {
   415    415           if (sChars.length != 2) {
   416    416               return true;
          417  +        }
          418  +        if (!this.a2grams) {
          419  +            return true;
   417    420           }
   418    421           return this.a2grams.has(sChars);
   419    422       }
   420    423   
   421    424       * _getCharArcs (iAddr) {
   422    425           // generator: yield all chars and addresses from node at address <iAddr>
   423    426           for (let [nVal, jAddr] of this._getArcs(iAddr)) {

Changes to graphspell/ibdawg.py.

   186    186           self.nBytesOffset = 1 # version 3
   187    187   
   188    188       def _initJSON (self, oJSON):
   189    189           "initialize with a JSON text file"
   190    190           self.__dict__.update(oJSON)
   191    191           self.byDic = binascii.unhexlify(self.sByDic)
   192    192           self.dCharVal = { v: k  for k, v in self.dChar.items() }
   193         -        self.a2grams = set(self.l2grams)
          193  +        self.a2grams = set(self.l2grams)  if hasattr(self, 'l2grams')  else None
   194    194   
   195    195       def getInfo (self):
   196    196           "return string about the IBDAWG"
   197    197           return  "  Language: {0.sLangName}   Lang code: {0.sLangCode}   Dictionary name: {0.sDicName}" \
   198    198                   "  Compression method: {0.nCompressionMethod:>2}   Date: {0.sDate}   Stemming: {0.cStemming}FX\n" \
   199    199                   "  Arcs values:  {0.nArcVal:>10,} = {0.nChar:>5,} characters,  {0.nAff:>6,} affixes,  {0.nTag:>6,} tags\n" \
   200    200                   "  Dictionary: {0.nEntry:>12,} entries,    {0.nNode:>11,} nodes,   {0.nArc:>11,} arcs\n" \
................................................................................
   354    354               elif len(sRemain) == 1:
   355    355                   self._suggest(oSuggResult, "", nMaxSwitch, nMaxDel, nMaxHardRepl, nMaxJump, nDist, nDeep+1, iAddr, sNewWord, True) # remove last char and go on
   356    356                   for sRepl in cp.dFinal1.get(sRemain, ()):
   357    357                       self._suggest(oSuggResult, sRepl, nMaxSwitch, nMaxDel, nMaxHardRepl, nMaxJump, nDist, nDeep+1, iAddr, sNewWord, True)
   358    358   
   359    359       def isNgramsOK (self, sChars):
   360    360           if len(sChars) != 2:
          361  +            return True
          362  +        if not self.a2grams:
   361    363               return True
   362    364           return sChars in self.a2grams
   363    365   
   364    366       #@timethis
   365    367       def suggest2 (self, sWord, nSuggLimit=10):
   366    368           "returns a set of suggestions for <sWord>"
   367    369           sWord = cp.spellingNormalization(sWord)