From 65fe02aa76342e7377bf7c07b95927e41b9095ec Mon Sep 17 00:00:00 2001 From: Nikos Kalogridis Date: Fri, 18 Jan 2019 09:53:12 +0200 Subject: [PATCH] add Greek language support --- src/DateFormat/Language.elm | 108 +++++++++++++++++++++++++++++++++++- 1 file changed, 105 insertions(+), 3 deletions(-) diff --git a/src/DateFormat/Language.elm b/src/DateFormat/Language.elm index a89e6bb..2bb05b7 100644 --- a/src/DateFormat/Language.elm +++ b/src/DateFormat/Language.elm @@ -1,6 +1,6 @@ module DateFormat.Language exposing ( Language - , english, spanish, dutch, swedish, portuguese + , english, spanish, dutch, swedish, portuguese, greek ) {-| @@ -12,7 +12,7 @@ That's why it's important to include alternative date formatting options for oth This module exposes `Language`, along with a few implementations. -(If you want to see `french`, `german`, or `greek`, please add them in! I'm happy to make your language a part of the package!) +(If you want to see `french`, `german`, please add them in! I'm happy to make your language a part of the package!) ### Language @@ -22,7 +22,7 @@ This module exposes `Language`, along with a few implementations. ### Languages -@docs english, spanish, dutch, swedish, portuguese +@docs english, spanish, dutch, swedish, portuguese, greek -} @@ -494,3 +494,105 @@ toPortugueseWeekdayName weekday = Sun -> "Domingo" + + + +-- Greek + + +toGreekMonthName : Month -> String +toGreekMonthName month = + case month of + Jan -> + "Ιανουαρίου" + + Feb -> + "Φεβρουαρίου" + + Mar -> + "Μαρτίου" + + Apr -> + "Απριλίου" + + May -> + "Μαΐου" + + Jun -> + "Ιουνίου" + + Jul -> + "Ιουλίου" + + Aug -> + "Αυγούστου" + + Sep -> + "Σεπτεμβρίου" + + Oct -> + "Οκτωβρίου" + + Nov -> + "Νοεμβρίου" + + Dec -> + "Δεκεμβρίου" + + +toGreekWeekdayName : Weekday -> String +toGreekWeekdayName weekday = + case weekday of + Mon -> + "Δευτέρα" + + Tue -> + "Τρίτη" + + Wed -> + "Τετάρτη" + + Thu -> + "Πέμπτη" + + Fri -> + "Παρασκευή" + + Sat -> + "Σάββατο" + + Sun -> + "Κυριακή" + + +toGreekAmPm : Int -> String +toGreekAmPm hour = + if hour > 11 then + "μμ" + + else + "πμ" + + +toGreekSuffix : Int -> String +toGreekSuffix num = + "η" + + +{-| The greek language! +-} +greek : Language +greek = + Language + toGreekMonthName + (\month -> + if List.member month [ Jun, Jul ] then + (toGreekMonthName >> String.left 4) month + + else + (toGreekMonthName >> String.left 3) month + ) + toGreekWeekdayName + (toGreekWeekdayName >> String.left 3) + toGreekAmPm + toGreekSuffix