* merged String -> Text changes
* comment field
This commit is contained in:
		
						commit
						91d197945f
					
				
					 2 changed files with 30 additions and 16 deletions
				
			
		|  | @ -3,6 +3,8 @@ | ||||||
| module Locales where | module Locales where | ||||||
| 
 | 
 | ||||||
| import           Data.Data (Data, Typeable) | 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 | {- to add a language simply define its abbreviation and Show instance then | ||||||
|  - translate the appropriate strings and add CouchDB views in Server.hs -} |  - translate the appropriate strings and add CouchDB views in Server.hs -} | ||||||
|  | @ -13,7 +15,7 @@ instance Show BlogLang where | ||||||
|     show EN = "en" |     show EN = "en" | ||||||
|     show DE = "de" |     show DE = "de" | ||||||
| 
 | 
 | ||||||
| version = ("2.2b" :: String) | version = "2.2b" | ||||||
| 
 | 
 | ||||||
| allLang = [EN, DE] | allLang = [EN, DE] | ||||||
| 
 | 
 | ||||||
|  | @ -21,18 +23,18 @@ if' :: Bool -> a -> a -> a | ||||||
| if' True x _ = x | if' True x _ = x | ||||||
| if' False _ y = y | if' False _ y = y | ||||||
| 
 | 
 | ||||||
| blogTitle :: BlogLang -> String -> String | blogTitle :: BlogLang -> Text -> Text | ||||||
| blogTitle DE s = "Tazjins Blog" ++ s | blogTitle DE s = T.concat ["Tazjins Blog", s] | ||||||
| blogTitle EN s = "Tazjin's Blog" ++ s | blogTitle EN s = T.concat ["Tazjin's Blog", s] | ||||||
| 
 | 
 | ||||||
| -- index site headline | -- index site headline | ||||||
| topText DE = "Aktuelle Einträge" | topText DE = "Aktuelle Einträge" | ||||||
| topText EN = "Latest entries" | topText EN = "Latest entries" | ||||||
| 
 | 
 | ||||||
| getMonth :: BlogLang -> Int -> Int -> String | getMonth :: BlogLang -> Int -> Int -> Text | ||||||
| getMonth l y m = monthName l m ++ show y | getMonth l y m = T.append (monthName l m) $ T.pack $ show y | ||||||
|   where |   where | ||||||
|     monthName :: BlogLang -> Int -> String |     monthName :: BlogLang -> Int -> Text | ||||||
|     monthName DE m = case m of  |     monthName DE m = case m of  | ||||||
|                     1 -> "Januar " |                     1 -> "Januar " | ||||||
|                     2 -> "Februar " |                     2 -> "Februar " | ||||||
|  | @ -60,49 +62,60 @@ getMonth l y m = monthName l m ++ show y | ||||||
|                     11 -> "November " |                     11 -> "November " | ||||||
|                     12 -> "December " |                     12 -> "December " | ||||||
| 
 | 
 | ||||||
|  | entireMonth :: BlogLang -> Text | ||||||
| entireMonth DE = "Ganzer Monat" | entireMonth DE = "Ganzer Monat" | ||||||
| entireMonth EN = "Entire month" | entireMonth EN = "Entire month" | ||||||
| 
 | 
 | ||||||
|  | backText :: BlogLang -> Text | ||||||
| backText DE = "Früher" | backText DE = "Früher" | ||||||
| backText EN = "Earlier" | backText EN = "Earlier" | ||||||
| 
 | 
 | ||||||
|  | nextText :: BlogLang -> Text | ||||||
| nextText DE = "Später" | nextText DE = "Später" | ||||||
| nextText EN = "Later" | nextText EN = "Later" | ||||||
| 
 | 
 | ||||||
| -- contact information | -- contact information | ||||||
|  | contactText :: BlogLang -> Text | ||||||
| contactText DE = "Wer mich kontaktieren will: " | contactText DE = "Wer mich kontaktieren will: " | ||||||
| contactText EN = "Get in touch with me: " | contactText EN = "Get in touch with me: " | ||||||
| 
 | 
 | ||||||
| orString DE = " oder " | orText :: BlogLang -> Text | ||||||
| orString EN = " or " | orText DE = " oder " | ||||||
|  | orText EN = " or " | ||||||
| 
 | 
 | ||||||
| -- footer | -- footer | ||||||
|  | noticeText :: BlogLang -> Text | ||||||
| noticeText EN = "site notice" | noticeText EN = "site notice" | ||||||
| noticeText DE = "Impressum" | noticeText DE = "Impressum" | ||||||
| 
 | 
 | ||||||
