diff --git a/app/lang/pt-BR/cachet.php b/app/lang/pt-BR/cachet.php
new file mode 100755
index 00000000..df619019
--- /dev/null
+++ b/app/lang/pt-BR/cachet.php
@@ -0,0 +1,46 @@
+ [
+ 'status' => [
+ 1 => 'Funcionando',
+ 2 => 'Identificado',
+ 3 => 'Observando',
+ 4 => 'Solucionado',
+ ],
+ ],
+
+ // Incidents
+ 'incidents' => [
+ 'none' => 'Nenhum incidente reportado.',
+ 'past' => 'Incidentes anteriores',
+ 'previous_week' => 'Semana anterior',
+ 'next_week' => 'Próxima semana',
+ 'none' => 'Nada a relatar',
+ 'status' => [
+ 1 => 'Investigando',
+ 2 => 'Identificado',
+ 3 => 'Observando',
+ 4 => 'Solucionado',
+ ],
+ ],
+
+ // Service Status
+ 'service' => [
+ 'good' => 'Todos os serviços estão operando normalmente.',
+ 'bad' => 'Alguns serviços estão passando por problemas.',
+ ],
+
+ 'api' => [
+ 'regenerate' => 'Gerar nova chave de API',
+ 'revoke' => 'Revogar a chave de API',
+ ],
+
+ // Other
+ 'powered_by' => ':app Esta Status Page é fornecida por Cachet.',
+ 'about_this_site' => 'Sobre este site',
+ 'rss-feed' => 'RSS Feed',
+ 'atom-feed' => 'Atom Feed',
+ 'feed' => 'Status Feed',
+];
diff --git a/app/lang/pt-BR/dashboard.php b/app/lang/pt-BR/dashboard.php
new file mode 100755
index 00000000..82d22f97
--- /dev/null
+++ b/app/lang/pt-BR/dashboard.php
@@ -0,0 +1,127 @@
+ 'Dashboard',
+
+ // Incidents
+ 'incidents' => [
+ 'incidents' => 'Incidentes',
+ 'logged' => '{0} Não existem incidentes, bom trabalho.|Você registrou um incidente.|Você reportou :count incidentes.',
+ 'incident-create-template' => 'Criar template',
+ 'add' => [
+ 'title' => 'Adicionar um incidente',
+ 'success' => 'Incidente adicionado.',
+ 'failure' => 'Algo deu errado com o incidente.',
+ ],
+ 'edit' => [
+ 'title' => 'Editar um incidente',
+ 'success' => 'Incidente adicionado.',
+ 'failure' => 'Algo deu errado com o incidente.',
+ ],
+
+ // Incident templates
+ 'templates' => [
+ 'add' => [
+ 'title' => 'Criar um modelo de incidente',
+ 'success' => 'Incidente adicionado.',
+ 'failure' => 'Algo deu errado com o incidente.',
+ ],
+ ],
+ ],
+
+ // Components
+ 'components' => [
+ 'components' => 'Componente|Componentes',
+ 'component_statuses' => 'Status do componente',
+ 'add' => [
+ 'title' => 'Adicionar um incidente',
+ 'message' => 'Você deve adicionar um componente.',
+ 'success' => 'Incidente adicionado.',
+ 'failure' => 'Algo deu errado com o incidente.',
+ ],
+ 'edit' => [
+ 'title' => 'Editar um incidente',
+ 'success' => 'Incidente adicionado.',
+ 'failure' => 'Algo deu errado com o incidente.',
+ ],
+
+ // Component groups
+ 'groups' => [
+ 'groups' => 'Componente group|Grupos de componente',
+ 'add' => [
+ 'title' => 'Adicionar um incidente',
+ 'success' => 'Incidente adicionado.',
+ 'failure' => 'Algo deu errado com o incidente.',
+ ],
+ ],
+ ],
+
+ // Metrics
+ 'metrics' => [
+ 'metrics' => 'Metricas',
+ 'add' => [
+ 'title' => 'Adicionar um incidente',
+ 'success' => 'Incidente adicionado.',
+ 'failure' => 'Algo deu errado com o incidente.',
+ ],
+ ],
+
+ // Team
+ 'team' => [
+ 'team' => 'Equipe',
+ 'member' => 'Membro',
+ 'profile' => 'Perfil ',
+ 'description' => 'Membros da equipe serão capazes de adicionar, modificar & editar componentes e incidentes.',
+ 'add' => [
+ 'title' => 'Adicionar um incidente',
+ 'success' => 'Incidente adicionado.',
+ 'failure' => 'Algo deu errado com o incidente.',
+ ],
+ 'edit' => [
+ 'title' => 'Editar um incidente',
+ 'success' => 'Incidente adicionado.',
+ 'failure' => 'Algo deu errado com o incidente.',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ 'settings' => 'Configurações',
+ 'app-setup' => [
+ 'app-setup' => 'Instalação do aplicativo',
+ ],
+ 'security' => [
+ 'security' => 'Segurança',
+ ],
+ 'stylesheet' => [
+ 'stylesheet' => 'Folha de estilo',
+ ],
+ 'theme' => [
+ 'theme' => ' Tema',
+ ],
+ 'edit' => [
+ 'success' => 'Configurações salvas.',
+ 'failure' => 'Algo deu errado com o incidente.',
+ ],
+ ],
+
+ // Login
+ 'login' => [
+ 'login' => 'Login',
+ 'logged_in' => "Você está logado.",
+ 'welcome' => 'Bem-vindo de volta!',
+ ],
+
+ // Sidebar footer
+ 'help' => 'Ajuda',
+ 'status_page' => 'Página de status',
+ 'logout' => 'Sair',
+
+ // Notifications
+ 'notifications' => [
+ 'notifications' => 'Notificações',
+ 'awesome' => 'Excelente.',
+ 'whoops' => 'Opa.',
+ ],
+
+];
diff --git a/app/lang/pt-BR/errors.php b/app/lang/pt-BR/errors.php
new file mode 100755
index 00000000..284759ce
--- /dev/null
+++ b/app/lang/pt-BR/errors.php
@@ -0,0 +1,10 @@
+ [
+ 'code' => '404',
+ 'title' => 'Essa página desapareceu!',
+ 'message' => 'Desculpe, mas a página que você está procurando não foi encontrada. Verifique o URL para erros e tente novamente.',
+ 'link' => 'Voltar para a página inicial',
+ ]
+];
diff --git a/app/lang/pt-BR/forms.php b/app/lang/pt-BR/forms.php
new file mode 100755
index 00000000..71ba3553
--- /dev/null
+++ b/app/lang/pt-BR/forms.php
@@ -0,0 +1,89 @@
+ [
+ 'email' => 'Email',
+ 'username' => 'Usuário',
+ 'password' => 'Senha',
+ 'site_name' => 'Nome do site',
+ 'site_domain' => 'Domínio do site',
+ ],
+
+ // Login form fields
+ 'login' => [
+ 'email' => 'Email',
+ 'password' => 'Senha',
+ ],
+
+ // Incidents form fields
+ 'incidents' => [
+ 'name' => 'Nome',
+ 'status' => 'Status',
+ 'message' => 'Mensagem',
+ 'message-help' => 'Você também pode usar o Markdown.',
+
+ 'templates' => [
+ 'name' => 'Nome',
+ 'template' => 'Template',
+ ],
+ ],
+
+ // Components form fields
+ 'components' => [
+ 'name' => 'Nome',
+ 'status' => 'Status',
+ 'group' => 'Grupo',
+ 'description' => 'Descrição',
+ 'link' => 'Link',
+ 'tags' => 'Marcações',
+ 'tags-help' => 'Separados por vírgulas.',
+
+ 'groups' => [
+ 'name' => 'Nome',
+ ],
+ ],
+
+ // Settings
+ 'settings' => [
+ /// Application setup
+ 'app-setup' => [
+ 'site-name' => 'Nome do site',
+ 'site-url' => 'URL do site',
+ 'about-this-page' => 'Sobre esta página',
+ 'days-of-incidents' => 'Quantos dias de incidentes para mostrar?',
+ 'banner' => 'Imagem do banner',
+ 'banner-help' => "É recomendável que você fazer upload de arquivos menores que 930px.",
+ ],
+ 'security' => [
+ 'allowed-domains' => 'Domínios permitidos',
+ 'allowed-domains-help' => 'Separados por vírgula. O domínio definido acima é permitido automaticamente por padrão.',
+ ],
+ 'stylesheet' => [
+ 'custom-css' => 'Folha de estilos personalizada',
+ ],
+ 'theme' => [
+ 'background-color' => 'Cor de fundo',
+ 'text-color' => 'Cor do Texto',
+ ],
+ ],
+
+ 'user' => [
+ 'username' => 'Usuário',
+ 'email' => 'Email',
+ 'password' => 'Senha',
+ 'api-key' => 'Chave da API',
+ 'api-key-help' => 'Regenerar sua chave de API irá revogar todos os aplicativos existentes.',
+ ],
+
+ // Buttons
+ 'add' => 'Adicionar',
+ 'save' => 'Salvar',
+ 'update' => 'Atualizar',
+ 'create' => 'Criar',
+ 'edit' => 'Editar',
+ 'delete' => 'Apagar',
+ 'submit' => 'Enviar',
+ 'cancel' => 'Cancelar',
+ 'remove' => 'Remover'
+];
diff --git a/app/lang/pt-BR/pagination.php b/app/lang/pt-BR/pagination.php
new file mode 100755
index 00000000..6a32f34a
--- /dev/null
+++ b/app/lang/pt-BR/pagination.php
@@ -0,0 +1,19 @@
+ '« Anterior',
+ 'next' => 'Próximo »',
+
+];
diff --git a/app/lang/pt-BR/reminders.php b/app/lang/pt-BR/reminders.php
new file mode 100755
index 00000000..b37db24b
--- /dev/null
+++ b/app/lang/pt-BR/reminders.php
@@ -0,0 +1,22 @@
+ "A senha precisa ter no minimo seis caracteres e tem que ser igual à confirmação.",
+ "user" => "Não foi encontrado nenhum usuário com este endereço de email.",
+ "token" => "Este código de redefinição de senha é inválido.",
+ "sent" => "Lembrete de senha foi enviado!",
+ "reset" => "A senha foi redefinida!",
+
+];
diff --git a/app/lang/pt-BR/setup.php b/app/lang/pt-BR/setup.php
new file mode 100755
index 00000000..4edb27f7
--- /dev/null
+++ b/app/lang/pt-BR/setup.php
@@ -0,0 +1,11 @@
+ 'Configuração',
+ 'title' => 'Configurar o Cachet',
+ 'service_details' => 'Detalhes do serviço',
+ 'status_page_setup' => 'Configuração da página de status',
+ 'show_support' => 'Mostrar apoio ao Cachet? Coloca um link no rodapé direcionando para Cachet.',
+ 'admin_account' => 'Conta de administrador',
+ 'complete_setup' => 'Configuração completa'
+];
diff --git a/app/lang/pt-BR/validation.php b/app/lang/pt-BR/validation.php
new file mode 100755
index 00000000..4700e7b1
--- /dev/null
+++ b/app/lang/pt-BR/validation.php
@@ -0,0 +1,106 @@
+ "O campo :attribute deve ser aceito.",
+ "active_url" => "O campo :attribute não é uma URL válida.",
+ "after" => "O campo :attribute deverá conter uma data posterior a :date.",
+ "alpha" => "O campo :attribute deverá conter apenas letras.",
+ "alpha_dash" => "O campo :attribute só pode conter letras, números, e hifens.",
+ "alpha_num" => "O campo :attribute só pode conter letras e números.",
+ "array" => "O campo :attribute deve ser um vetor.",
+ "before" => "O campo :attribute deverá conter uma data anterior a :date.",
+ "between" => [
+ "numeric" => "O campo :attribute deverá ter um valor entre :min - :max.",
+ "file" => "O campo :attribute deverá ter um tamanho entre :min - :max kilobytes.",
+ "string" => "O campo :attribute deverá conter entre :min - :max caracteres.",
+ "array" => "O campo :attribute deve ser um vetor.",
+ ],
+ "boolean" => "O campo :attribute deve ser verdadeiro ou falso.",
+ "confirmed" => "A confirmação para o campo :attribute não coincide.",
+ "date" => "O :attribute não é uma data válida.",
+ "date_format" => "O :attribute não corresponde ao formato :format.",
+ "different" => "O :attribute e :other devem ser diferentes.",
+ "digits" => "O campo :attribute deverá conter :digits dígitos.",
+ "digits_between" => "O :attribute deve ter entre :min e :max dígitos.",
+ "email" => "A: attribute deve ser um endereço de email válido.",
+ "exists" => "O :attribute selecionado é inválido.",
+ "image" => "O :attribute deve ser uma imagem.",
+ "in" => "O :attribute selecionado é inválido.",
+ "integer" => "O :attribute deve ser um número inteiro.",
+ "ip" => "O :attribute deve ser um endereço de IP válido.",
+ "max" => [
+ "numeric" => "O :attribute não pode ser maior do que :max.",
+ "file" => "O campo :attribute deverá ter um tamanho entre :min - :max kilobytes.",
+ "string" => "O campo :attribute deverá conter entre :min - :max caracteres.",
+ "array" => "O campo :attribute deve ser um vetor.",
+ ],
+ "mimes" => "O :attribute deve ser um arquivo do tipo: :values.",
+ "min" => [
+ "numeric" => "O :attribute deve ter pelo menos :min.",
+ "file" => "O campo :attribute deverá ter um tamanho entre :min - :max kilobytes.",
+ "string" => "O campo :attribute deverá conter entre :min - :max caracteres.",
+ "array" => "O campo :attribute deve ser um vetor.",
+ ],
+ "not_in" => "O :attribute selecionado é inválido.",
+ "numeric" => "O :attribute deve ser um número.",
+ "regex" => "O formato de :attribute é inválido.",
+ "required" => "O campo de :attribute é obrigatório.",
+ "required_if" => "O campo de :attribute é obrigatório quando :other é :value.",
+ "required_with" => "O campo :attribute é obrigatório quando :values está presente.",
+ "required_with_all" => "O campo :attribute é obrigatório quando :values está presente.",
+ "required_without" => "O campo de :attribute é obrigatório quando :values não está presente.",
+ "required_without_all" => "O campo de :attribute é obrigatório quando qualquer um dos :values estão presentes.",
+ "same" => "O :attribute e :other devem corresponder.",
+ "size" => [
+ "numeric" => "O :attribute deve ser :size.",
+ "file" => "O campo :attribute deverá ter um tamanho entre :min - :max kilobytes.",
+ "string" => "O campo :attribute deverá conter entre :min - :max caracteres.",
+ "array" => "O campo :attribute deve ser um vetor.",
+ ],
+ "unique" => "O :attribute já existe.",
+ "url" => "O formato de :attribute é inválido.",
+ "timezone" => "O :attribute deve ser uma zona válida.",
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name the lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'Mensagem-personalizada',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | The following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];