yesod/examples/i18n.hs
Michael Snoyman 764b981f6c Changed Content data type.
Removed i18n and pushed it back into RawRequest.

Now prepared for the WAI interface, though this is less efficient for
Hack.
2010-01-26 00:16:02 +02:00

31 lines
601 B
Haskell

{-# LANGUAGE QuasiQuotes #-}
import Yesod
import Hack.Handler.SimpleServer
data I18N = I18N
instance Yesod I18N where
handlers = [$resources|
/:
Get: homepage
/set/$lang:
Get: setLang
|]
homepage = do
ls <- languages
let hello = chooseHello ls
return [(TypePlain, cs hello :: Content)]
chooseHello [] = "Hello"
chooseHello ("he":_) = "שלום"
chooseHello ("es":_) = "Hola"
chooseHello (_:rest) = chooseHello rest
setLang lang = do
addCookie 1 langKey lang
redirect RedirectTemporary "/"
return ()
main = putStrLn "Running..." >> toHackApp I18N >>= run 3000