Index: gc_lang/fr/modules-js/gce_suggestions.js ================================================================== --- gc_lang/fr/modules-js/gce_suggestions.js +++ gc_lang/fr/modules-js/gce_suggestions.js @@ -239,25 +239,23 @@ } else if (sGender == ":f") { return suggFemPlur(sFlex); } } let aSugg = new Set(); - if (!sFlex.includes("-")) { - if (sFlex.endsWith("l")) { - if (sFlex.endsWith("al") && sFlex.length > 2 && _oSpellChecker.isValid(sFlex.slice(0,-1)+"ux")) { - aSugg.add(sFlex.slice(0,-1)+"ux"); - } - if (sFlex.endsWith("ail") && sFlex.length > 3 && _oSpellChecker.isValid(sFlex.slice(0,-2)+"ux")) { - aSugg.add(sFlex.slice(0,-2)+"ux"); - } - } - if (_oSpellChecker.isValid(sFlex+"s")) { - aSugg.add(sFlex+"s"); - } - if (_oSpellChecker.isValid(sFlex+"x")) { - aSugg.add(sFlex+"x"); - } + if (sFlex.endsWith("l")) { + if (sFlex.endsWith("al") && sFlex.length > 2 && _oSpellChecker.isValid(sFlex.slice(0,-1)+"ux")) { + aSugg.add(sFlex.slice(0,-1)+"ux"); + } + if (sFlex.endsWith("ail") && sFlex.length > 3 && _oSpellChecker.isValid(sFlex.slice(0,-2)+"ux")) { + aSugg.add(sFlex.slice(0,-2)+"ux"); + } + } + if (_oSpellChecker.isValid(sFlex+"s")) { + aSugg.add(sFlex+"s"); + } + if (_oSpellChecker.isValid(sFlex+"x")) { + aSugg.add(sFlex+"x"); } if (mfsp.hasMiscPlural(sFlex)) { mfsp.getMiscPlural(sFlex).forEach(function(x) { aSugg.add(x); }); } if (aSugg.size > 0) { @@ -266,13 +264,10 @@ return ""; } function suggSing (sFlex) { // returns singular forms assuming sFlex is plural - if (sFlex.includes("-")) { - return ""; - } let aSugg = new Set(); if (sFlex.endsWith("ux")) { if (_oSpellChecker.isValid(sFlex.slice(0,-2)+"l")) { aSugg.add(sFlex.slice(0,-2)+"l"); } Index: gc_lang/fr/modules/gce_suggestions.py ================================================================== --- gc_lang/fr/modules/gce_suggestions.py +++ gc_lang/fr/modules/gce_suggestions.py @@ -182,31 +182,28 @@ if sGender == ":m": return suggMasPlur(sFlex) if sGender == ":f": return suggFemPlur(sFlex) aSugg = set() - if "-" not in sFlex: - if sFlex.endswith("l"): - if sFlex.endswith("al") and len(sFlex) > 2 and _oSpellChecker.isValid(sFlex[:-1]+"ux"): - aSugg.add(sFlex[:-1]+"ux") - if sFlex.endswith("ail") and len(sFlex) > 3 and _oSpellChecker.isValid(sFlex[:-2]+"ux"): - aSugg.add(sFlex[:-2]+"ux") - if _oSpellChecker.isValid(sFlex+"s"): - aSugg.add(sFlex+"s") - if _oSpellChecker.isValid(sFlex+"x"): - aSugg.add(sFlex+"x") + if sFlex.endswith("l"): + if sFlex.endswith("al") and len(sFlex) > 2 and _oSpellChecker.isValid(sFlex[:-1]+"ux"): + aSugg.add(sFlex[:-1]+"ux") + if sFlex.endswith("ail") and len(sFlex) > 3 and _oSpellChecker.isValid(sFlex[:-2]+"ux"): + aSugg.add(sFlex[:-2]+"ux") + if _oSpellChecker.isValid(sFlex+"s"): + aSugg.add(sFlex+"s") + if _oSpellChecker.isValid(sFlex+"x"): + aSugg.add(sFlex+"x") if mfsp.hasMiscPlural(sFlex): aSugg.update(mfsp.getMiscPlural(sFlex)) if aSugg: return "|".join(aSugg) return "" def suggSing (sFlex): "returns singular forms assuming sFlex is plural" - if "-" in sFlex: - return "" aSugg = set() if sFlex.endswith("ux"): if _oSpellChecker.isValid(sFlex[:-2]+"l"): aSugg.add(sFlex[:-2]+"l") if _oSpellChecker.isValid(sFlex[:-2]+"il"):