diff --git a/src/main/java/pl/allegro/finance/tradukisto/internal/languages/french/FrenchValues.java b/src/main/java/pl/allegro/finance/tradukisto/internal/languages/french/FrenchValues.java index 411303a1..3f525221 100644 --- a/src/main/java/pl/allegro/finance/tradukisto/internal/languages/french/FrenchValues.java +++ b/src/main/java/pl/allegro/finance/tradukisto/internal/languages/french/FrenchValues.java @@ -39,10 +39,15 @@ public Map baseNumbers() { .put(18, "dix-huit") .put(19, "dix-neuf") .put(20, "vingt") + .put(21, "vingt-et-un") .put(30, "trente") + .put(31, "trente-et-un") .put(40, "quarante") + .put(41, "quarante-et-un") .put(50, "cinquante") + .put(51, "cinquante-et-un") .put(60, "soixante") + .put(61, "soixante-et-un") .put(70, "soixante-dix") .put(71, "soixante-et-onze") .put(72, "soixante-douze") @@ -107,7 +112,16 @@ public char twoDigitsNumberSeparator() { } public Map exceptions() { - return ImmutableMap.builder().put(1000, "mille").build(); + return ImmutableMap.builder() + .put(200, "deux cents") + .put(300, "trois cents") + .put(400, "quatre cents") + .put(500, "cinq cents") + .put(600, "six cents") + .put(700, "sept cents") + .put(800, "huit cents") + .put(900, "neuf cents") + .put(1000, "mille").build(); } } diff --git a/src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/french/FrenchValuesTest.groovy b/src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/french/FrenchValuesTest.groovy index cdf6aac6..42ff18ed 100644 --- a/src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/french/FrenchValuesTest.groovy +++ b/src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/french/FrenchValuesTest.groovy @@ -47,24 +47,30 @@ class FrenchValuesTest extends Specification { 80 | "quatre-vingts" 90 | "quatre-vingt-dix" - 21 | "vingt-un" + 21 | "vingt-et-un" + 22 | "vingt-deux" + 31 | "trente-et-un" + 32 | "trente-deux" 37 | "trente-sept" + 41 | "quarante-et-un" 43 | "quarante-trois" + 51 | "cinquante-et-un" 58 | "cinquante-huit" + 61 | "soixante-et-un" 69 | "soixante-neuf" 76 | "soixante-seize" 82 | "quatre-vingt-deux" 95 | "quatre-vingt-quinze" 100 | "cent" - 200 | "deux cent" - 300 | "trois cent" - 400 | "quatre cent" - 500 | "cinq cent" - 600 | "six cent" - 700 | "sept cent" - 800 | "huit cent" - 900 | "neuf cent" + 200 | "deux cents" + 300 | "trois cents" + 400 | "quatre cents" + 500 | "cinq cents" + 600 | "six cents" + 700 | "sept cents" + 800 | "huit cents" + 900 | "neuf cents" 111 | "cent onze" 272 | "deux cent soixante-douze" @@ -84,11 +90,11 @@ class FrenchValuesTest extends Specification { 7_634 | "sept mille six cent trente-quatre" 11_000 | "onze mille" 15_000 | "quinze mille" - 21_000 | "vingt-un mille" + 21_000 | "vingt-et-un mille" 24_190 | "vingt-quatre mille cent quatre-vingt-dix" 653_000 | "six cent cinquante-trois mille" 123_454 | "cent vingt-trois mille quatre cent cinquante-quatre" - 700_000 | "sept cent mille" + 700_000 | "sept cents mille" 999_999 | "neuf cent quatre-vingt-dix-neuf mille neuf cent quatre-vingt-dix-neuf" 1_000_000 | "un million"