Grammalecte  Check-in [a973e9aad8]

Overview
Comment:merge trunk
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | multid
Files: files | file ages | folders
SHA3-256: a973e9aad8540796bf2cfd8da96bf8fed8e4e8b166650f66455d3f4c2acc8945
User & Date: olr on 2018-02-28 07:50:45
Other Links: branch diff | manifest | tags
Context
2018-02-28
10:34
[graphspell][py] ibdawg: init directly from an object (JSON) check-in: efd7bb0171 user: olr tags: graphspell, multid
07:50
merge trunk check-in: a973e9aad8 user: olr tags: multid
07:43
[fx] About panel: add origin to website hyperlink check-in: a890bfa884 user: olr tags: fx, trunk
06:03
[lo] lexicon editor ui: widen space for labels check-in: db28345207 user: olr tags: lo, multid
Changes

Modified CHANGELOG.txt from [bdd168ce5d] to [edaa15286b].

    13     13           Pass 1: paragraph by paragraph
    14     14           Pass 2: sentence by sentence
    15     15       Text preprocessor between the two passes
    16     16       Error positioning (by group selection)
    17     17   
    18     18   ##  0.3
    19     19       Multi-passes engine
    20         -    Dictionary switcher
    21         -    Text formatter
    22         -    Lexicographer
    23         -    French Conjugueur
           20  +    [fr] Dictionary switcher
           21  +    [fr] Text formatter
           22  +    [fr] Lexicographer
           23  +    [fr] French Conjugueur
    24     24   
    25     25   ##  0.4
    26         -    Suggestion mechanisms
    27     26       Simpler user options writing
    28         -    Application Launcher
    29         -    Author field edition
           27  +    [fr] Suggestion mechanisms
           28  +    [fr] Application Launcher
           29  +    [fr] Author field edition
    30     30   
    31     31   ##  0.5
    32     32       Grammalecte is an autonomous package, free from Hunspell and LibreOffice
    33     33       Indexable binary dictionary (DAWG-FSA) generator
    34     34       Disambiguator
    35     35       Multi-actions rules (bi-passes engine again)
    36     36       Simpler options for word boundaries
    37     37       Unit tests
           38  +    New engine written in JavaScript
           39  +    [fr] Extension for Firefox
           40  +    [fr] Extension for Thunderbird
           41  +
           42  +##  0.6
           43  +    [fr] Extension for Firefox converted to WebExtension
           44  +    [fr] Enumerator of words

