From 8c90ebdb499be2a8bc171dad8236728399755f0c Mon Sep 17 00:00:00 2001 From: "\"Vincent Ambo ext:(%22)" Date: Tue, 6 Mar 2012 19:39:54 +0100 Subject: * TEXT EVERYWHERE, WHERE MY STRINGS AT? --- src/Locales.hs | 43 ++++++++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 15 deletions(-) (limited to 'src/Locales.hs') diff --git a/src/Locales.hs b/src/Locales.hs index 01852cbdb0a9..f629dbe6f347 100644 --- a/src/Locales.hs +++ b/src/Locales.hs @@ -1,8 +1,10 @@ -{-# LANGUAGE ScopedTypeVariables, DeriveDataTypeable #-} +{-# LANGUAGE ScopedTypeVariables, DeriveDataTypeable, OverloadedStrings #-} module Locales where import Data.Data (Data, Typeable) +import Data.Text (Text) +import qualified Data.Text as T {- to add a language simply define its abbreviation and Show instance then - translate the appropriate strings and add CouchDB views in Server.hs -} @@ -13,7 +15,7 @@ instance Show BlogLang where show EN = "en" show DE = "de" -version = ("2.2b" :: String) +version = "2.2b" allLang = [EN, DE] @@ -21,18 +23,18 @@ if' :: Bool -> a -> a -> a if' True x _ = x if' False _ y = y -blogTitle :: BlogLang -> String -> String -blogTitle DE s = "Tazjins Blog" ++ s -blogTitle EN s = "Tazjin's Blog" ++ s +blogTitle :: BlogLang -> Text -> Text +blogTitle DE s = T.concat ["Tazjins Blog", s] +blogTitle EN s = T.concat ["Tazjin's Blog", s] -- index site headline topText DE = "Aktuelle Einträge" topText EN = "Latest entries" -getMonth :: BlogLang -> Int -> Int -> String -getMonth l y m = monthName l m ++ show y +getMonth :: BlogLang -> Int -> Int -> Text +getMonth l y m = T.append (monthName l m) $ T.pack $ show y where - monthName :: BlogLang -> Int -> String + monthName :: BlogLang -> Int -> Text monthName DE m = case m of 1 -> "Januar " 2 -> "Februar " @@ -60,46 +62,57 @@ getMonth l y m = monthName l m ++ show y 11 -> "November " 12 -> "December " +entireMonth :: BlogLang -> Text entireMonth DE = "Ganzer Monat" entireMonth EN = "Entire month" +backText :: BlogLang -> Text backText DE = "Früher" backText EN = "Earlier" +nextText :: BlogLang -> Text nextText DE = "Später" nextText EN = "Later" -- contact information +contactText :: BlogLang -> Text contactText DE = "Wer mich kontaktieren will: " contactText EN = "Get in touch with me: " -orString DE = " oder " -orString EN = " or " +orText :: BlogLang -> Text +orText DE = " oder " +orText EN = " or " -- footer +noticeText :: BlogLang -> Text noticeText EN = "site notice" noticeText DE = "Impressum" -- comments +noComments :: BlogLang -> Text noComments DE = " Keine Kommentare" noComments EN = " No comments yet" +cHead :: BlogLang -> Text cHead DE = "Kommentare:" cHead EN = "Comments:" +cwHead :: BlogLang -> Text cwHead DE = "Kommentieren:" cwHead EN = "Comment:" +cTimeFormat :: BlogLang -> String --formatTime expects a String cTimeFormat DE = "[Am %d.%m.%y um %H:%M Uhr]" cTimeFormat EN = "[On %D at %H:%M]" -- right side text (this is inserted AS IS. Escape HTML!) +rightText :: BlogLang -> Text rightText DE = "English version available here" rightText EN = "Deutsche Version hier verfügbar" -- static information -repoURL = "https://bitbucket.org/tazjin/tazblog-haskell" -mailTo = "mailto:hej@tazj.in" -twitter = "http://twitter.com/#!/tazjin" -iMessage = "imessage:tazjin@me.com" -iMessage' = "sms:tazjin@me.com" +repoURL :: Text = "https://bitbucket.org/tazjin/tazblog-haskell" +mailTo :: Text = "mailto:hej@tazj.in" +twitter :: Text = "http://twitter.com/#!/tazjin" +iMessage :: Text = "imessage:tazjin@me.com" +iMessage' :: Text = "sms:tazjin@me.com" -- cgit 1.4.1