diff --git a/Yesod/Auth/Message.hs b/Yesod/Auth/Message.hs
--- a/Yesod/Auth/Message.hs
+++ b/Yesod/Auth/Message.hs
@@ -2,6 +2,10 @@
 module Yesod.Auth.Message
     ( AuthMessage (..)
     , defaultMessage
+
+      -- * All languages
+    , englishMessage
+    , portugueseMessage
     ) where
 
 import Data.Monoid (mappend)
@@ -36,34 +40,70 @@
     | NowLoggedIn
     | LoginTitle
 
+-- | Defaults to 'englishMessage'.
 defaultMessage :: AuthMessage -> Text
-defaultMessage NoOpenID = "No OpenID identifier found"
-defaultMessage LoginOpenID = "Login via OpenID"
-defaultMessage LoginGoogle = "Login via Google"
-defaultMessage LoginYahoo = "Login via Yahoo"
-defaultMessage Email = "Email"
-defaultMessage Password = "Password"
-defaultMessage Register = "Register"
-defaultMessage RegisterLong = "Register a new account"
-defaultMessage EnterEmail = "Enter your e-mail address below, and a confirmation e-mail will be sent to you."
-defaultMessage ConfirmationEmailSentTitle = "Confirmation e-mail sent"
-defaultMessage (ConfirmationEmailSent email) =
+defaultMessage = englishMessage
+
+englishMessage :: AuthMessage -> Text
+englishMessage NoOpenID = "No OpenID identifier found"
+englishMessage LoginOpenID = "Login via OpenID"
+englishMessage LoginGoogle = "Login via Google"
+englishMessage LoginYahoo = "Login via Yahoo"
+englishMessage Email = "Email"
+englishMessage Password = "Password"
+englishMessage Register = "Register"
+englishMessage RegisterLong = "Register a new account"
+englishMessage EnterEmail = "Enter your e-mail address below, and a confirmation e-mail will be sent to you."
+englishMessage ConfirmationEmailSentTitle = "Confirmation e-mail sent"
+englishMessage (ConfirmationEmailSent email) =
     "A confirmation e-mail has been sent to " `mappend`
     email `mappend`
     "."
-defaultMessage AddressVerified = "Address verified, please set a new password"
-defaultMessage InvalidKeyTitle = "Invalid verification key"
-defaultMessage InvalidKey = "I'm sorry, but that was an invalid verification key."
-defaultMessage InvalidEmailPass = "Invalid email/password combination"
-defaultMessage BadSetPass = "You must be logged in to set a password"
-defaultMessage SetPassTitle = "Set password"
-defaultMessage SetPass = "Set a new password"
-defaultMessage NewPass = "New password"
-defaultMessage ConfirmPass = "Confirm"
-defaultMessage PassMismatch = "Passwords did not match, please try again"
-defaultMessage PassUpdated = "Password updated"
-defaultMessage Facebook = "Login with Facebook"
-defaultMessage LoginViaEmail = "Login via email"
-defaultMessage InvalidLogin = "Invalid login"
-defaultMessage NowLoggedIn = "You are now logged in"
-defaultMessage LoginTitle = "Login"
+englishMessage AddressVerified = "Address verified, please set a new password"
+englishMessage InvalidKeyTitle = "Invalid verification key"
+englishMessage InvalidKey = "I'm sorry, but that was an invalid verification key."
+englishMessage InvalidEmailPass = "Invalid email/password combination"
+englishMessage BadSetPass = "You must be logged in to set a password"
+englishMessage SetPassTitle = "Set password"
+englishMessage SetPass = "Set a new password"
+englishMessage NewPass = "New password"
+englishMessage ConfirmPass = "Confirm"
+englishMessage PassMismatch = "Passwords did not match, please try again"
+englishMessage PassUpdated = "Password updated"
+englishMessage Facebook = "Login with Facebook"
+englishMessage LoginViaEmail = "Login via email"
+englishMessage InvalidLogin = "Invalid login"
+englishMessage NowLoggedIn = "You are now logged in"
+englishMessage LoginTitle = "Login"
+
+portugueseMessage :: AuthMessage -> Text
+portugueseMessage NoOpenID = "Nenhum identificador OpenID encontrado"
+portugueseMessage LoginOpenID = "Entrar via OpenID"
+portugueseMessage LoginGoogle = "Entrar via Google"
+portugueseMessage LoginYahoo = "Entrar via Yahoo"
+portugueseMessage Email = "E-mail"
+portugueseMessage Password = "Senha"
+portugueseMessage Register = "Registrar"
+portugueseMessage RegisterLong = "Registrar uma nova conta"
+portugueseMessage EnterEmail = "Por favor digite seu endereço de e-mail abaixo e um e-mail de confirmação será enviado para você."
+portugueseMessage ConfirmationEmailSentTitle = "E-mail de confirmação enviado"
+portugueseMessage (ConfirmationEmailSent email) =
+    "Um e-mail de confirmação foi enviado para " `mappend`
+    email `mappend`
+    "."
+portugueseMessage AddressVerified = "Endereço verificado, por favor entre com uma nova senha"
+portugueseMessage InvalidKeyTitle = "Chave de verificação inválida"
+portugueseMessage InvalidKey = "Por favor nos desculpe, mas essa é uma chave de verificação inválida."
+portugueseMessage InvalidEmailPass = "E-mail e/ou senha inválidos"
+portugueseMessage BadSetPass = "Você deve entrar para definir uma senha"
+portugueseMessage SetPassTitle = "Definir senha"
+portugueseMessage SetPass = "Definir uma nova senha"
+portugueseMessage NewPass = "Nova senha"
+portugueseMessage ConfirmPass = "Confirmar"
+portugueseMessage PassMismatch = "Senhas não conferem, por favor tente novamente"
+portugueseMessage PassUpdated = "Senhas alteradas"
+portugueseMessage Facebook = "Entrar via Facebook"
+portugueseMessage LoginViaEmail = "Entrar via e-mail"
+portugueseMessage InvalidLogin = "Informações de login inválidas"
+portugueseMessage NowLoggedIn = "Você acaba de entrar no site com sucesso!"
+portugueseMessage LoginTitle = "Entrar no site"
diff --git a/yesod-auth.cabal b/yesod-auth.cabal
--- a/yesod-auth.cabal
+++ b/yesod-auth.cabal
@@ -1,5 +1,5 @@
 name:            yesod-auth
-version:         0.7.8
+version:         0.7.9
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman, Patrick Brisbin
