From 4422017cc3dde37606c9ce82d540f996e85310c0 Mon Sep 17 00:00:00 2001 From: lasconic Date: Wed, 25 Nov 2020 10:56:16 +0100 Subject: [PATCH] =?UTF-8?q?fix=20#354:=20[FR]=20Support=20for=20e/=C3=A8me?= =?UTF-8?q?/er/=C3=A8re=20templates?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/fr/__init__.py | 15 +++++++++++++-- tests/test_fr.py | 7 +++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/scripts/lang/fr/__init__.py b/scripts/lang/fr/__init__.py index 8b217731c..239d594dd 100644 --- a/scripts/lang/fr/__init__.py +++ b/scripts/lang/fr/__init__.py @@ -448,6 +448,9 @@ # Un documentation des fonctions disponibles se trouve dans le fichier HTML suivant : # html/scripts/user_functions.html templates_multi = { + # {{1er}} + # {{1er|mai}} + "1er": "f\"1{superscript('er')}{' ' + parts[1] if len(parts) > 1 else ''}\"", # {{comparatif de|bien|fr|adv}} "comparatif de": "sentence(parts)", # {{cf}} @@ -472,10 +475,14 @@ # XIX{{e}} # {{e|-1}} "e": "superscript(parts[1] if len(parts) > 1 else 'e')", + # XIX{{ème}} + "ème": "superscript(parts[1] if len(parts) > 1 else 'e')", + # {{er}} + "er": "superscript(parts[1] if len(parts) > 1 else 'er')", + # {{ère}} + "ère": "superscript(parts[1] if len(parts) > 1 else 'ère')", # XIV{{exp|e}} "exp": "superscript(parts[1] if len(parts) > 1 else 'e')", - # {{er}} - "er": "superscript('er')", # {{emploi|au passif}} "emploi": "term(capitalize(parts[1]))", # {{#expr: 2 ^ 30}} @@ -511,6 +518,10 @@ "nom w pc": "person(word, parts[1:])", # {{nombre romain|12}} "nombre romain": "int_to_roman(int(parts[1]))", + # {{numéro}} + "numéro": "f\"n{superscript('o')}\"", + # {{o}} + "o": "superscript('o')", # {{petites capitales|Dupont}} "petites capitales": "small_caps(parts[1])", # {{pc|Dupont}} diff --git a/tests/test_fr.py b/tests/test_fr.py index 13b79c762..c14c84eaf 100644 --- a/tests/test_fr.py +++ b/tests/test_fr.py @@ -364,6 +364,8 @@ def test_parse_word( @pytest.mark.parametrize( "wikicode, expected", [ + ("{{1er}}", "1er"), + ("{{1er|mai}}", "1er mai"), ("{{adj-indéf-avec-de}}", "(Avec de)"), ("{{ancre|sens_sexe}}", ""), ("{{emploi|au passif}}", "(Au passif)"), @@ -383,6 +385,9 @@ def test_parse_word( ("{{diminutif|fr|de=balle}}", "diminutif"), ("{{diminutif|fr|m=1}}", "Diminutif"), ("du XX{{e}} siècle", "du XXe siècle"), + ("M{{e|me}}", "Mme"), + ("du XX{{ème}} siècle", "du XXe siècle"), + ("le 1{{er}}", "le 1er"), ( "{{étyl|grc|fr|mot=ἄκρος|tr=akros|sens=extrémité}}", "grec ancien ἄκρος, akros (« extrémité »)", @@ -418,6 +423,8 @@ def test_parse_word( ("{{région|Lorraine et Dauphiné}}", "(Lorraine et Dauphiné)"), ("{{régionalisme}}", "(Régionalisme)"), ("{{régionalisme|Bretagne|fr}}", "(Bretagne)"), + ("{{numéro}}", "no"), + ("{{o}}", "o"), ("{{pron|zjø|fr}}", "\\zjø\\"), ("{{pron-API|/j/}}", "/j/"), ("{{recons|lang-mot-vedette=fr|sporo|lang=frk|sc=Latn}}", "*sporo"),