Overview
Comment: | [fr] oops, option conjugaison réactivée pour Writer +détails mineurs |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr | v0.5.17.2 |
Files: | files | file ages | folders |
SHA3-256: |
7e75e7a4d45f242c1704db8bfd272446 |
User & Date: | olr on 2017-07-04 15:50:07 |
Other Links: | manifest | tags |
Context
2017-07-05
| ||
11:22 | [core] sort suggestions with distance of Damerau-Levenshtein + variables renaming check-in: 44cb3f4d52 user: olr tags: trunk, core | |
2017-07-04
| ||
15:50 | [fr] oops, option conjugaison réactivée pour Writer +détails mineurs check-in: 7e75e7a4d4 user: olr tags: trunk, fr, v0.5.17.2 | |
2017-07-03
| ||
09:30 | [core] ibdawg: suggest() seeks for tails check-in: e07a5e6edb user: olr tags: trunk, core | |
Changes
Modified gc_core/py/char_player.py from [5cd093adaf] to [9837f292f2].
︙ | |||
26 27 28 29 30 31 32 | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | - - + + - + - - - + - - - - - + + + + + - - - + - - - + - - - + | # Similar chars d1to1 = { "1": "li", "2": "z", "3": "e", "4": "aà", |
︙ |
Modified gc_core/py/ibdawg.py from [540dfd31d3] to [af23fd019b].
︙ | |||
187 188 189 190 191 192 193 | 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 | - - + | def suggest (self, sWord): "returns a set of similar words" # first, we check for similar words #return self._suggestWithCrushedUselessChars(cp.clearWord(sWord)) aSugg = self._suggest(sWord) if not aSugg: aSugg.update(self._suggest(sWord[1:])) |
︙ | |||
226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | + - + | if len(sWord) == 2: for sRepl in cp.dFinal2.get(sWord, ()): #show(nDeep, sRepl) aSugg.update(self._suggest(sRepl, nDeep+1, iAddr, sNewWord, True)) elif len(sWord) == 1: #show(nDeep, ":end of word:") # end of word aSugg.update(self._suggest("", nDeep+1, iAddr, sNewWord, True)) for sRepl in cp.dFinal1.get(sWord, ()): #show(nDeep, sRepl) aSugg.update(self._suggest(sRepl, nDeep+1, iAddr, sNewWord, True)) return aSugg def _getSimilarArcs (self, cChar, iAddr): "generator: yield similar char of <cChar> and address of the following node" for c in cp.d1to1.get(cChar, [cChar]): if c in self.dChar: jAddr = self._lookupArcNode(self.dChar[c], iAddr) if jAddr: yield (c, jAddr) def _getTails (self, iAddr, sTail="", n=2): "return a list of suffixes ending at a distance of <n> from <iAddr>" aTails = set() for nVal, jAddr in self._getArcs(iAddr): if nVal < self.nChar: if int.from_bytes(self.byDic[jAddr:jAddr+self.nBytesArc], byteorder='big') & self._finalNodeMask: aTails.add(sTail + self.dCharVal[nVal]) |
︙ | |||
268 269 270 271 272 273 274 | 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | - + - - - - | return aSugg def _getSimilarArcsAndCrushedChars (self, cChar, iAddr): "generator: yield similar char of <cChar> and address of the following node" for nVal, jAddr in self._getArcs(iAddr): if self.dCharVal.get(nVal, None) in cp.aUselessChar: yield (self.dCharVal[nVal], jAddr) |
︙ |
Modified gc_lang/fr/config.ini from [845843da5f] to [94e5221453].
1 2 3 4 5 6 7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | - + | [args] lang = fr lang_name = French locales = fr_FR fr_BE fr_CA fr_CH fr_LU fr_MC fr_BF fr_CI fr_SN fr_ML fr_NE fr_TG fr_BJ country_default = FR name = Grammalecte implname = grammalecte |
︙ |
Modified gc_lang/fr/rules.grx from [217ba43a7e] to [352d3d40fc].
︙ | |||
75 76 77 78 79 80 81 | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | - + | OPT/mapos: False False False False False False OPT/chim: False False False False False False OPT/ocr: False False False False False False OPT/conf: True True True True True True OPT/sgpl: True True True True True True OPT/gn: True True True True True True OPT/infi: True True True True True True |
︙ | |||
561 562 563 564 565 566 567 | 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 | - + + + + + + + + + + - + | TEST: rendez-vous avec des {{écrivain(e)s}} ->> écrivains et écrivaines|écrivaines et écrivains|écrivain·e·s TEST: la graphie “{{militant(e)s}}”. TEST: ces militant·e·s {{acharné}}. __[i](typo_écriture_épicène_singulier)__ ({w_2}[éuitsrn])(?:[-·–—./]e|[(]e[)]) @@0 |
︙ | |||
10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 | 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 | + + | TEST: les marchandes {{paie}} TEST: les marchandes {{marchande}} TEST: les chattes {{finis}} TEST: les chattes {{manges}} TEST: les chattes {{danse}} TEST: certains hommes {{marchandes}} sans cesse TEST: certaines femmes {{danse}} beaucoup TEST: Sauf que l’un comme l’autre avaient dû y renoncer. TEST: L’un comme l’autre devaient y renoncer. __[i]/conj(conj_des_nom1)__ ^ *des +({w_2}) +({w_2}) @@w,$ <<- morph(\1, ":[NAQ].*:[pi]", False) and morphex(\2, ":V", ":(?:[13]p|P|G|Q|A.*:[pi])") and morph(word(1), ":(?:R|D.*:p)|>au ", False, True) >>> <<- not morph(\2, ":[NA]", False) -2>> =suggVerb(@, ":3p") # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel. <<- __else__ and not checkAgreement(\1, \2) -2>> =suggVerb(@, ":3p", suggPlur) # Conjugaison erronée. Accord avec « des \1… ». Le verbe devrait être à la 3ᵉ personne du pluriel. |
︙ |
Modified gc_lang/fr/xpi/package.json from [5f7db10ae7] to [f43a7abb52].
1 2 3 4 | 1 2 3 4 5 6 7 8 9 10 11 12 | - + | { "name": "grammalecte-fr", "title": "Grammalecte [fr]", "id": "French-GC@grammalecte.net", |
︙ |