From 0fe906ae7453aa684e998bbcc7a78b62d84f0206 Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Sun, 6 Apr 2014 22:55:16 +0200 Subject: Show resume and projects from a configuration file --- src/Model/Translation/Key.hs | 28 ++++++++++++ src/Model/Translation/Language.hs | 12 ++++++ src/Model/Translation/Message.hs | 90 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 130 insertions(+) create mode 100644 src/Model/Translation/Key.hs create mode 100644 src/Model/Translation/Language.hs create mode 100644 src/Model/Translation/Message.hs (limited to 'src/Model/Translation') diff --git a/src/Model/Translation/Key.hs b/src/Model/Translation/Key.hs new file mode 100644 index 0000000..43381fb --- /dev/null +++ b/src/Model/Translation/Key.hs @@ -0,0 +1,28 @@ +module Model.Translation.Key + ( Key(..) + ) where + +data Key = + + Home + | Resume + | Projects + | Contact + + | Experience + | EducationalBackground + | Skills + | Interests + + | Since + | From + | To + | And + + | Month Int + | MonthText Int + | YearText Int + + | TryIt + + | PageNotFound diff --git a/src/Model/Translation/Language.hs b/src/Model/Translation/Language.hs new file mode 100644 index 0000000..a8f5eb9 --- /dev/null +++ b/src/Model/Translation/Language.hs @@ -0,0 +1,12 @@ +module Model.Translation.Language + ( Language(..) + , languages + ) where + +data Language = + English + | French + deriving (Show, Read, Eq, Enum, Bounded) + +languages :: [Language] +languages = [minBound..] diff --git a/src/Model/Translation/Message.hs b/src/Model/Translation/Message.hs new file mode 100644 index 0000000..c9e0fcb --- /dev/null +++ b/src/Model/Translation/Message.hs @@ -0,0 +1,90 @@ +module Model.Translation.Message + ( getMessage + ) where + +import Model.Translation.Language +import Model.Translation.Key + +getMessage :: Key -> Language -> String + +getMessage Home English = "home" +getMessage Home French = "accueil" + +getMessage Resume English = "resume" +getMessage Resume French = "curriculum" + +getMessage Projects English = "projects" +getMessage Projects French = "projets" + +getMessage Contact English = "contact" +getMessage Contact French = "contact" + +getMessage Experience English = "experience" +getMessage Experience French = "expérience" + +getMessage EducationalBackground English = "educational background" +getMessage EducationalBackground French = "études" + +getMessage Skills English = "skills" +getMessage Skills French = "compétences" + +getMessage Interests English = "interests" +getMessage Interests French = "intérêts" + +getMessage Since English = "since" +getMessage Since French = "depuis" + +getMessage From English = "from" +getMessage From French = "de" + +getMessage To English = "to" +getMessage To French = "à" + +getMessage And English = "and" +getMessage And French = "et" + +getMessage (Month m) English = + case m of + 1 -> "january" + 2 -> "february" + 3 -> "march" + 4 -> "april" + 5 -> "may" + 6 -> "june" + 7 -> "july" + 8 -> "august" + 9 -> "september" + 10 -> "october" + 11 -> "november" + 12 -> "december" + _ -> "" +getMessage (Month m) French = + case m of + 1 -> "janvier" + 2 -> "février" + 3 -> "mars" + 4 -> "avril" + 5 -> "mai" + 6 -> "juin" + 7 -> "juillet" + 8 -> "août" + 9 -> "septembre" + 10 -> "octoble" + 11 -> "novembre" + 12 -> "décembre" + _ -> "" + +getMessage (MonthText count) English = "month" ++ (plural count) +getMessage (MonthText _) French = "mois" + +getMessage (YearText count) English = "year" ++ (plural count) +getMessage (YearText count) French = "an" ++ (plural count) + +getMessage TryIt English = "Try it!" +getMessage TryIt French = "Voir" + +getMessage PageNotFound English = "Page not found." +getMessage PageNotFound French = "La page que vous recherchez n'est pas disponible." + +plural :: Int -> String +plural count = if count > 1 then "s" else "" -- cgit v1.2.3