Modified gc_lang/fr/rules.grx from [4b78e905cb] to [d209c32a20].

  4221   4221   # qu’elle / quelle
  4222   4222   __[i]/conf(conf_quelle_nom_adj)__
  4223   4223       (qu elles?) +(?!seule?s?)({w_2})  @@0,$
  4224   4224       <<- morphex(\2, ":[NAQ]", ":(?:G|[123][sp]|W)") -1>> =\1.replace(" ", "")                       # Confusion probable. Ex : Quelle femme ! Je crois qu’elle réussira.
  4225   4225   
  4226   4226   TEST: {{qu’elle}} emmerdeuse.
  4227   4227   
         4228  +
         4229  +__[i]/conf(conf_qu_elle_verbe)__
         4230  +    (quelles?) +({w_1})  @@0,$
         4231  +    <<- \2.islower() and (morphex(\2, ":V|>(?:ne?|me?|te?|se?|[nv]ous|l(?:e|a|es|ui|leur|)|en|y) ", ":[NA].*:[fe]") or \2 == "t" or \2 == "s") >>>
         4232  +    <<- \1.endswith("e") and not morph(\2, ":V0e", False) -1>> qu’elle                              # Confusion. Le sujet “elle” doit être séparée de la conjonction “que”. 1
         4233  +    <<- __else__ and \1.endswith("s") and not morph(\2, ":V0e", False) -1>> qu’elles                # Confusion. Le sujet “elles” doit être séparée de la conjonction “que”. 2
         4234  +    <<- __else__ and morph(\2, ":V0e", False) and morphex(word(1), ":[QA]", ":G", False) >>>
         4235  +    <<- \1.endswith("e") -1>> qu’elle                                                               # Confusion. Le sujet “elle” doit être séparée de la conjonction “que”. 3
         4236  +    <<- __else__ and \1.endswith("s") -1>> qu’elles                                                 # Confusion. Le sujet “elles” doit être séparée de la conjonction “que”. 4
         4237  +
         4238  +TEST: Je sais {{quelle}} est partie.
         4239  +TEST: {{Quelle}} partit prendre son repas à la cantine, je n’en avais cure.
         4240  +TEST: Il se plaint {{quelle}} ne nous dit rien.
         4241  +TEST: {{Quelles}} sont intelligentes, ces filles-là.
         4242  +TEST: {{Quelle}} a du répondant, cette gamine !
         4243  +TEST: {{Quelle}} y vienne, on verra ce qu’elle vaut.
         4244  +TEST: Je veux {{quelles}} s’efforcent à y parvenir.
         4245  +TEST: {{Quelle}} l’apprenne un jour, on n’y peut rien.
         4246  +TEST: Je crois {{quelle}} n’en sait pas assez pour nous nuire.
         4247  +TEST: {{Quelles}} t’arrivent seulement à la cheville, voilà qui serait étonnant.
         4248  +TEST: {{Quelles}} m’engueulent encore une seule fois et elles vont le regretter.
         4249  +TEST: Je crois {{quelle}} est partie.
         4250  +TEST: il pense {{quelles}} sont devenues dangereuses.
         4251  +TEST: Quelle est sa passion ?
         4252  +TEST: Quelles sont leurs principales études ?
         4253  +
  4228   4254   
  4229   4255   # savoir / ignorer
  4230   4256   __[i]/conf(être_pas_sans_savoir)__
  4231   4257       ({etre}) pas sans (ignor(?:e[rz]|ée?s?|ai[st]))  @@0,$
  4232   4258       <<- morph(\1, ":V0e", False)
  4233   4259       -2>> savoir     # Confusion : vous écrivez l’inverse de ce que vous voulez dire.|http://fr.wiktionary.org/wiki/vous_n%E2%80%99%C3%AAtes_pas_sans_savoir
  4234   4260   
