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.
|
| ︙ | ︙ |