Merge pull request #2001 from gras64/dev

German New day formaters update and join_list support for and/or
pull/2014/head
Åke 2019-02-19 08:39:27 +01:00 committed by GitHub
commit 765a2830ef
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 202 additions and 1 deletions

View File

@ -0,0 +1 @@
und

View File

@ -0,0 +1,136 @@
{
"decade_format": {
"1": {"match": "^\\d$", "format": "{x}"},
"2": {"match": "^1\\d$", "format": "{xx}"},
"3": {"match": "^\\d0$", "format": "{x0}"},
"4": {"match": "^[2-9]\\d$", "format": "{x} und {x0}"},
"default": "{number}"
},
"hundreds_format": {
"1": {"match": "^1\\d{2}$", "format": "hundert"},
"2": {"match": "^\\d{3}$", "format": "{x_in_x00} hundert"},
"default": "{number}"
},
"thousand_format": {
"1": {"match": "^10\\d\\d$", "format": "tausend"},
"2": {"match": "^\\d0\\d{2}$", "format": "{x_in_x000} tausend"},
"3": {"match": "^1\\d00$", "format": "{xx_in_xx00} hundert"},
"4": {"match": "^\\d{2}00$", "format": "{x_in_x000} tausend {x_in_x00} hundert"},
"5": {"match": "^\\d0\\d\\d$", "format": "{x_in_x000} tausend"},
"6": {"match": "^1\\d{3}$", "format": "{xx_in_xx00}"},
"7": {"match": "^\\d{4}$", "format": "{x_in_x000} tausend {x_in_x00} hundert"},
"default": "{number}"
},
"year_format": {
"1": {"match": "^1$", "format": "eins {bc}"},
"2": {"match": "^\\d{1}?$", "format": "{formatted_decade} {bc}"},
"3": {"match": "^\\d{2}?$", "format": "{formatted_decade} {bc}"},
"4": {"match": "^\\d00$", "format": "{formatted_hundreds} {bc}"},
"5": {"match": "^\\d{3}$", "format": "{formatted_hundreds} {formatted_decade} {bc}"},
"6": {"match": "^\\d{2}00$", "format": "{formatted_thousand} {bc}"},
"7": {"match": "^\\d00\\d$", "format": "{formatted_thousand} {formatted_decade} {bc}"},
"8": {"match": "^\\d{2}0\\d$", "format": "{formatted_thousand} hundert {formatted_decade} {bc}"},
"9": {"match": "^1[2-9]\\d{2}$", "format": "{formatted_thousand} hundert {formatted_decade} {bc}"},
"10": {"match": "^1\\d{3}$", "format": "{formatted_thousand} {formatted_decade} {bc}"},
"11": {"match": "^\\d{4}$", "format": "{formatted_thousand} {formatted_decade} {bc}"},
"default": "{year} {bc}",
"bc": "v.d.Z."
},
"date_format": {
"date_full": "{weekday}, {day} {month}, {formatted_year}",
"date_full_no_year": "{weekday}, {day} {month}",
"date_full_no_year_month": "{weekday}, {day}",
"today": "heute",
"tomorrow": "morgen",
"yesterday": "gestern"
},
"date_time_format": {
"date_time": "{formatted_date} um {formatted_time}"
},
"weekday": {
"0": "Montag",
"1": "Dienstag",
"2": "Mittwoch",
"3": "Donnerstag",
"4": "Freitag",
"5": "Samstag",
"6": "Sonntag"
},
"date": {
"1": "erster",
"2": "zweiter",
"3": "dritter",
"4": "vierter",
"5": "fünfter",
"6": "sechster",
"7": "siebter",
"8": "achter",
"9": "neunter",
"10": "zehnter",
"11": "elfter",
"12": "zwölfter",
"13": "dreizehnter",
"14": "vierzehnter",
"15": "fünfzehnter",
"16": "sechzehnter",
"17": "siebzehnter",
"18": "achzehnter",
"19": "neunzehnter",
"20": "zwanzigster",
"21": "einundzwanzigster",
"22": "zweiundzwanzigster",
"23": "dreiundzwanzigster",
"24": "vierundzwanzigster",
"25": "fünfundzwanzigster",
"26": "sechsundzwanzigster",
"27": "siebenundzwanzigster",
"28": "achtundzwanzigster",
"29": "neunundzwnzigster",
"30": "dreißigster",
"31": "einunddreißigster"
},
"month": {
"1": "Januar",
"2": "Februar",
"3": "März",
"4": "Aprill",
"5": "May",
"6": "Juni",
"7": "Juli",
"8": "August",
"9": "September",
"10": "Oktober",
"11": "November",
"12": "Dezember"
},
"number": {
"0": "null",
"1": "ein",
"2": "zwei",
"3": "drei",
"4": "vier",
"5": "fünf",
"6": "sechs",
"7": "sieben",
"8": "acht",
"9": "neun",
"10": "zehn",
"11": "elf",
"12": "zwölf",
"13": "dreizehn",
"14": "vierzehn",
"15": "fünfzehn",
"16": "sechzehn",
"17": "siebzehn",
"18": "achzehn",
"19": "neunzehn",
"20": "zwanzig",
"30": "dreißig",
"40": "vierzig",
"50": "fünfzig",
"60": "sechzig",
"70": "siebzig",
"80": "achzig",
"90": "neunzig"
}
}

