Overview
Comment: | [core][fr] fix previous commit |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr | core |
Files: | files | file ages | folders |
SHA3-256: |
47944f336fef505ef563b564596aa6af |
User & Date: | olr on 2021-02-05 19:41:00 |
Other Links: | manifest | tags |
Context
2021-02-05
| ||
21:07 | [build][core][lo][fx][fr] change data structure for conjugation tool check-in: a56f46447a user: olr tags: trunk, fr, core, build, major_change, fx, lo | |
19:41 | [core][fr] fix previous commit check-in: 47944f336f user: olr tags: trunk, fr, core | |
19:21 | [fr] ajustements check-in: fe4a2a6586 user: olr tags: trunk, fr | |
Changes
Modified gc_lang/fr/modules-js/conj.js from [03aa2c6aa7] to [fd6082c64b].
︙ | ︙ | |||
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 | return this._dVerb.hasOwnProperty(sVerb); }, getConj: function (sVerb, sTense, sWho) { // returns conjugation (can be an empty string) if (!this._dVerb.hasOwnProperty(sVerb)) { return null; } if (!this._dPatternConj[sTense][this._lTags[this._dVerb[sVerb][1]][this._dTenseIdx.get(sTense)]].hasOwnProperty(sWho)) { return ""; } return this._modifyStringWithSuffixCode(sVerb, this._dPatternConj[sTense][this._lTags[this._dVerb[sVerb][1]][this._dTenseIdx.get(sTense)]][sWho]); }, hasConj: function (sVerb, sTense, sWho) { // returns false if no conjugation (also if empty) else true if (!this._dVerb.hasOwnProperty(sVerb)) { return false; } if (this._dPatternConj[sTense][this._lTags[this._dVerb[sVerb][1]][this._dTenseIdx.get(sTense)]].hasOwnProperty(sWho) && this._dPatternConj[sTense][this._lTags[this._dVerb[sVerb][1]][this._dTenseIdx.get(sTense)]][sWho]) { return true; } return false; }, | > > > > > > | 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 | return this._dVerb.hasOwnProperty(sVerb); }, getConj: function (sVerb, sTense, sWho) { // returns conjugation (can be an empty string) if (!this._dVerb.hasOwnProperty(sVerb)) { return null; } if (sTense == ":Y") { return sVerb; } if (!this._dPatternConj[sTense][this._lTags[this._dVerb[sVerb][1]][this._dTenseIdx.get(sTense)]].hasOwnProperty(sWho)) { return ""; } return this._modifyStringWithSuffixCode(sVerb, this._dPatternConj[sTense][this._lTags[this._dVerb[sVerb][1]][this._dTenseIdx.get(sTense)]][sWho]); }, hasConj: function (sVerb, sTense, sWho) { // returns false if no conjugation (also if empty) else true if (!this._dVerb.hasOwnProperty(sVerb)) { return false; } if (sTense == ":Y") { return true; } if (this._dPatternConj[sTense][this._lTags[this._dVerb[sVerb][1]][this._dTenseIdx.get(sTense)]].hasOwnProperty(sWho) && this._dPatternConj[sTense][this._lTags[this._dVerb[sVerb][1]][this._dTenseIdx.get(sTense)]][sWho]) { return true; } return false; }, |
︙ | ︙ | |||
121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | return null; } return this._lTags[this._dVerb[sVerb][1]]; }, _getConjWithTags: function (sVerb, tTags, sTense, sWho) { // returns conjugation (can be an empty string) if (!this._dPatternConj[sTense][tTags[this._dTenseIdx.get(sTense)]].hasOwnProperty(sWho)) { return ""; } return this._modifyStringWithSuffixCode(sVerb, this._dPatternConj[sTense][tTags[this._dTenseIdx.get(sTense)]][sWho]); }, _hasConjWithTags: function (tTags, sTense, sWho) { // returns false if no conjugation (also if empty) else true if (this._dPatternConj[sTense][tTags[this._dTenseIdx.get(sTense)]].hasOwnProperty(sWho) && this._dPatternConj[sTense][tTags[this._dTenseIdx.get(sTense)]][sWho]) { return true; } return false; }, | > > > > > > | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | return null; } return this._lTags[this._dVerb[sVerb][1]]; }, _getConjWithTags: function (sVerb, tTags, sTense, sWho) { // returns conjugation (can be an empty string) if (sTense == ":Y") { return sVerb; } if (!this._dPatternConj[sTense][tTags[this._dTenseIdx.get(sTense)]].hasOwnProperty(sWho)) { return ""; } return this._modifyStringWithSuffixCode(sVerb, this._dPatternConj[sTense][tTags[this._dTenseIdx.get(sTense)]][sWho]); }, _hasConjWithTags: function (tTags, sTense, sWho) { // returns false if no conjugation (also if empty) else true if (sTense == ":Y") { return true; } if (this._dPatternConj[sTense][tTags[this._dTenseIdx.get(sTense)]].hasOwnProperty(sWho) && this._dPatternConj[sTense][tTags[this._dTenseIdx.get(sTense)]][sWho]) { return true; } return false; }, |
︙ | ︙ |
Modified gc_lang/fr/modules-js/gce_suggestions.js from [712aa0bc24] to [e713e67341].
︙ | ︙ | |||
158 159 160 161 162 163 164 | return ""; } function suggVerbFrom (sStem, sFlex, sWho="") { "conjugate <sStem> according to <sFlex> (and eventually <sWho>)" let aSugg = new Set(); for (let sMorph of gc_engine.oSpellChecker.getMorph(sFlex)) { | | | 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | return ""; } function suggVerbFrom (sStem, sFlex, sWho="") { "conjugate <sStem> according to <sFlex> (and eventually <sWho>)" let aSugg = new Set(); for (let sMorph of gc_engine.oSpellChecker.getMorph(sFlex)) { let lTenses = [ ...sMorph.matchAll(/:(?:Y|I[pqsf]|S[pq]|K|P)/g) ]; if (sWho) { for (let [sTense, ] of lTenses) { if (conj.hasConj(sStem, sTense, sWho)) { aSugg.add(conj.getConj(sStem, sTense, sWho)); } } } |
︙ | ︙ |
Modified gc_lang/fr/modules/conj.py from [542bdbf844] to [af72bab83b].
︙ | ︙ | |||
37 38 39 40 41 42 43 44 45 46 47 48 49 50 | return sVerb in _dVerb def getConj (sVerb, sTense, sWho): "returns conjugation (can be an empty string)" if sVerb not in _dVerb: return None return _modifyStringWithSuffixCode(sVerb, _dPatternConj[sTense][_lTags[_dVerb[sVerb][1]][_dTenseIdx[sTense]]].get(sWho, "")) def hasConj (sVerb, sTense, sWho): "returns False if no conjugation (also if empty) else True" if sVerb not in _dVerb: return False | > > | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | return sVerb in _dVerb def getConj (sVerb, sTense, sWho): "returns conjugation (can be an empty string)" if sVerb not in _dVerb: return None if sTense == ":Y": return sVerb return _modifyStringWithSuffixCode(sVerb, _dPatternConj[sTense][_lTags[_dVerb[sVerb][1]][_dTenseIdx[sTense]]].get(sWho, "")) def hasConj (sVerb, sTense, sWho): "returns False if no conjugation (also if empty) else True" if sVerb not in _dVerb: return False if sTense == ":Y" or _dPatternConj[sTense][_lTags[_dVerb[sVerb][1]][_dTenseIdx[sTense]]].get(sWho, False): return True return False def getVtyp (sVerb): "returns raw informations about sVerb" if sVerb not in _dVerb: |
︙ | ︙ | |||
109 110 111 112 113 114 115 116 117 118 119 120 | if sVerb not in _dVerb: return None return _lTags[_dVerb[sVerb][1]] def _getConjWithTags (sVerb, tTags, sTense, sWho): "returns conjugation (can be an empty string)" return _modifyStringWithSuffixCode(sVerb, _dPatternConj[sTense][tTags[_dTenseIdx[sTense]]].get(sWho, "")) def _hasConjWithTags (tTags, sTense, sWho): "returns False if no conjugation (also if empty) else True" | > > | | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | if sVerb not in _dVerb: return None return _lTags[_dVerb[sVerb][1]] def _getConjWithTags (sVerb, tTags, sTense, sWho): "returns conjugation (can be an empty string)" if sTense == ":Y": return sVerb return _modifyStringWithSuffixCode(sVerb, _dPatternConj[sTense][tTags[_dTenseIdx[sTense]]].get(sWho, "")) def _hasConjWithTags (tTags, sTense, sWho): "returns False if no conjugation (also if empty) else True" if sTense == ":Y" or _dPatternConj[sTense][tTags[_dTenseIdx[sTense]]].get(sWho, False): return True return False def _modifyStringWithSuffixCode (sWord, sSfx): "returns sWord modified by sSfx" if not sSfx: |
︙ | ︙ |
Modified gc_lang/fr/modules/gce_suggestions.py from [2cb060c852] to [26290c5dd1].
︙ | ︙ | |||
125 126 127 128 129 130 131 | return "" def suggVerbFrom (sStem, sFlex, sWho=""): "conjugate <sStem> according to <sFlex> (and eventually <sWho>)" dSugg = {} for sMorph in _oSpellChecker.getMorph(sFlex): | | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | return "" def suggVerbFrom (sStem, sFlex, sWho=""): "conjugate <sStem> according to <sFlex> (and eventually <sWho>)" dSugg = {} for sMorph in _oSpellChecker.getMorph(sFlex): lTenses = [ m.group(0) for m in re.finditer(":(?:Y|I[pqsf]|S[pq]|K|P)", sMorph) ] if sWho: for sTense in lTenses: if conj.hasConj(sStem, sTense, sWho): dSugg[conj.getConj(sStem, sTense, sWho)] = "" else: for sTense in lTenses: for sWho in [ m.group(0) for m in re.finditer(":[123][sp]", sMorph) ]: |
︙ | ︙ |
Modified gc_lang/fr/rules.grx from [0577c93aa0] to [c8824c64d1].
︙ | ︙ | |||
7093 7094 7095 7096 7097 7098 7099 | >avérer >vrai <<- /pleo/ -2>> =\2.replace("vrai", "exact") && Pléonasme. >descendre en bas <<- /pleo/ not value(>1, "|de|des|du|d’|") ->> \1 && Pléonasme. >choisir [le|un|ce|quel|mon|ton|son|notre|votre|leur] choix | | | | 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 | >avérer >vrai <<- /pleo/ -2>> =\2.replace("vrai", "exact") && Pléonasme. >descendre en bas <<- /pleo/ not value(>1, "|de|des|du|d’|") ->> \1 && Pléonasme. >choisir [le|un|ce|quel|mon|ton|son|notre|votre|leur] choix <<- /pleo/ -1>> =suggVerbFrom("faire", \1) && Pléonasme. [>efforcer|>essayer|>tâcher] de faire en sorte [de|d’] <<- /pleo/ ->> \1 \-1 && Pléonasme. >monter en haut <<- /pleo/ not value(>1, "|de|des|du|d’|") ->> \1 && Pléonasme. >opter pour [l’|une|cette|quelle] option <<- /pleo/ -1:2>> =suggVerbFrom("choisir", \1) && Pléonasme. >sortir hors [de|d’] <<- /pleo/ -2:3>> \3 && Pléonasme. Exemple : « sortir de la maison », et non « sortir hors de la maison ». >suivre derrière <<- not morph(>1, ":D") ->> \1 && Pléonasme. |
︙ | ︙ |