Overview
Comment: | merge trunk |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | mailext |
Files: | files | file ages | folders |
SHA3-256: |
bbfed118579dc5a84df5a59bb49c8794 |
User & Date: | olr on 2020-07-10 08:28:46 |
Other Links: | branch diff | manifest | tags |
Context
2020-07-10
| ||
11:00 | [tb][fx] MailExtension: copy all paragraphs to cmopose window when closing the gc panel Closed-Leaf check-in: 218f25c554 user: olr tags: tb, fx, mailext | |
08:28 | merge trunk check-in: bbfed11857 user: olr tags: mailext | |
06:40 | [fr] faux positifs et ajustements check-in: 168cb0bb82 user: olr tags: trunk, fr | |
2020-07-09
| ||
15:09 | [build][tb][fx] merge MailExtension background.js with WebExtension background.js check-in: 80aa853941 user: olr tags: build, tb, fx, mailext | |
Changes
Modified gc_core/js/lang_core/gc_engine.js from [fd4f80b37d] to [fd075f5592].
︙ | ︙ | |||
820 821 822 823 824 825 826 | lSugg = (sSugg) ? sSugg.split("|") : []; } else if (sSugg == "_") { lSugg = []; } else { lSugg = this._expand(sSugg, nTokenOffset, nLastToken).split("|"); } if (bCaseSvty && lSugg.length > 0 && this.lToken[iFirstToken]["sValue"].slice(0,1).gl_isUpperCase()) { | | | 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 | lSugg = (sSugg) ? sSugg.split("|") : []; } else if (sSugg == "_") { lSugg = []; } else { lSugg = this._expand(sSugg, nTokenOffset, nLastToken).split("|"); } if (bCaseSvty && lSugg.length > 0 && this.lToken[iFirstToken]["sValue"].slice(0,1).gl_isUpperCase()) { lSugg = (this.sSentence.slice(nStart, nEnd).gl_isUpperCase()) ? lSugg.map((s) => s.toUpperCase()) : capitalizeArray(lSugg); } // Message let sMessage = (sMsg.startsWith("=")) ? oEvalFunc[sMsg.slice(1)](this.lToken, nTokenOffset, nLastToken) : this._expand(sMsg, nTokenOffset, nLastToken); if (bShowRuleId) { sMessage += " #" + sLineId + " / " + sRuleId; } // |
︙ | ︙ |
Modified gc_core/py/lang_core/gc_engine.py from [73a9be1db8] to [c3ca9ed5e0].
︙ | ︙ | |||
701 702 703 704 705 706 707 | sSugg = globals()[sSugg[1:]](self.lToken, nTokenOffset, nLastToken) lSugg = sSugg.split("|") if sSugg else [] elif sSugg == "_": lSugg = [] else: lSugg = self._expand(sSugg, nTokenOffset, nLastToken).split("|") if bCaseSvty and lSugg and self.lToken[iFirstToken]["sValue"][0:1].isupper(): | | | 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 | sSugg = globals()[sSugg[1:]](self.lToken, nTokenOffset, nLastToken) lSugg = sSugg.split("|") if sSugg else [] elif sSugg == "_": lSugg = [] else: lSugg = self._expand(sSugg, nTokenOffset, nLastToken).split("|") if bCaseSvty and lSugg and self.lToken[iFirstToken]["sValue"][0:1].isupper(): lSugg = list(map(lambda s: s.upper(), lSugg)) if self.sSentence[nStart:nEnd].isupper() else list(map(lambda s: s[0:1].upper()+s[1:], lSugg)) # Message sMessage = globals()[sMsg[1:]](self.lToken, nTokenOffset, nLastToken) if sMsg[0:1] == "=" else self._expand(sMsg, nTokenOffset, nLastToken) if bShowRuleId: sMessage += " #" + sLineId + " / " + sRuleId # if _bWriterError: return self._createErrorForWriter(nStart, nEnd - nStart, sRuleId, sOption, sMessage, lSugg, sURL) |
︙ | ︙ |
Modified gc_lang/fr/data/phonet_simil.txt from [b8573a5eb3] to [1cc023960d].
︙ | ︙ | |||
807 808 809 810 811 812 813 814 815 816 817 818 819 820 | tache taches tâche tâches tâchent taf tafs taffe taffes taffent taie taies tes thé thés tais tait tain teint teints thym thyms tin tins tint teins taira tairas terra terras taire ter terre terres terrent taise taises taisent thèse thèses tant temps tends tend taon taons tante tantes tente tentes tentent tapir tapirs tapirent tapis tapit tapît tare tares tard tarif tarifs tarife tarifes tarifent taule taules tôle tôles | > | 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 | tache taches tâche tâches tâchent taf tafs taffe taffes taffent taie taies tes thé thés tais tait tain teint teints thym thyms tin tins tint teins taira tairas terra terras taire ter terre terres terrent taise taises taisent thèse thèses tandis tendis tendit tendît tant temps tends tend taon taons tante tantes tente tentes tentent tapir tapirs tapirent tapis tapit tapît tare tares tard tarif tarifs tarife tarifes tarifent taule taules tôle tôles |
︙ | ︙ |
Modified gc_lang/fr/rules.grx from [31dbfe9376] to [244373c7e9].
︙ | ︙ | |||
2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 | __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 !! !!! !!! | > > > > > > > > > > > | 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 | __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") __da_noms_propres__ Concorde <<- not morph(<1, ":D.*:f") =>> add_morph(\1, ">Concorde/:MP:m:i") Mustang <<- not morph(<1, ":D.*:m") =>> add_morph(\1, ">Mustang/:MP:f:i") TEST: le crash du Concorde TEST: elle a acheté une Mustang !!! !!! !!! Étiquettes !! !!! !!! |
︙ | ︙ | |||
4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 | TEST: être {{en porte à faux}} TEST: des tractations {{en sous main}} TEST: Il ne connaît pas {{grand chose}} à tout ça. TEST: {{ici bas}}, n’attends rien de bon, à moins que… TEST: {{jusque là}}, tout va bien TEST: {{Là bas}}. ->> Là-bas TEST: elle viendra, {{n’est ce pas}} ? TEST: seulement par {{ouï dire}}. TEST: {{par derrière}} la maison TEST: Tout ce que nous faisons {{par ci, par là}}. TEST: {{par dessus}} ->> par-dessus TEST: Que vas-tu faire {{vis à vis}} d’eux ->> vis-à-vis | > | 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 | TEST: être {{en porte à faux}} TEST: des tractations {{en sous main}} TEST: Il ne connaît pas {{grand chose}} à tout ça. TEST: {{ici bas}}, n’attends rien de bon, à moins que… TEST: {{jusque là}}, tout va bien TEST: {{Là bas}}. ->> Là-bas TEST: elle viendra, {{n’est ce pas}} ? TEST: {{N’est ce pas}} ->> N’est-ce pas TEST: seulement par {{ouï dire}}. TEST: {{par derrière}} la maison TEST: Tout ce que nous faisons {{par ci, par là}}. TEST: {{par dessus}} ->> par-dessus TEST: Que vas-tu faire {{vis à vis}} d’eux ->> vis-à-vis |
︙ | ︙ | |||
8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 | TEST: {{emballait c pesé}} TEST: {{emballer c’est peser}} TEST: Tu peux emballer, c’est pesé. TEST: il faut emballer, c’est pesé TEST: c’est emballé, c’est pesé. # et / est __conf_et_est1__ entre $:M est $:M <<- /conf/ -3>> et && Entre \2 et \4, il faut la conjonction de coordination “et”… TEST: entre Patrick {{est}} Marcia, ça ne se passe pas bien. ->> et | > > > > > > > > > > > > > > | 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 | TEST: {{emballait c pesé}} TEST: {{emballer c’est peser}} TEST: Tu peux emballer, c’est pesé. TEST: il faut emballer, c’est pesé TEST: c’est emballé, c’est pesé. # entrée / entrer __conf_entrée__ [l’|cet|mon|ton|son|notre|votre|leur|chaque|quel] entré <<- /conf/ --1>> entrée && Confusion. Écrivez “entrée” pour évoquer l’arrivée ou le passage par lequel on entre. [les|des|des|ces|mes|tes|ses|nos|vos|leurs|quels|quelques|plusieurs] entrés <<- /conf/ --1>> entrées && Confusion. Écrivez “allers” pour évoquer un voyage. Écrivez “allées” pour évoquer une voie de passage. TEST: à l’{{entré}} en guerre ->> entrée TEST: Des {{entrés}} ->> entrées TEST: à l’{{entré}} de la grotte ->> entrée TEST: les entrées sont toutes verrouillées # et / est __conf_et_est1__ entre $:M est $:M <<- /conf/ -3>> et && Entre \2 et \4, il faut la conjonction de coordination “et”… TEST: entre Patrick {{est}} Marcia, ça ne se passe pas bien. ->> et |
︙ | ︙ | |||
11317 11318 11319 11320 11321 11322 11323 11324 11325 11326 11327 11328 11329 11330 | >fond de [>tain|teints|>thym] <<- /conf/ -3>> teint && Confusion. Locution nominale : “fond de teint”.|https://fr.wiktionary.org/wiki/fond_de_teint TEST: Elle l’a observé par un miroir sans {{teint}}. TEST: Elle a acheté un nouveau fond de {{tain}}. __conf_taule_tôle1__ [>taule] [de|d’|en] [>acier|>alu|>aluminium|>bardage|>cuivre|>étanchéité|>fer|>festonnage|inox|>laiton|>métal|>trapèze|>zinc|>éverite|>fibrociment|>fibro-ciment|>plastique|>polycarbonate|PVC] <<- /conf/ -1>> =\1.replace("au", "ô").replace("AU", "Ô") && Confusion. La taule est la forme argotique pour évoquer la prison, le bordel ou toute forme d’habitation. TEST: une {{taule}} en acier | > > > > > > > > > > | 11343 11344 11345 11346 11347 11348 11349 11350 11351 11352 11353 11354 11355 11356 11357 11358 11359 11360 11361 11362 11363 11364 11365 11366 | >fond de [>tain|teints|>thym] <<- /conf/ -3>> teint && Confusion. Locution nominale : “fond de teint”.|https://fr.wiktionary.org/wiki/fond_de_teint TEST: Elle l’a observé par un miroir sans {{teint}}. TEST: Elle a acheté un nouveau fond de {{tain}}. # tandis que __conf_tandis_que__ tendis [que|qu’] <<- /conf/ not value(<1, "|je|tu|il|elle|iel|on|ne|n’|le|la|les|l’|me|m’|te|t’|se|s’|") ->> tandis \2 && Confusion probable. Écrivez “tandis que” s’il s’agit bien de la locution conjonctive exprimant concomitance ou opposition.|https://fr.wiktionary.org/wiki/tandis_que TEST: mais {{tendis que}} le policier examinait nos papiers ->> tandis que # taule / tôle __conf_taule_tôle1__ [>taule] [de|d’|en] [>acier|>alu|>aluminium|>bardage|>cuivre|>étanchéité|>fer|>festonnage|inox|>laiton|>métal|>trapèze|>zinc|>éverite|>fibrociment|>fibro-ciment|>plastique|>polycarbonate|PVC] <<- /conf/ -1>> =\1.replace("au", "ô").replace("AU", "Ô") && Confusion. La taule est la forme argotique pour évoquer la prison, le bordel ou toute forme d’habitation. TEST: une {{taule}} en acier |
︙ | ︙ | |||
11420 11421 11422 11423 11424 11425 11426 | TEST: {{Toutes choses égales part ailleurs}}. TEST: ce serait, toutes choses égales par ailleurs, la meilleure solution possible. # très / trait __conf_très_trait__ | | > | | > | > | 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 11466 11467 11468 11469 11470 11471 11472 11473 11474 11475 11476 11477 11478 11479 11480 11481 11482 11483 | TEST: {{Toutes choses égales part ailleurs}}. TEST: ce serait, toutes choses égales par ailleurs, la meilleure solution possible. # très / trait __conf_très_trait__ [un|le|ce|mon|ton|son|notre|votre|leur] [trait|traits|trais|traie|traies|traient] @:A.*:[me]:[si]¬:G @:N.*:[me]:[si]¬:(?:G|3[sp]|A) <<- /conf/ not (morph(\2, ">trait/") and morph(\3, ">(?:facial|vertical|horizontal|oblique|diagonal)/")) -2>> très && Confusion possible. Si “\3” est bien l’adjectif de “\4” et que vous voulez que le “\4” est fort “\3”, utilisez l’adverbe “très”.|https://fr.wiktionary.org/wiki/tr%C3%A8s [des|les|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] [trait|traits|trais|traie|traies|traient] @:A.*:[me]:[pi]¬:G @:N.*:[me]:[pi]¬:(?:G|3[sp]|A) <<- /conf/ not (morph(\2, ">trait/") and morph(\3, ">(?:facial|vertical|horizontal|oblique|diagonal)/")) -2>> très && Confusion possible. Si “\3” est bien l’adjectif de “\4” et que vous voulez que les “\4” sont fort “\3”, utilisez l’adverbe “très”.|https://fr.wiktionary.org/wiki/tr%C3%A8s TEST: un {{trait}} petit homme TEST: les {{traits}} mauvais choix du patron nous ont conduits à la ruine. TEST: je ne les trais pas, mais il le faudrait. TEST: un trait mal dessiné TEST: je lui lançais un trait bien piquant TEST: La jeune femme en noir avait des traits faciaux froids et anguleux # un tant soit peu __conf_un_tant_soit_peu__ !! un tant soit peu ¡¡ [un|1] [temps|>tan|tant] [soi|sois|>soie|soit] [peu|peux|peut] <<- /conf/ ->> un tant soit peu && Confusion. Écrivez “un tant soit peu”.|https://fr.wiktionary.org/wiki/tant_soit_peu |
︙ | ︙ | |||
15705 15706 15707 15708 15709 15710 15711 15712 15713 15714 15715 15716 15717 15718 | [>homme|>femme|>cinéaste|>politicien|>acteur|>auteur|>sculpteur|>compositeur|>musicien|>groupe|>romancier|>peintre|>photographe|>sportif|>philosophe|>intellectuel|>polémiste] à succès [>homme|>femme] d’ >affaire à succès <<- ~-2:0>> * [>bébé|fils|>fille|>enfant|>neveu|>nièce|>frère|>sœur] [de|d’] $:B:e:p [mois|ans] [>grand-père|>grand-mère|>père|>mère|>papa|>maman|>oncle|>tante|>frère|>sœur|beau-frère|belle-sœur|>nièce|>neveu|>cousin] [de|d’] $:B:e:p ans <<- ~2:0>> * >calibre . *NUM ?[acp|auto|brenneke|browning|british|colt|court|H&K|magnum|mauser|otan|remington|parabellum|russian|S&W|sig|soviet|special|wcf|wsm|winchester]¿ >calibre . *NUM long rifle >calibre *NUM ?[mm|in]¿ >calibre *NUM [*|×] *NUM ?[mm|in]¿ <<- ~2:0>> * <<- =>> =select(\1, ":N") | > > > > | 15744 15745 15746 15747 15748 15749 15750 15751 15752 15753 15754 15755 15756 15757 15758 15759 15760 15761 | [>homme|>femme|>cinéaste|>politicien|>acteur|>auteur|>sculpteur|>compositeur|>musicien|>groupe|>romancier|>peintre|>photographe|>sportif|>philosophe|>intellectuel|>polémiste] à succès [>homme|>femme] d’ >affaire à succès <<- ~-2:0>> * [>bébé|fils|>fille|>enfant|>neveu|>nièce|>frère|>sœur] [de|d’] $:B:e:p [mois|ans] [>grand-père|>grand-mère|>père|>mère|>papa|>maman|>oncle|>tante|>frère|>sœur|beau-frère|belle-sœur|>nièce|>neveu|>cousin] [de|d’] $:B:e:p ans <<- ~2:0>> * [>homme|>femme|>garçon|>garçonnet|>fille|>fillette] d’ un mètre [deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf|vingt|vingt-et-un|vingt-deux|vingt-trois|vingt-quatre|vingt-cinq|vingt-six|vingt-sept|vingt-huit|vingt-neuf|trente|trente-et-un|trente-deux|trente-trois|trente-quatre|trente-cinq|trente-six|trente-sept|trente-huit|trente-neuf|quarante|quarante-et-un|quarante-deux|quarante-trois|quarante-quatre|quarante-cinq|quarante-six|quarante-sept|quarante-huit|quarante-neuf|cinquante|cinquante-et-un|cinquante-deux|cinquante-trois|cinquante-quatre|cinquante-cinq|cinquante-six|cinquante-sept|cinquante-huit|cinquante-neuf|soixante|soixante-et-un|soixante-deux|soixante-trois|soixante-quatre|soixante-cinq|soixante-six|soixante-sept|soixante-huit|soixante-neuf|soixante-dix|soixante-et-onze|soixante-douze|soixante-treize|soixante-quatorze|soixante-quinze|soixante-seize|soixante-dix-sept|soixante-dix-huit|soixante-dix-neuf|quatre-vingt-un|quatre-vingt-deux|quatre-vingt-trois|quatre-vingt-quatre|quatre-vingt-cinq|quatre-vingt-six|quatre-vingt-sept|quatre-vingt-huit|quatre-vingt-neufquatre-vingt-dix|quatre-vingt-onze|quatre-vingt-douze|quatre-vingt-treize|quatre-vingt-quatorze|quatre-vingt-quinze|quatre-vingt-seize|quatre-vingt-dix-sept|quatre-vingt-dix-huit|quatre-vingt-dix-neuf] [>homme|>femme|>garçon|>garçonnet|>fille|>fillette] [de|d’] deux mètres [deux|trois|quatre|cinq|six|sept|huit|neuf|dix|onze|douze|treize|quatorze|quinze|seize|dix-sept|dix-huit|dix-neuf|vingt|vingt-et-un|vingt-deux|vingt-trois|vingt-quatre|vingt-cinq|vingt-six|vingt-sept|vingt-huit|vingt-neuf|trente|trente-et-un|trente-deux|trente-trois|trente-quatre|trente-cinq|trente-six|trente-sept|trente-huit|trente-neuf|quarante|quarante-et-un|quarante-deux|quarante-trois|quarante-quatre|quarante-cinq|quarante-six|quarante-sept|quarante-huit|quarante-neuf|cinquante|cinquante-et-un|cinquante-deux|cinquante-trois|cinquante-quatre|cinquante-cinq|cinquante-six|cinquante-sept|cinquante-huit|cinquante-neuf|soixante|soixante-et-un|soixante-deux|soixante-trois|soixante-quatre|soixante-cinq|soixante-six|soixante-sept|soixante-huit|soixante-neuf|soixante-dix|soixante-et-onze|soixante-douze|soixante-treize|soixante-quatorze|soixante-quinze|soixante-seize|soixante-dix-sept|soixante-dix-huit|soixante-dix-neuf|quatre-vingt-un|quatre-vingt-deux|quatre-vingt-trois|quatre-vingt-quatre|quatre-vingt-cinq|quatre-vingt-six|quatre-vingt-sept|quatre-vingt-huit|quatre-vingt-neufquatre-vingt-dix|quatre-vingt-onze|quatre-vingt-douze|quatre-vingt-treize|quatre-vingt-quatorze|quatre-vingt-quinze|quatre-vingt-seize|quatre-vingt-dix-sept|quatre-vingt-dix-huit|quatre-vingt-dix-neuf] <<- ~2:0>> * >calibre . *NUM ?[acp|auto|brenneke|browning|british|colt|court|H&K|magnum|mauser|otan|remington|parabellum|russian|S&W|sig|soviet|special|wcf|wsm|winchester]¿ >calibre . *NUM long rifle >calibre *NUM ?[mm|in]¿ >calibre *NUM [*|×] *NUM ?[mm|in]¿ <<- ~2:0>> * <<- =>> =select(\1, ":N") |
︙ | ︙ | |||
16731 16732 16733 16734 16735 16736 16737 16738 16739 16740 | >vendre à perte >venir à bout [>venir|>revenir] je [ne|n’] sais ?pas¿ ?trop¿ d’ où [>venir|>revenir] on [ne|n’] sait ?pas¿ ?trop¿ d’ où <<- ~2:0>> ␣ <<- =>> define(\2, ":LV") __da_participe_passé__ >avoir $:Q | > > > > > > > > > > > > | | | 16774 16775 16776 16777 16778 16779 16780 16781 16782 16783 16784 16785 16786 16787 16788 16789 16790 16791 16792 16793 16794 16795 16796 16797 16798 16799 16800 16801 16802 16803 16804 16805 16806 | >vendre à perte >venir à bout [>venir|>revenir] je [ne|n’] sais ?pas¿ ?trop¿ d’ où [>venir|>revenir] on [ne|n’] sait ?pas¿ ?trop¿ d’ où <<- ~2:0>> ␣ <<- =>> define(\2, ":LV") __passer_temps_adj__ >passer ?toute¿ [la|cette|ma|ta|sa] [journée|semaine] @:A¬:A.*:[fe]:[si] >passer ?toute¿ [l’|cette|mon|ton|son] [heure|année] @:A¬:A.*:[fe]:[si] >passer ?toutes¿ [ces|ses|nos|vos|leurs] [heures|journées|semaines|années] @:A¬:A.*:[fe]:p <<- ~2:-2>> * TEST: il avait passé toutes ces années enterré dans son appartement TEST: Il passe toutes ses journées couché. TEST: Les visiteurs passent donc leurs journées agglutinés… TEST: il avait passé toute l’heure avachi sur sa chaise. __da_participe_passé__ >avoir $:Q <<- not value(\1, "|avoir|avoirs|") and not morph(<1, ":D") =>> rewrite(\2, ":A", "") >être $:Q <<- not value(\1, "|être|êtres|") and not morph(<1, ":D") =>> rewrite(\2, ":A", "") __purge_vite__ vite <<- not (morph(<1, ":V0a") and value(>1, "|fait|")) ~>> * |
︙ | ︙ | |||
16950 16951 16952 16953 16954 16955 16956 16957 16958 16959 16960 16961 16962 16963 | TEST: Ma chambre est trois fois plus grande que la tienne. TEST: Il est trois ans plus jeune que moi. TEST: On peut sans doute laisser sans grand problème toutes les baskets à la mode être produites à l’autre bout du monde TEST: Faire cours avec un bâillon m’indique assez bien l’importance qu’on accorde à ce que je peux bien vouloir dire en classe. TEST: le rejet de l’État-providence est plus élevé dans les régions où les immigrants se trouvent en plus grand nombre TEST: les délices nouvelles TEST: il lui faut composer avec un électorat bête à manger du foin @@@@ @@@@ @@@@ @@@@ @@@@END_GRAPH _ | > > > | 17005 17006 17007 17008 17009 17010 17011 17012 17013 17014 17015 17016 17017 17018 17019 17020 17021 | TEST: Ma chambre est trois fois plus grande que la tienne. TEST: Il est trois ans plus jeune que moi. TEST: On peut sans doute laisser sans grand problème toutes les baskets à la mode être produites à l’autre bout du monde TEST: Faire cours avec un bâillon m’indique assez bien l’importance qu’on accorde à ce que je peux bien vouloir dire en classe. TEST: le rejet de l’État-providence est plus élevé dans les régions où les immigrants se trouvent en plus grand nombre TEST: les délices nouvelles TEST: il lui faut composer avec un électorat bête à manger du foin TEST: l’homme d’un mètre soixante-dix appelé “général” TEST: tout mon être tendu vers la victoire TEST: Pierre et elle n’étaient plus mari et femme @@@@ @@@@ @@@@ @@@@ @@@@END_GRAPH _ |
︙ | ︙ | |||
21708 21709 21710 21711 21712 21713 21714 | TEST: elles sont {{vites}} parties. TEST: elles sont vites. # voir clair __sgpl_voir_clair__ >voir >clair | > | > | 21766 21767 21768 21769 21770 21771 21772 21773 21774 21775 21776 21777 21778 21779 21780 21781 21782 21783 21784 21785 21786 | TEST: elles sont {{vites}} parties. TEST: elles sont vites. # voir clair __sgpl_voir_clair__ >voir >clair <<- /sgpl/ \2 != "clair" and \2 != "Claire" and morph(\1, ":(?:[123][sp]|P|Y)") -2>> clair && Dans la locution “voir clair”, “clair” est un adverbe, donc invariable. (Mais peut-être confondez-vous “voire” et “voir” ?) TEST: Ils y voient {{clairs}}. TEST: Il vit Claire au théâtre. TEST: J’y vois clair, mec. TEST: rendant leur vue peu claire # vu / vue __sgpl_vue_vu__ >point de [vu|vus|vues] <<- /sgpl/ -3>> vue && Dans un “point de vue”, “vue” est toujours au féminin singulier. |
︙ | ︙ | |||
22669 22670 22671 22672 22673 22674 22675 | -2>> =suggVerbInfi(\2) && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. [>adorer|>aimer|>compter|>désirer|>détester|>entendre|>espérer|>préférer|>souhaiter] ~..(?:ée?s?|ez)$ <<- /infi/ morph(\1, ":", ":[GN]") and morph(\2, ":V", ":M") and not value(<1, "|le|la|l’|les|") -2>> =suggVerbInfi(\2) && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. [>aller|>envoyer|>venir|>revenir|>partir] ~..(?:ée?s?|ez)$ | | | 22729 22730 22731 22732 22733 22734 22735 22736 22737 22738 22739 22740 22741 22742 22743 | -2>> =suggVerbInfi(\2) && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. [>adorer|>aimer|>compter|>désirer|>détester|>entendre|>espérer|>préférer|>souhaiter] ~..(?:ée?s?|ez)$ <<- /infi/ morph(\1, ":", ":[GN]") and morph(\2, ":V", ":M") and not value(<1, "|le|la|l’|les|") -2>> =suggVerbInfi(\2) && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. [>aller|>envoyer|>venir|>revenir|>partir] ~..(?:ée?s?|ez)$ <<- /infi/ morph(\1, ":", ":[GN]") and morph(\-1, ":V", ":M|>(?:accompagner|armer|armurer|casquer|débrailler|déguiser|épuiser)/") and not value(>1, "|par|") --1>> =suggVerbInfi(\2) && S’il s’agit d’une action à accomplir, le verbe devrait être à l’infinitif. TEST: elle préférait {{mangée}} seule. ->> manger TEST: Il venait, comme d’habitude, {{discuté}} avec son ami. ->> discuter TEST: Ces types-là venaient {{mangé}} chez moi tous les dimanches. ->> manger TEST: ils viennent bien entendu {{attaqué}} le parlement ->> attaquer TEST: ils vont par voie de conséquence vraiment {{attaqué}} la banque ->> attaquer |
︙ | ︙ | |||
22695 22696 22697 22698 22699 22700 22701 22702 22703 22704 22705 22706 22707 22708 | TEST: le dialogue, je l’espère apaisé et cordial. TEST: Elles étaient venues armées. TEST: Il vint déguisé en mousquetaire. TEST: D’ailleurs j’irai armé. TEST: J’irai armé de mon épée. TEST: Si possible, venez accompagné. TEST: Elle vint accompagnée de son père. __infi_avoir_beau__ >avoir beau ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ée?s?|ez|ai[ts]?)$ >avoir beau ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~..(?:ée?s?|ez|ai[ts]?)$ >avoir beau ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ >avoir beau ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ | > > > | 22755 22756 22757 22758 22759 22760 22761 22762 22763 22764 22765 22766 22767 22768 22769 22770 22771 | TEST: le dialogue, je l’espère apaisé et cordial. TEST: Elles étaient venues armées. TEST: Il vint déguisé en mousquetaire. TEST: D’ailleurs j’irai armé. TEST: J’irai armé de mon épée. TEST: Si possible, venez accompagné. TEST: Elle vint accompagnée de son père. TEST: Ils étaient venus débraillés comme leurs aînés les vaincus. TEST: Il était venu poussé par la curiosité. __infi_avoir_beau__ >avoir beau ?[ne|n’|le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y]¿ ~..(?:ée?s?|ez|ai[ts]?)$ >avoir beau ?[ne|n’]¿ [le|la|l’|les|en|me|m’|te|t’|se|s’|nous|vous|lui|leur|y] ~..(?:ée?s?|ez|ai[ts]?)$ >avoir beau ?[ne|n’]¿ [me|m’|te|t’|se|s’|nous|vous] [le|la|l’|les|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ >avoir beau ?[ne|n’]¿ [le|la|l’|les] [lui|leur|en|y] ~..(?:ée?s?|ez|ai[ts]?)$ |
︙ | ︙ | |||
26769 26770 26771 26772 26773 26774 26775 | TEST: Quel serait leur {{impacte}} sur la population. ->> impact TEST: Quels étaient les {{ennuient}} avec ces gens ->> ennuis TEST: un homme humble et doux, quel être le deviendrait en de telles circonstances ? __vmode_l_eût_suj_voulu_que__ l’ [eut-il|eut-elle|eut-on] [désiré|envisagé|exigé|demandé|imaginé|rêvé|souhaité|voulu] [que|qu’] | > | | 26832 26833 26834 26835 26836 26837 26838 26839 26840 26841 26842 26843 26844 26845 26846 26847 | TEST: Quel serait leur {{impacte}} sur la population. ->> impact TEST: Quels étaient les {{ennuient}} avec ces gens ->> ennuis TEST: un homme humble et doux, quel être le deviendrait en de telles circonstances ? __vmode_l_eût_suj_voulu_que__ l’ [eut-il|eut-elle|eut-on] [désiré|envisagé|exigé|demandé|imaginé|rêvé|souhaité|voulu] [que|qu’] <<- /vmode/ -2>> =\2.replace("ut", "ût").replace("UT", "ÛT") && Mode verbal. Dans cette locution (comme “l’eût-il voulu que…”), utilisez le subjonctif, car il s’agit d’une spéculation sur ce qui est “\-2”. TEST: l’{{eut-il}} voulu que ça n’aurait rien changé ->> eût-il !!! !!! |
︙ | ︙ | |||
28771 28772 28773 28774 28775 28776 28777 28778 28779 28780 28781 28782 28783 28784 28785 28786 28787 28788 28789 28790 28791 28792 28793 28794 28795 28796 28797 28798 28799 28800 28801 28802 28803 28804 28805 28806 28807 28808 28809 28810 28811 28812 28813 28814 28815 | >douter [que|qu’] @:(?:Os|M) @:I¬:(?:[GYSK]|If) <<- /vmode/ not tag(\1, "_upron_") and not tag(\1, "neg") and morph(\1, ":V", ":N") --1>> =suggVerbMode(\-1, ":S", \-2) && Après “\1 que”, ce verbe devrait être au subjonctif. [il|ça|cela] [peut|pouvait] [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ tag(\2, "_upron_") --1>> =suggVerbMode(\-1, ":S", \-2) && Après “\1 se peut que”, le verbe devrait être au subjonctif. TEST: Il suffit qu’il {{court}} plus TEST: j’attends que tu {{viens}}. TEST: Je veux qu’il {{finit}} son repas. TEST: Je ne veux pas que tu {{es}} des ennuis TEST: je doute qu’il {{vient}} demain. TEST: il se peut que nous {{avons}} tort. TEST: j’ai bon espoir qu’il {{vient}} vite. TEST: peu s’en est fallu qu’il {{devient}} estropié. TEST: je m’étonne qu’il {{est}} aussi fragile TEST: elle a envie qu’il {{est}} intelligent. TEST: il importera que nous {{devenons}} prêts. TEST: prends garde que vous {{revenez}} en un seul morceau. TEST: faites attention à ce qu’elle ne {{devient}} pas timorée. TEST: je tiens à ce que vous {{devenez}} grands. TEST: Veille à ce qu’il y {{est}} des gâteaux. TEST: Je ne doute pas qu’ils réussiront leur mission. TEST: Je me doutais bien qu’Apple pourrait marcher TEST: Je me doutais bien qu’elle me détestait TEST: Je veux que tu sois prudent. TEST: Je souhaitais que tu fusses présent. TEST: Je souhaite qu’il apprenne le français. TEST: Je ne permets pas que tu sois imprudent. TEST: Je n’exige pas que vous soyez ponctuels. TEST: il ne fait aucun doute qu’Amazon le sait. TEST: Je sais bien que tu reviendras. TEST: Ne doute pas qu’il viendra demain. TEST: C’est cet interdit qu’il faut lever. TEST: pas grand-chose à proposer à part faire attention à ce qu’on fait. TEST: La crainte que nous nourrissons à l’égard d’une société libre tient à notre méconnaissance des vertus de l’action individuelle TEST: Je sais qu’il nous faut l’aide de mon ami. TEST: cela tient sans doute à ce qu’ils n’ont pas acquis une connaissance suffisante de la doctrine __vmode_qqch_que_subjonctif__ [quoique|quoiqu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ -3>> =suggVerbMode(\3, ":S", \2) && Après “quoique”, ce verbe devrait être au subjonctif. [afin|avant|malgré|pour|pourvu|qui|quoi|sans] [que|qu’] @:(?:Os|M) @:I¬:[GYS] | > > > > > > > > > > > > > > > > > > > > > > > | 28835 28836 28837 28838 28839 28840 28841 28842 28843 28844 28845 28846 28847 28848 28849 28850 28851 28852 28853 28854 28855 28856 28857 28858 28859 28860 28861 28862 28863 28864 28865 28866 28867 28868 28869 28870 28871 28872 28873 28874 28875 28876 28877 28878 28879 28880 28881 28882 28883 28884 28885 28886 28887 28888 28889 28890 28891 28892 28893 28894 28895 28896 28897 28898 28899 28900 28901 28902 | >douter [que|qu’] @:(?:Os|M) @:I¬:(?:[GYSK]|If) <<- /vmode/ not tag(\1, "_upron_") and not tag(\1, "neg") and morph(\1, ":V", ":N") --1>> =suggVerbMode(\-1, ":S", \-2) && Après “\1 que”, ce verbe devrait être au subjonctif. [il|ça|cela] [peut|pouvait] [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ tag(\2, "_upron_") --1>> =suggVerbMode(\-1, ":S", \-2) && Après “\1 se peut que”, le verbe devrait être au subjonctif. il [arrive|arriva|arrivait] [que|qu’] @:(?:Os|M) @:I¬:(?:[GSK]|If|V0) il [est|était] arrivé [que|qu’] @:(?:Os|M) @:I¬:(?:[GSK]|If|V0) <<- /vmode/ --1>> =suggVerbMode(\-1, ":S", \-2) && Après “il arrive que”, le verbe se met au subjonctif s’il s’agit d’une éventualité (mais la construction à l’indicatif est aussi possible s’il y a certitude). il [est|était] possible [que|qu’] @:(?:Os|M) @:I¬:[GYS] si tant est [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ --1>> =suggVerbMode(\-1, ":S", \-2) && Après “\1 \2 \3 que”, ce verbe devrait être au subjonctif. peu [est|était] fallu [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ tag(\2, "_upron_") --1>> =suggVerbMode(\-1, ":S", \-2) && Après “peu s’en est fallu que”, ce verbe devrait être au subjonctif. >valoir mieux [que|qu’] @:(?:Os|M) @:I¬:[GYS] mieux >valoir [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ --1>> =suggVerbMode(\-1, ":S", \-2) && Après “mieux valoir que”, ce verbe devrait être au subjonctif. TEST: Il suffit qu’il {{court}} plus TEST: j’attends que tu {{viens}}. TEST: Je veux qu’il {{finit}} son repas. TEST: Je ne veux pas que tu {{es}} des ennuis TEST: je doute qu’il {{vient}} demain. TEST: il se peut que nous {{avons}} tort. TEST: j’ai bon espoir qu’il {{vient}} vite. TEST: peu s’en est fallu qu’il {{devient}} estropié. TEST: je m’étonne qu’il {{est}} aussi fragile TEST: elle a envie qu’il {{est}} intelligent. TEST: il importera que nous {{devenons}} prêts. TEST: prends garde que vous {{revenez}} en un seul morceau. TEST: ça ira, si tant est que Paul {{comprend}} ce qui se passe. TEST: faites attention à ce qu’elle ne {{devient}} pas timorée. TEST: je tiens à ce que vous {{devenez}} grands. TEST: Veille à ce qu’il y {{est}} des gâteaux. TEST: il arrive qu’il {{vient}}, mais rarement TEST: Vaudrait mieux qu’elle {{meurt}} TEST: il aurait mieux valu qu’elle {{meurt}} TEST: il est possible qu’il {{est}} parti TEST: Je ne doute pas qu’ils réussiront leur mission. TEST: Je me doutais bien qu’Apple pourrait marcher TEST: Je me doutais bien qu’elle me détestait TEST: Je veux que tu sois prudent. TEST: Je souhaitais que tu fusses présent. TEST: Je souhaite qu’il apprenne le français. TEST: Je ne permets pas que tu sois imprudent. TEST: Je n’exige pas que vous soyez ponctuels. TEST: il ne fait aucun doute qu’Amazon le sait. TEST: Je sais bien que tu reviendras. TEST: Ne doute pas qu’il viendra demain. TEST: C’est cet interdit qu’il faut lever. TEST: pas grand-chose à proposer à part faire attention à ce qu’on fait. TEST: La crainte que nous nourrissons à l’égard d’une société libre tient à notre méconnaissance des vertus de l’action individuelle TEST: Je sais qu’il nous faut l’aide de mon ami. TEST: cela tient sans doute à ce qu’ils n’ont pas acquis une connaissance suffisante de la doctrine TEST: J’irai si tant est que je puisse. TEST: J’irai si tant est que je le puisse. __vmode_qqch_que_subjonctif__ [quoique|quoiqu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ -3>> =suggVerbMode(\3, ":S", \2) && Après “quoique”, ce verbe devrait être au subjonctif. [afin|avant|malgré|pour|pourvu|qui|quoi|sans] [que|qu’] @:(?:Os|M) @:I¬:[GYS] |
︙ | ︙ | |||
28845 28846 28847 28848 28849 28850 28851 | # [<start>|,|(] si bien [que|qu’] @:(?:Os|M) @:I¬:(?:[GYS]|I[qf]|V0) # <<- /vmode/ -6>> =suggVerbMode(\6, ":S", \5) && Après “\2 \3 que”, ce verbe devrait être au subjonctif. [<start>|,|(] encore [que|qu’] @:(?:Os|M) @:I¬:(?:[GSK]|If) <<- /vmode/ -5>> =suggVerbMode(\5, ":S", \4) && Après « \2 que », le verbe s’emploie au subjonctif. | < < < < < < < < < < < < < < | < | 28932 28933 28934 28935 28936 28937 28938 28939 28940 28941 28942 28943 28944 28945 28946 28947 28948 28949 28950 28951 28952 28953 28954 28955 28956 28957 28958 28959 28960 28961 28962 28963 28964 28965 28966 28967 28968 28969 28970 28971 28972 | # [<start>|,|(] si bien [que|qu’] @:(?:Os|M) @:I¬:(?:[GYS]|I[qf]|V0) # <<- /vmode/ -6>> =suggVerbMode(\6, ":S", \5) && Après “\2 \3 que”, ce verbe devrait être au subjonctif. [<start>|,|(] encore [que|qu’] @:(?:Os|M) @:I¬:(?:[GSK]|If) <<- /vmode/ -5>> =suggVerbMode(\5, ":S", \4) && Après « \2 que », le verbe s’emploie au subjonctif. jusqu’ à ce [que|qu’] @:(?:Os|M) @:I¬:[GYS] <<- /vmode/ --1>> =suggVerbMode(\-1, ":S", \-2) && Après “\1 \2 \3 que”, ce verbe devrait être au subjonctif. TEST: Quoiqu’il {{est}} parti il y a longtemps, on pense encore beaucoup à lui. TEST: quoi qu’il en {{conclut}} TEST: Avant que tu {{pars}}, je voudrais qu’on discute. TEST: Sans qu’elle {{prend}} le temps d’analyser le problème. TEST: il est possible qu’il {{vient}} demain. TEST: à condition que tu {{réussis}} TEST: Pourvu qu’elle {{réussit}}. TEST: en admettant que tu {{deviens}} plus talentueuse qu’elle, qu’est-ce que tu feras ? TEST: afin que je {{prends}} des mesures TEST: à condition qu’il {{finit}} son boulot. TEST: pour peu qu’il {{prend}} son devoir sérieux… TEST: Fais en sorte qu’elle {{court}} à sa perte TEST: Nous œuvrons silencieusement de crainte qu’il nous {{entend}}. TEST: En admettant qu’il {{devient}} juste. TEST: à condition qu’elle l’{{est}} jamais été TEST: non qu’il {{prend}} son temps TEST: si tant est que nous {{prenons}} notre temps TEST: moyennant qu’elle {{vient}} demain TEST: en attendant qu’il {{devient}} plus raisonnable TEST: {{où}} qu’il {{est}}, on le trouvera TEST: Il ne le savait pas, bien qu’il en {{avait}} entendu parler. TEST: Bien que je {{prends}} mon mal en patience. TEST: encore qu’il {{sait}} s’y prendre TEST: jusqu’à ce qu’elle {{vient}} avec nous TEST: C’est un joli bien. Bien qu’il a hérité de son oncle, notez bien. TEST: Bien qu’il avait donné à ses enfants. TEST: si bien que je me suis toujours demandée si cela ne m’avait pas un peu bousillé les yeux TEST: Nul doute qu’elle nourrira à brève échéance la haine de demain à notre égard. TEST: Tu vivras plus sereinement en admettant que tu ne peux pas être la meilleure en toutes choses. TEST: quoi que nous autres hommes ayons pu faire TEST: Nous irons là-bas, si tant est qu’on veuille encore de nous. |
︙ | ︙ | |||
28911 28912 28913 28914 28915 28916 28917 | TEST: Je vous appelle pour que vous me donniez des renseignements. TEST: Bien que tu aies passé l’examen TEST: Je travaille de façon que nous puissions vivre. TEST: Je travaille de façon qu’il puisse vivre. TEST: En admettant qu’il soit allé TEST: Demander jusqu’à ce qu’il réponde. TEST: Demander jusqu’à ce qu’il me réponde. | < < | 28983 28984 28985 28986 28987 28988 28989 28990 28991 28992 28993 28994 28995 28996 | TEST: Je vous appelle pour que vous me donniez des renseignements. TEST: Bien que tu aies passé l’examen TEST: Je travaille de façon que nous puissions vivre. TEST: Je travaille de façon qu’il puisse vivre. TEST: En admettant qu’il soit allé TEST: Demander jusqu’à ce qu’il réponde. TEST: Demander jusqu’à ce qu’il me réponde. TEST: Quoique je dise. TEST: Quoique je te dise. TEST: Ça signifie qu’il est parti ou qu’il est mort. TEST: Ça ne signifie qu’une seule chose : soit qu’il est con, soit qu’il est totalement con. TEST: Si bien que l’on se dit : « Ce mode de vie où je travaille moins en ayant beaucoup plus de disponibilités sensibles, n’est-ce pas le bon équilibre à trouver ? » |
︙ | ︙ | |||
29186 29187 29188 29189 29190 29191 29192 29193 29194 29195 29196 29197 29198 29199 | TEST: L’homme est également président de l’AFP TEST: ils nous ont agenouillés TEST: C’est pure folie. TEST: Du côté de ceux sans qui le cinéma se réduirait à pas grand-chose TEST: Il commence à monter sur scène au Club Méditerranée TEST: Je n’en avais cure. TEST: À toute chose malheur est bon. !!! Tests historiques !! ## Version 0.5.14 TEST: par le léger tissu de rayonne qui les protégeait en ce moment. | > > > | 29256 29257 29258 29259 29260 29261 29262 29263 29264 29265 29266 29267 29268 29269 29270 29271 29272 | TEST: L’homme est également président de l’AFP TEST: ils nous ont agenouillés TEST: C’est pure folie. TEST: Du côté de ceux sans qui le cinéma se réduirait à pas grand-chose TEST: Il commence à monter sur scène au Club Méditerranée TEST: Je n’en avais cure. TEST: À toute chose malheur est bon. TEST: Les 5 outils sont fixés sur le porte-outils. TEST: Pourquoi s’était-elle laissé emporter ? TEST: elle s’était laissé emporter !!! Tests historiques !! ## Version 0.5.14 TEST: par le léger tissu de rayonne qui les protégeait en ce moment. |
︙ | ︙ |
Modified js_extension/string.js from [92604eae87] to [d964129734].
︙ | ︙ | |||
20 21 22 23 24 25 26 | String.prototype.gl_isDigit = function () { return (this.search(/^[0-9⁰¹²³⁴⁵⁶⁷⁸⁹]+$/) !== -1); }; String.prototype.gl_isAlpha = function () { return (this.search(/^[a-zà-öA-Zø-ÿÀ-ÖØ-ßĀ-ʯff-stᴀ-ᶿ]+$/) !== -1); }; String.prototype.gl_isLowerCase = function () { | | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | String.prototype.gl_isDigit = function () { return (this.search(/^[0-9⁰¹²³⁴⁵⁶⁷⁸⁹]+$/) !== -1); }; String.prototype.gl_isAlpha = function () { return (this.search(/^[a-zà-öA-Zø-ÿÀ-ÖØ-ßĀ-ʯff-stᴀ-ᶿ]+$/) !== -1); }; String.prototype.gl_isLowerCase = function () { return (this.search(/^[a-zà-öø-ÿff-st0-9 '’-]+$/) !== -1); }; String.prototype.gl_isUpperCase = function () { return (this.search(/^[A-ZÀ-ÖØ-ߌ0-9 '’-]+$/) !== -1 && this.search(/^[0-9]+$/) === -1); }; String.prototype.gl_isTitle = function () { return (this.search(/^[A-ZÀ-ÖØ-ߌ][a-zà-öø-ÿff-st '’-]+$/) !== -1); }; String.prototype.gl_toCapitalize = function () { return this.slice(0,1).toUpperCase() + this.slice(1).toLowerCase(); }; String.prototype.gl_expand = function (oMatch) { let sNew = this; for (let i = 0; i < oMatch.length ; i++) { |
︙ | ︙ |