diff --git a/wikidict/lang/fr/template_handlers.py b/wikidict/lang/fr/template_handlers.py index 381ea52d7..f63003ec1 100644 --- a/wikidict/lang/fr/template_handlers.py +++ b/wikidict/lang/fr/template_handlers.py @@ -338,7 +338,7 @@ def render_compose_de(tpl: str, parts: List[str], data: Dict[str, str]) -> str: >>> render_compose_de("composé de", ["faire", "boutique", "cul"], defaultdict(str, {"m": "1", "lang": "fr"})) 'Composé de faire, boutique et cul' >>> render_compose_de("composé de", ["arthro-", "-logie"], defaultdict(str, {"lang": "fr", "m": "oui"})) - 'Composé de arthro- et de -logie' + 'Dérivé du préfixe arthro-, avec le suffixe -logie' >>> render_compose_de("composé de", ["morin", "morine", "-elle"], defaultdict(str, {"lang": "fr", "m": "1"})) 'Composé de morin, morine et -elle' >>> render_compose_de("composé de", ["bi-", "mensis"], defaultdict(str, {"lang": "fr", "sens1": "deux", "sens2":"mois"})) @@ -373,7 +373,7 @@ def render_compose_de(tpl: str, parts: List[str], data: Dict[str, str]) -> str: b4 = "1" if len(parts) > 3 else "0" b = b1 + b2 + b3 + b4 - is_derived = b in ["1000", "0100", "1020"] + is_derived = b in ["1000", "0100", "1020", "1100"] if is_derived: # Dérivé @@ -417,6 +417,10 @@ def render_compose_de(tpl: str, parts: List[str], data: Dict[str, str]) -> str: phrase += " et le suffixe " + word_tr_sens( parts[2], data.get("tr3", ""), data.get("sens3", "") ) + elif b == "1100": + phrase += f' du préfixe {word_tr_sens(parts[0], data.get("tr1", ""), data.get("sens1", "") )},' + phrase += f' avec le suffixe {word_tr_sens(parts[1], data.get("tr2", ""), data.get("sens2", ""))}' + if data["sens"]: phrase += f", littéralement « {data['sens']} »" return phrase