View File

@ -0,0 +1,43 @@
{
"test_nice_year": {
"1": {"datetime_param": "1, 1, 31, 13, 22, 3", "bc": "True", "assertEqual": "eins v.d.Z." },
"2": {"datetime_param": "10, 1, 31, 13, 22, 3", "bc": "True", "assertEqual": "zehn v.d.Z." },
"3": {"datetime_param": "92, 1, 31, 13, 22, 3", "bc": "True", "assertEqual": "zwei und neunzig v.d.Z." },
"4": {"datetime_param": "803, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "acht hundert drei" },
"5": {"datetime_param": "811, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "acht hundert elf" },
"6": {"datetime_param": "454, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "vier hundert vier und fünfzig" },
"7": {"datetime_param": "1005, 1, 31, 13, 22, 3", "bc": "False", "assertEqual": "tausend fünf" },
"8": {"datetime_param": "1012, 1, 31, 13, 22, 3", "bc": "False", "assertEqual": "tausend zwölf" },
"9": {"datetime_param": "1046, 1, 31, 13, 22, 3", "bc": "False", "assertEqual": "tausend sechs und vierzig" },
"10": {"datetime_param": "1807, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "achzehn hundert sieben" },
"11": {"datetime_param": "1717, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "siebzehn hundert siebzehn" },
"12": {"datetime_param": "1988, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "neunzehn hundert acht und achzig"},
"13": {"datetime_param": "2009, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "zwei tausend neun"},
"14": {"datetime_param": "2018, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "zwei tausend achzehn"},
"15": {"datetime_param": "2021, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "zwei tausend ein und zwanzig"},
"16": {"datetime_param": "2030, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "zwei tausend dreißig"},
"17": {"datetime_param": "2100, 1, 31, 13, 22, 3", "bc": "False", "assertEqual": "zwei tausend ein hundert" },
"18": {"datetime_param": "1000, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "tausend" },
"19": {"datetime_param": "2000, 1, 31, 13, 22, 3", "bc": "None", "assertEqual": "zwei tausend" },
"20": {"datetime_param": "3120, 1, 31, 13, 22, 3", "bc": "True", "assertEqual": "drei tausend ein hundert zwanzig v.d.Z." },
"21": {"datetime_param": "3241, 1, 31, 13, 22, 3", "bc": "True", "assertEqual": "drei tausend zwei hundert ein und vierzig v.d.Z." },
"22": {"datetime_param": "5200, 1, 31, 13, 22, 3", "bc": "False", "assertEqual": "fünf tausend zwei hundert" },
"23": {"datetime_param": "1100, 1, 31, 13, 22, 3", "bc": "False", "assertEqual": "elf hundert" },
"24": {"datetime_param": "2100, 1, 31, 13, 22, 3", "bc": "False", "assertEqual": "zwei tausend ein hundert" }
},
"test_nice_date": {
"1": {"datetime_param": "2017, 1, 31, 0, 2, 3", "now": "None", "assertEqual": "Dienstag, einunddreißigster Januar, zwei tausend siebzehn"},
"2": {"datetime_param": "2018, 2, 4, 0, 2, 3", "now": "2017, 1, 1, 0, 2, 3", "assertEqual": "Sonntag, vierter Februar, zwei tausend achzehn"},
"3": {"datetime_param": "2018, 2, 4, 0, 2, 3", "now": "2018, 1, 1, 0, 2, 3", "assertEqual": "Sonntag, vierter Februar"},
"4": {"datetime_param": "2018, 2, 4, 0, 2, 3", "now": "2018, 2, 1, 0, 2, 3", "assertEqual": "Sonntag, vierter"},
"5": {"datetime_param": "2018, 2, 4, 0, 2, 3", "now": "2018, 2, 3, 0, 2, 3", "assertEqual": "morgen"},
"6": {"datetime_param": "2018, 2, 4, 0, 2, 3", "now": "2018, 2, 4, 0, 2, 3", "assertEqual": "heute"},
"7": {"datetime_param": "2018, 2, 4, 0, 2, 3", "now": "2018, 2, 5, 0, 2, 3", "assertEqual": "gestern"},
"8": {"datetime_param": "2018, 2, 4, 0, 2, 3", "now": "2018, 2, 6, 0, 2, 3", "assertEqual": "Sonntag, vierter Februar"},
"9": {"datetime_param": "2018, 2, 4, 0, 2, 3", "now": "2019, 2, 6, 0, 2, 3", "assertEqual": "Sonntag, vierter Februar, zwei tausend achzehn"}
},
"test_nice_date_time": {
"1": {"datetime_param": "2017, 1, 31, 13, 22, 3", "now": "None", "use_24hour": "False", "use_ampm": "True", "assertEqual": "Dienstag, einunddreißigster Januar, zwei tausend siebzehn um ein Uhr zweiundzwanzig nachmittags"},
"2": {"datetime_param": "2017, 1, 31, 13, 22, 3", "now": "None", "use_24hour": "True", "use_ampm": "False", "assertEqual": "Dienstag, einunddreißigster Januar, zwei tausend siebzehn um dreizehn Uhr zweiundzwanzig"}
}
}

View File

@ -0,0 +1 @@
Tag

View File

@ -0,0 +1 @@
Tage

View File

@ -0,0 +1 @@
Stunde

View File

@ -0,0 +1 @@
Stunden

View File

@ -0,0 +1 @@
Minute

View File

@ -0,0 +1 @@
Minuten

View File

@ -0,0 +1 @@
oder

View File

@ -0,0 +1 @@
Sekunde

View File

@ -0,0 +1 @@
Sekunden

View File

@ -126,4 +126,4 @@
"80": "eighty",
"90": "ninety"
}
}
}

View File

@ -22,6 +22,8 @@ from mycroft.util.format import nice_time
from mycroft.util.format import pronounce_number
from mycroft.util.lang.format_de import nice_response_de
from mycroft.util.lang.format_de import pronounce_ordinal_de
from mycroft.util.format import join_list
# fractions are not capitalized for now
NUMBERS_FIXTURE_DE = {
@ -370,5 +372,15 @@ class TestNiceDateFormat_de(unittest.TestCase):
u"fünf Uhr dreißig morgens")
class TestJoinList_de(unittest.TestCase):
def test_join_list_de(self):
self.assertEqual(join_list(['Hallo', 'Auf wieder Sehen'], 'and',
lang='de-de'),
'Hallo und Auf wieder Sehen')
self.assertEqual(join_list(['A', 'B', 'C'], 'or', lang='de-de'),
'A, B oder C')
if __name__ == "__main__":
unittest.main()