Index: gc_lang/fr/modules-js/gce_analyseur.js ================================================================== --- gc_lang/fr/modules-js/gce_analyseur.js +++ gc_lang/fr/modules-js/gce_analyseur.js @@ -56,5 +56,22 @@ if (s.length > 1 && s.length < 16 && s.slice(0, 1).gl_isLowerCase() && (!s.slice(1).gl_isLowerCase() || /[0-9]/.test(s))) { return true; } return false; } + +function queryNamesPOS (sWord1, sWord2) { + let lMorph1 = _oSpellChecker.getMorph(sWord1); + let lMorph2 = _oSpellChecker.getMorph(sWord2); + if (lMorph1.length == 0 || lMorph2.length == 0) { + return ":N:e:p"; + } + let sGender1 = cregex.getGender(lMorph1); + let sGender2 = cregex.getGender(lMorph2); + if (sGender1 == ":m" || sGender2 == ":m") { + return ":N:m:p"; + } + if (sGender1 == ":f" || sGender2 == ":f") { + return ":N:f:p"; + } + return ":N:e:p"; +} Index: gc_lang/fr/modules/gce_analyseur.py ================================================================== --- gc_lang/fr/modules/gce_analyseur.py +++ gc_lang/fr/modules/gce_analyseur.py @@ -51,5 +51,18 @@ if _zUnitSpecial.search(s): return True if 1 < len(s) < 16 and s[0:1].islower() and (not s[1:].islower() or _zUnitNumbers.search(s)): return True return False + +def queryNamesPOS(sWord1, sWord2): + lMorph1 = _oSpellChecker.getMorph(sWord1) + lMorph2 = _oSpellChecker.getMorph(sWord2) + if not lMorph1 or not lMorph2: + return ":N:e:p" + sGender1 = cr.getGender(lMorph1) + sGender2 = cr.getGender(lMorph2) + if sGender1 == ":m" or sGender2 == ":m": + return ":N:m:p" + if sGender1 == ":f" or sGender2 == ":f": + return ":N:f:p" + return ":N:e:p" Index: gc_lang/fr/modules/gce_suggestions.py ================================================================== --- gc_lang/fr/modules/gce_suggestions.py +++ gc_lang/fr/modules/gce_suggestions.py @@ -537,19 +537,5 @@ def normalizeInclusiveWriting (sToken): "typography: replace word separators used in inclusive writing by underscore (_)" return sToken.translate(_xNormalizedCharsForInclusiveWriting) - - -def queryNamesPOS(sWord1, sWord2): - lMorph1 = _oSpellChecker.getMorph(sWord1) - lMorph2 = _oSpellChecker.getMorph(sWord2) - if not lMorph1 or not lMorph2: - return ":N:e:p" - sGender1 = cr.getGender(lMorph1) - sGender2 = cr.getGender(lMorph2) - if sGender1 == ":m" or sGender2 == ":m": - return ":N:m:p" - if sGender1 == ":f" or sGender2 == ":f": - return ":N:f:p" - return ":N:e:p"