................................................................................
 10360  10386   #   ->> fait \1                      # Le participe passé de faire reste au masculin singulier s’il est suivi par un verbe à l’infinitif.
 10361  10387   
 10362  10388   __[i](p_les_avoir_fait_vinfi)__
 10363  10389       les ({avoir}) +(fait) +(?:[mts](?:e +|’)|)({infi}) @@w,w,$ <<- morph(\1, ">avoir ", False) and morph(\3, ":Y", False) ~2>> _
 10364  10390   
 10365  10391   __[i]/ppas(ppas_pronom_avoir)__
 10366  10392       (?:j’|je |tu |ils? |elles? |on |et )(?:ne +|n’|l(?:ui|eur) +|)({avoir}) +({w_2})  @@w,$
 10367         -    <<- not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \2) and morph(word(-1), ">puisque? ", False, True)
        10393  +    <<- not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \2) and morph(word(-1), ">(?:comme|et|lorsque?|mais|o[uù]|puisque?|qu(?:oique?|i|and)|si(?:non|)) ", False, True)
 10368  10394           and morph(\1, ":V0a", False) and not \2.isupper() and morphex(\2, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
 10369  10395       -2>> =suggMasSing(@)
 10370  10396       # Ce verbe devrait être un participe passé au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
 10371  10397   
 10372  10398   TEST: ils leur avaient {{donnés}} du fil à retordre.
 10373  10399   TEST: il a {{affronte}} une bande de voleurs de bétail
 10374  10400   TEST: J’ai {{mettrai}} du sel.                                                    ->> mis
 10375  10401   TEST: J’ai {{lut}} son journal.                                                   ->> lu
 10376  10402   TEST: Ils avaient barre sur lui.
        10403  +TEST: Si j’avais {{sut}}.
 10377  10404   
 10378  10405   
 10379  10406   __[i]/ppas(ppas_nous_vous_avoir)__
 10380  10407       ([nv]ous) +(?:ne +|n’|l(?:ui|eur) +|)({avoir}) +({w_2})  @@0,w,$
 10381  10408       <<- morph(\1, ":Os", False)
 10382         -        and not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \3) and morph(word(-1), ">puisque? ", False, True)
        10409  +        and not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \3) and morph(word(-1), ">(?:comme|et|lorsque?|mais|o[uù]|puisque?|qu(?:oique?|i|and)|si(?:non|)) ", False, True)
 10383  10410           and morph(\2, ":V0a", False) and not \3.isupper() and morphex(\3, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
 10384  10411       -3>> =suggMasSing(@)
 10385  10412       # Ce verbe devrait être un participe passé au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
 10386  10413   
 10387  10414   TEST: Nous avons {{donne}} tout notre potentiel.
        10415  +TEST: mais nous avons {{était}} surpris par cette annonce.
 10388  10416   TEST: D’un côté, le modèle occidental, […], nous a libérés de […]
 10389  10417   
 10390  10418   
 10391  10419   __[i]/ppas(ppas_det_nom_avoir)__
 10392  10420       (l(?:’|es? |a |eurs )|ce(?:s|tte|t|rtaine?s|) |des |quelques |[mts](?:es|on|a) |[nv]o(?:s|tre) ) *({w_2}) +(?:ne +|n’|l(?:ui|eur) +|)({avoir}) +({w_2})  @@0,w,w,$
 10393         -    <<- not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \4) and morph(word(-1), ">puisque? ", False, True)
        10421  +    <<- not re.search("(?i)^(?:barre|confiance|cours|envie|peine|prise|crainte|cure|affaire|hâte|force|recours)$", \4) and morph(word(-1), ">(?:comme|et|lorsque?|mais|o[uù]|puisque?|qu(?:oique?|i|and)|si(?:non|)) ", False, True)
 10394  10422           and not morph(\2, ":G", False) and morph(\3, ":V0a", False) and not \4.isupper() and morphex(\4, ":(?:[123][sp]|Q.*:[fp])", ":(?:G|W|Q.*:m:[si])")
 10395  10423           and not (\3 == "avions" and morph(\4, ":3[sp]", False))
 10396  10424       -4>> =suggMasSing(@)
 10397  10425       # Ce verbe devrait être un participe passé au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais
 10398  10426   
 10399  10427   TEST: Les femmes lui avait {{conseillées}} de se taire.
 10400  10428   TEST: le mur avait {{était}} détruit
        10429  +TEST: Lorsque les femmes ont {{apprit}} la nouvelle…
 10401  10430   TEST: Certains les ont d’abord jugés trop lents.
 10402  10431   
 10403  10432   
 10404  10433   __[i]/ppas(ppas_les_avoir)__
 10405  10434       les +({avoir}) +({w_1}(?:[éiut]e?|is|se))  @@w,$
 10406  10435       <<- morph(\1, ":V0a", False) and morphex(\2, ":V[0-3]..t.*:Q.*:s", ":[GWpi]")
 10407  10436       -2>> =suggPlur(@)

Modified gc_lang/fr/webext/panel/main.html from [2d4092fcfc] to [2f5e7b7df9].

    30     30           <section id="home_page" class="page">
    31     31   
    32     32             <div id="mainlogo">
    33     33               <div class="center"><img src="../img/logo120_text.png" alt="Grammalecte"></div>
    34     34               <p class="underline center">
    35     35                 Version ${version}
    36     36               </p>
    37         -            <p id="link_website" class="link center" data-url="http://grammalecte.net">Site web</p>
           37  +            <p id="link_website" class="link center" data-url="http://grammalecte.net/?from=grammalecte-fx">Site web</p>
    38     38               <p class="notice center">
    39     39                 Grammalecte est un correcteur grammatical open&nbsp;source sous <span id="link_gpl" class="link" data-url="https://www.gnu.org/licenses/gpl.html">licence GPL 3</span>
    40     40               </p>
    41     41             </div>
    42     42             
    43     43             <div id="thanks">
    44     44               <p class="center" data-l10n-id="thanks1">Grammalecte remercie</p>

