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 @@ -255,15 +255,24 @@ } 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.slice(-1).gl_isLowerCase()) { + if (_oSpellChecker.isValid(sFlex+"s")) { + aSugg.add(sFlex+"s"); + } + if (_oSpellChecker.isValid(sFlex+"x")) { + aSugg.add(sFlex+"x"); + } + } else { + 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 && bSelfSugg && (sFlex.endsWith("s") || sFlex.endsWith("x") || sFlex.endsWith("S") || sFlex.endsWith("X"))) { Index: gc_lang/fr/modules/gce_suggestions.py ================================================================== --- gc_lang/fr/modules/gce_suggestions.py +++ gc_lang/fr/modules/gce_suggestions.py @@ -192,14 +192,20 @@ 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[-1:].islower(): + if _oSpellChecker.isValid(sFlex+"s"): + aSugg.add(sFlex+"s") + if _oSpellChecker.isValid(sFlex+"x"): + aSugg.add(sFlex+"x") + else: + 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 not aSugg and bSelfSugg and sFlex.endswith(("s", "x", "S", "X")): aSugg.add(sFlex) aSugg.discard("")