| -- comments | -- comments | ||||||
|  | noComments :: BlogLang -> Text | ||||||
| noComments DE = " Keine Kommentare" | noComments DE = " Keine Kommentare" | ||||||
| noComments EN = " No comments yet" | noComments EN = " No comments yet" | ||||||
| 
 | 
 | ||||||
|  | cHead :: BlogLang -> Text | ||||||
| cHead DE = "Kommentare:" | cHead DE = "Kommentare:" | ||||||
| cHead EN = "Comments:" | cHead EN = "Comments:" | ||||||
| 
 | 
 | ||||||
|  | cwHead :: BlogLang -> Text | ||||||
| cwHead DE = "Kommentieren:" | cwHead DE = "Kommentieren:" | ||||||
| cwHead EN = "Comment:" | cwHead EN = "Comment:" | ||||||
| 
 | 
 | ||||||
| cSingle DE = "Kommentar:" --input label | cSingle DE = "Kommentar:" --input label | ||||||
| cSingle EN = "Comment:"  | cSingle EN = "Comment:"  | ||||||
| 
 | 
 | ||||||
|  | cTimeFormat :: BlogLang -> String --formatTime expects a String | ||||||
| cTimeFormat DE = "[Am %d.%m.%y um %H:%M Uhr]" | cTimeFormat DE = "[Am %d.%m.%y um %H:%M Uhr]" | ||||||
| cTimeFormat EN = "[On %D at %H:%M]" | cTimeFormat EN = "[On %D at %H:%M]" | ||||||
| 
 | 
 | ||||||
| -- right side text (this is inserted AS IS. Escape HTML!) | -- right side text (this is inserted AS IS. Escape HTML!) | ||||||
|  | rightText :: BlogLang -> Text | ||||||
| rightText DE = "English version <a href=\"en\">available here</a>" | rightText DE = "English version <a href=\"en\">available here</a>" | ||||||
| rightText EN = "Deutsche Version <a href=\"de\">hier verfügbar</a>" | rightText EN = "Deutsche Version <a href=\"de\">hier verfügbar</a>" | ||||||
| 
 | 
 | ||||||
| -- static information | -- static information | ||||||
| repoURL = "https://bitbucket.org/tazjin/tazblog-haskell" | repoURL   :: Text = "https://bitbucket.org/tazjin/tazblog-haskell" | ||||||
| mailTo  = "mailto:hej@tazj.in" | mailTo    :: Text = "mailto:hej@tazj.in" | ||||||
| twitter = "http://twitter.com/#!/tazjin" | twitter   :: Text = "http://twitter.com/#!/tazjin" | ||||||
| iMessage = "imessage:tazjin@me.com" | iMessage  :: Text = "imessage:tazjin@me.com" | ||||||
| iMessage' = "sms:tazjin@me.com" | iMessage' :: Text = "sms:tazjin@me.com" | ||||||
|  |  | ||||||
|  | @ -6,7 +6,8 @@ import           Control.Applicative (optional) | ||||||
| import           Control.Monad (msum) | import           Control.Monad (msum) | ||||||
| import           Data.Monoid (mempty) | import           Data.Monoid (mempty) | ||||||
| import           Data.ByteString.Char8 (ByteString) | import           Data.ByteString.Char8 (ByteString) | ||||||
| import           Data.Text hiding (map, length, zip, head, drop) | import           Data.Text (Text) | ||||||
|  | import qualified Data.Text as T | ||||||
| import           Data.Time | import           Data.Time | ||||||
| import           Database.CouchDB | import           Database.CouchDB | ||||||
| import           Happstack.Server | import           Happstack.Server | ||||||
|  | @ -63,7 +64,7 @@ tryEntry :: Maybe Entry -> Response | ||||||
| tryEntry Nothing = toResponse $ showError NotFound | tryEntry Nothing = toResponse $ showError NotFound | ||||||
| tryEntry (Just entry) = toResponse $ blogTemplate eLang eTitle $ renderEntry entry | tryEntry (Just entry) = toResponse $ blogTemplate eLang eTitle $ renderEntry entry | ||||||
|     where |     where | ||||||
|         eTitle = ": " ++ title entry |         eTitle = T.pack $ ": " ++ title entry | ||||||
|         eLang = lang entry |         eLang = lang entry | ||||||
| 
 | 
 | ||||||
| showIndex :: BlogLang -> ServerPart Response | showIndex :: BlogLang -> ServerPart Response | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue