diff --git a/Yesod/Form/I18n/Portuguese.hs b/Yesod/Form/I18n/Portuguese.hs
new file mode 100644
--- /dev/null
+++ b/Yesod/Form/I18n/Portuguese.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE OverloadedStrings #-}
+module Yesod.Form.I18n.Portuguese where
+
+import Yesod.Form.Types (FormMessage (..))
+import Data.Monoid (mappend)
+import Data.Text (Text)
+
+portugueseFormMessage :: FormMessage -> Text
+portugueseFormMessage (MsgInvalidInteger t) = "Número inteiro inválido: " `mappend` t
+portugueseFormMessage (MsgInvalidNumber t) = "Número inválido: " `mappend` t
+portugueseFormMessage (MsgInvalidEntry t) = "Entrada inválida: " `mappend` t
+portugueseFormMessage MsgInvalidTimeFormat = "Hora inválida, deve estar no formato HH:MM[:SS]"
+portugueseFormMessage MsgInvalidDay = "Data inválida, deve estar no formado AAAA-MM-DD"
+portugueseFormMessage (MsgInvalidUrl t) = "URL inválida: " `mappend` t
+portugueseFormMessage (MsgInvalidEmail t) = "Endereço de e-mail inválido: " `mappend` t
+portugueseFormMessage (MsgInvalidHour t) = "Hora inválida: " `mappend` t
+portugueseFormMessage (MsgInvalidMinute t) = "Minutos inválidos: " `mappend` t
+portugueseFormMessage (MsgInvalidSecond t) = "Segundos inválidos: " `mappend` t
+portugueseFormMessage MsgCsrfWarning = "Como uma proteção contra ataques CSRF, por favor confirme a submissão do seu formulário."
+portugueseFormMessage MsgValueRequired = "Preenchimento obrigatório"
+portugueseFormMessage (MsgInputNotFound t) = "Entrada não encontrada: " `mappend` t
+portugueseFormMessage MsgSelectNone = "<Nenhum>"
+portugueseFormMessage (MsgInvalidBool t) = "Booleano inválido: " `mappend` t
+portugueseFormMessage MsgBoolYes = "Sim"
+portugueseFormMessage MsgBoolNo = "Não"
+portugueseFormMessage MsgDelete = "Remover?"
diff --git a/yesod-form.cabal b/yesod-form.cabal
--- a/yesod-form.cabal
+++ b/yesod-form.cabal
@@ -1,5 +1,5 @@
 name:            yesod-form
-version:         0.3.4
+version:         0.3.4.1
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -44,6 +44,7 @@
                      Yesod.Form.Nic
                      Yesod.Form.MassInput
                      Yesod.Form.I18n.English
+                     Yesod.Form.I18n.Portuguese
                      Yesod.Form.I18n.Swedish
                      -- FIXME Yesod.Helpers.Crud
     ghc-options:     -Wall