Modified graphspell-js/char_player.js from [c171c18615] to [8f9100bd09].

   235    235           ["AN", ["AM", "EN", "EM"]],
   236    236           ["au", ["eau", "o", "ô"]],
   237    237           ["AU", ["EAU", "O", "Ô"]],
   238    238           ["em", ["an", "am", "en"]],
   239    239           ["EM", ["AN", "AM", "EN"]],
   240    240           ["en", ["an", "am", "em"]],
   241    241           ["EN", ["AN", "AM", "EM"]],
          242  +        ["ae", ["æ", "é"]],
          243  +        ["AE", ["Æ", "É"]],
   242    244           ["ai", ["ei", "é", "è", "ê", "ë"]],
   243    245           ["AI", ["EI", "É", "È", "Ê", "Ë"]],
   244    246           ["ei", ["ai", "é", "è", "ê", "ë"]],
   245    247           ["EI", ["AI", "É", "È", "Ê", "Ë"]],
   246    248           ["ch", ["sh", "c", "ss"]],
   247    249           ["CH", ["SH", "C", "SS"]],
   248    250           ["ct", ["x", "cc"]],
   249    251           ["CT", ["X", "CC"]],
   250    252           ["oa", ["oi",]],
   251    253           ["OA", ["OI",]],
          254  +        ["oe", ["œ",]],
          255  +        ["OE", ["Œ",]],
   252    256           ["oi", ["oa", "oie"]],
   253    257           ["OI", ["OA", "OIE"]],
   254    258           ["ph", ["f",]],
   255    259           ["PH", ["F",]],
   256    260           ["qu", ["q", "cq", "ck", "c", "k"]],
   257    261           ["QU", ["Q", "CQ", "CK", "C", "K"]],
   258    262           ["ss", ["c", "ç"]],

Modified graphspell/char_player.py from [e841b9211a] to [729262507c].

   224    224       "AN": ("AM", "EN", "EM"),
   225    225       "au": ("eau", "o", "ô"),
   226    226       "AU": ("EAU", "O", "Ô"),
   227    227       "em": ("an", "am", "en"),
   228    228       "EM": ("AN", "AM", "EN"),
   229    229       "en": ("an", "am", "em"),
   230    230       "EN": ("AN", "AM", "EM"),
          231  +    "ae": ("æ", "é"),
          232  +    "AE": ("Æ", "É"),
   231    233       "ai": ("ei", "é", "è", "ê", "ë"),
   232    234       "AI": ("EI", "É", "È", "Ê", "Ë"),
   233    235       "ei": ("ai", "é", "è", "ê", "ë"),
   234    236       "EI": ("AI", "É", "È", "Ê", "Ë"),
   235    237       "ch": ("sh", "c", "ss"),
   236    238       "CH": ("SH", "C", "SS"),
   237    239       "ct": ("x", "cc"),
   238    240       "CT": ("X", "CC"),
   239    241       "oa": ("oi",),
   240    242       "OA": ("OI",),
          243  +    "oe": ("œ",),
          244  +    "OE": ("Œ",),
   241    245       "oi": ("oa", "oie"),
   242    246       "OI": ("OA", "OIE"),
   243    247       "ph": ("f",),
   244    248       "PH": ("F",),
   245    249       "qu": ("q", "cq", "ck", "c", "k"),
   246    250       "QU": ("Q", "CQ", "CK", "C", "K"),
   247    251       "ss": ("c", "ç"),