diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 11a599ad5..7a0ee2d1a 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -82,12 +82,10 @@ npm install --legacy-peer-deps --dev
 
 # Backend Dev
 
+(2021-09-23 Update)
+
 ```bash
-npm run start-server
-
-# Or
-
-node server/server.js
+npm run start-server-dev
 ```
 
 It binds to `0.0.0.0:3001` by default.
diff --git a/package.json b/package.json
index da332d3f2..84071eeeb 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
         "dev": "vite --host",
         "start": "npm run start-server",
         "start-server": "node server/server.js",
+        "start-server-dev": "cross-env NODE_ENV=development node server/server.js",
         "build": "vite build",
         "tsc": "tsc",
         "vite-preview-dist": "vite preview --host",
@@ -94,6 +95,7 @@
         "@vitejs/plugin-vue": "^1.6.2",
         "@vue/compiler-sfc": "^3.2.11",
         "core-js": "^3.17.3",
+        "cross-env": "^7.0.3",
         "dns2": "^2.0.1",
         "eslint": "^7.32.0",
         "eslint-plugin-vue": "^7.17.0",
diff --git a/server/routers/api-router.js b/server/routers/api-router.js
index 0940668f6..b56efcb22 100644
--- a/server/routers/api-router.js
+++ b/server/routers/api-router.js
@@ -83,6 +83,7 @@ router.get("/api/status-page/monitor-list", cache("5 minutes"), async (_request,
 // Can fetch only if published
 router.get("/api/status-page/heartbeat", cache("5 minutes"), async (_request, response) => {
     allowDevAllOrigin(response);
+
     try {
         await checkPublished();
 
diff --git a/src/i18n.js b/src/i18n.js
index 6ef82006e..633a53acb 100644
--- a/src/i18n.js
+++ b/src/i18n.js
@@ -3,6 +3,7 @@ import daDK from "./languages/da-DK";
 import deDE from "./languages/de-DE";
 import en from "./languages/en";
 import esEs from "./languages/es-ES";
+import ptBR from "./languages/pt-BR";
 import etEE from "./languages/et-EE";
 import frFR from "./languages/fr-FR";
 import itIT from "./languages/it-IT";
@@ -24,6 +25,7 @@ const languageList = {
     "de-DE": deDE,
     "nl-NL": nlNL,
     "es-ES": esEs,
+    "pt-BR": ptBR,
     "fr-FR": frFR,
     "it-IT": itIT,
     "ja": ja,
diff --git a/src/languages/da-DK.js b/src/languages/da-DK.js
index eaba6e2cb..97f77fa3b 100644
--- a/src/languages/da-DK.js
+++ b/src/languages/da-DK.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/de-DE.js b/src/languages/de-DE.js
index 8f8792853..1e182f845 100644
--- a/src/languages/de-DE.js
+++ b/src/languages/de-DE.js
@@ -168,4 +168,14 @@ export default {
     "Export Backup": "Export Backup",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/en.js b/src/languages/en.js
index 6a7456f28..61092f37c 100644
--- a/src/languages/en.js
+++ b/src/languages/en.js
@@ -168,4 +168,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/es-ES.js b/src/languages/es-ES.js
index cb8733792..0084e3a2b 100644
--- a/src/languages/es-ES.js
+++ b/src/languages/es-ES.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/et-EE.js b/src/languages/et-EE.js
index 991a6a35e..451d8daeb 100644
--- a/src/languages/et-EE.js
+++ b/src/languages/et-EE.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/fr-FR.js b/src/languages/fr-FR.js
index 0050c5c02..9d0c946e6 100644
--- a/src/languages/fr-FR.js
+++ b/src/languages/fr-FR.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/it-IT.js b/src/languages/it-IT.js
index 09d0bece6..5c24ae4b9 100644
--- a/src/languages/it-IT.js
+++ b/src/languages/it-IT.js
@@ -168,4 +168,14 @@ export default {
     "Search...": "Cerca...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/ja.js b/src/languages/ja.js
index 44f96ee44..0dd77dd27 100644
--- a/src/languages/ja.js
+++ b/src/languages/ja.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/ko-KR.js b/src/languages/ko-KR.js
index 70948a31d..a2d685dc2 100644
--- a/src/languages/ko-KR.js
+++ b/src/languages/ko-KR.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/nl-NL.js b/src/languages/nl-NL.js
index 7ec386d01..72bde9ddb 100644
--- a/src/languages/nl-NL.js
+++ b/src/languages/nl-NL.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/pl.js b/src/languages/pl.js
index 2b34492e6..264c3a127 100644
--- a/src/languages/pl.js
+++ b/src/languages/pl.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Szukaj...",
     "Avg. Ping": "Średni ping",
     "Avg. Response": "Średnia odpowiedź",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/pt-BR.js b/src/languages/pt-BR.js
new file mode 100644
index 000000000..b9e86e76a
--- /dev/null
+++ b/src/languages/pt-BR.js
@@ -0,0 +1,182 @@
+export default {
+    languageName: "Português (Brasileiro)",
+    checkEverySecond: "Verificar cada {0} segundos.",
+    retryCheckEverySecond: "Tentar novamente a cada {0} segundos.",
+    retriesDescription: "Máximo de tentativas antes que o serviço seja marcado como inativo e uma notificação seja enviada",
+    ignoreTLSError: "Ignorar erros TLS/SSL para sites HTTPS",
+    upsideDownModeDescription: "Inverta o status de cabeça para baixo. Se o serviço estiver acessível, ele está OFFLINE.",
+    maxRedirectDescription: "Número máximo de redirecionamentos a seguir. Defina como 0 para desativar redirecionamentos.",
+    acceptedStatusCodesDescription: "Selecione os códigos de status que são considerados uma resposta bem-sucedida.",
+    passwordNotMatchMsg: "A senha repetida não corresponde.",
+    notificationDescription: "Atribua uma notificação ao (s) monitor (es) para que funcione.",
+    keywordDescription: "Pesquise a palavra-chave em html simples ou resposta JSON e diferencia maiúsculas de minúsculas",
+    pauseDashboardHome: "Pausar",
+    deleteMonitorMsg: "Tem certeza de que deseja excluir este monitor?",
+    deleteNotificationMsg: "Tem certeza de que deseja excluir esta notificação para todos os monitores?",
+    resoverserverDescription: "Cloudflare é o servidor padrão, você pode alterar o servidor resolvedor a qualquer momento.",
+    rrtypeDescription: "Selecione o RR-Type que você deseja monitorar",
+    pauseMonitorMsg: "Tem certeza que deseja fazer uma pausa?",
+    enableDefaultNotificationDescription: "Para cada novo monitor, esta notificação será habilitada por padrão. Você ainda pode desativar a notificação separadamente para cada monitor.",
+    clearEventsMsg: "Tem certeza de que deseja excluir todos os eventos deste monitor?",
+    clearHeartbeatsMsg: "Tem certeza de que deseja excluir todos os heartbeats deste monitor?",
+    confirmClearStatisticsMsg: "Tem certeza que deseja excluir TODAS as estatísticas?",
+    importHandleDescription: "Escolha 'Ignorar existente' se quiser ignorar todos os monitores ou notificações com o mesmo nome. 'Substituir' excluirá todos os monitores e notificações existentes.",
+    confirmImportMsg: "Tem certeza que deseja importar o backup? Certifique-se de que selecionou a opção de importação correta.",
+    twoFAVerifyLabel: "Digite seu token para verificar se 2FA está funcionando",
+    tokenValidSettingsMsg: "O token é válido! Agora você pode salvar as configurações 2FA.",
+    confirmEnableTwoFAMsg: "Tem certeza de que deseja habilitar 2FA?",
+    confirmDisableTwoFAMsg: "Tem certeza de que deseja desativar 2FA?",
+    Settings: "Configurações",
+    Dashboard: "Dashboard",
+    "New Update": "Nova Atualização",
+    Language: "Linguagem",
+    Appearance: "Aparência",
+    Theme: "Tema",
+    General: "Geral",
+    Version: "Versão",
+    "Check Update On GitHub": "Verificar atualização no Github",
+    List: "Lista",
+    Add: "Adicionar",
+    "Add New Monitor": "Adicionar novo monitor",
+    "Quick Stats": "Estatísticas rápidas",
+    Up: "On",
+    Down: "Off",
+    Pending: "Pendente",
+    Unknown: "Desconhecido",
+    Pause: "Pausar",
+    Name: "Nome",
+    Status: "Status",
+    DateTime: "Data hora",
+    Message: "Mensagem",
+    "No important events": "Nenhum evento importante",
+    Resume: "Resumo",
+    Edit: "Editar",
+    Delete: "Deletar",
+    Current: "Atual",
+    Uptime: "Tempo de atividade",
+    "Cert Exp.": "Cert Exp.",
+    days: "dias",
+    day: "dia",
+    "-day": "-dia",
+    hour: "hora",
+    "-hour": "-hora",
+    Response: "Resposta",
+    Ping: "Ping",
+    "Monitor Type": "Tipo de Monitor",
+    Keyword: "Palavra-Chave",
+    "Friendly Name": "Nome Amigável",
+    URL: "URL",
+    Hostname: "Hostname",
+    Port: "Porta",
+    "Heartbeat Interval": "Intervalo de Heartbeat",
+    Retries: "Novas tentativas",
+    "Heartbeat Retry Interval": "Intervalo de repetição de Heartbeat",
+    Advanced: "Avançado",
+    "Upside Down Mode": "Modo de cabeça para baixo",
+    "Max. Redirects": "Redirecionamento Máx.",
+    "Accepted Status Codes": "Status Code Aceitáveis",
+    Save: "Salvar",
+    Notifications: "Notificações",
+    "Not available, please setup.": "Não disponível, por favor configure.",
+    "Setup Notification": "Configurar Notificação",
+    Light: "Claro",
+    Dark: "Escuro",
+    Auto: "Auto",
+    "Theme - Heartbeat Bar": "Tema - Barra de Heartbeat",
+    Normal: "Normal",
+    Bottom: "Inferior",
+    None: "Nenhum",
+    Timezone: "Fuso horário",
+    "Search Engine Visibility": "Visibilidade do mecanismo de pesquisa",
+    "Allow indexing": "Permitir Indexação",
+    "Discourage search engines from indexing site": "Desencoraje os motores de busca de indexar o site",
+    "Change Password": "Mudar senha",
+    "Current Password": "Senha atual",
+    "New Password": "Nova Senha",
+    "Repeat New Password": "Repetir Nova Senha",
+    "Update Password": "Atualizar Senha",
+    "Disable Auth": "Desativar Autenticação",
+    "Enable Auth": "Ativar Autenticação",
+    Logout: "Deslogar",
+    Leave: "Sair",
+    "I understand, please disable": "Eu entendo, por favor desative.",
+    Confirm: "Confirmar",
+    Yes: "Sim",
+    No: "Não",
+    Username: "Usuário",
+    Password: "Senha",
+    "Remember me": "Lembre-me",
+    Login: "Autenticar",
+    "No Monitors, please": "Nenhum monitor, por favor",
+    "add one": "adicionar um",
+    "Notification Type": "Tipo de Notificação",
+    Email: "Email",
+    Test: "Testar",
+    "Certificate Info": "Info. do Certificado ",
+    "Resolver Server": "Resolver Servidor",
+    "Resource Record Type": "Tipo de registro de aplicação",
+    "Last Result": "Último resultado",
+    "Create your admin account": "Crie sua conta de admin",
+    "Repeat Password": "Repita a senha",
+    "Import Backup": "Importar Backup",
+    "Export Backup": "Exportar Backup",
+    Export: "Exportar",
+    Import: "Importar",
+    respTime: "Tempo de Resp. (ms)",
+    notAvailableShort: "N/A",
+    "Default enabled": "Padrão habilitado",
+    "Apply on all existing monitors": "Aplicar em todos os monitores existentes",
+    Create: "Criar",
+    "Clear Data": "Limpar Dados",
+    Events: "Eventos",
+    Heartbeats: "Heartbeats",
+    "Auto Get": "Obter Automático",
+    backupDescription: "Você pode fazer backup de todos os monitores e todas as notificações em um arquivo JSON.",
+    backupDescription2: "OBS: Os dados do histórico e do evento não estão incluídos.",
+    backupDescription3: "Dados confidenciais, como tokens de notificação, estão incluídos no arquivo de exportação, mantenha-o com cuidado.",
+    alertNoFile: "Selecione um arquivo para importar.",
+    alertWrongFileType: "Selecione um arquivo JSON.",
+    "Clear all statistics": "Limpar todas as estatísticas",
+    "Skip existing": "Pular existente",
+    Overwrite: "Sobrescrever",
+    Options: "Opções",
+    "Keep both": "Manter os dois",
+    "Verify Token": "Verificar Token",
+    "Setup 2FA": "Configurar 2FA",
+    "Enable 2FA": "Ativar 2FA",
+    "Disable 2FA": "Desativar 2FA",
+    "2FA Settings": "Configurações do 2FA ",
+    "Two Factor Authentication": "Autenticação e Dois Fatores",
+    Active: "Ativo",
+    Inactive: "Inativo",
+    Token: "Token",
+    "Show URI": "Mostrar URI",
+    Tags: "Tag",
+    "Add New below or Select...": "Adicionar Novo abaixo ou Selecionar ...",
+    "Tag with this name already exist.": "Já existe uma etiqueta com este nome.",
+    "Tag with this value already exist.": "Já existe uma etiqueta com este valor.",
+    color: "cor",
+    "value (optional)": "valor (opcional)",
+    Gray: "Cinza",
+    Red: "Vermelho",
+    Orange: "Laranja",
+    Green: "Verde",
+    Blue: "Azul",
+    Indigo: "Índigo",
+    Purple: "Roxo",
+    Pink: "Rosa",
+    "Search...": "Buscar...",
+    "Avg. Ping": "Ping Médio.",
+    "Avg. Response": "Resposta Média. ",
+    "Status Page": "Página de Status",
+    "Entry Page": "Página de entrada",
+    "Status Page Nothing": "Nada aqui, por favor, adicione um grupo ou monitor.",
+    "No Services": "Nenhum Serviço",
+    "All Systems Operational": "Todos os Serviços Operacionais",
+    "Partially Degraded Service": "Serviço parcialmente degradado",
+    "Degraded Service": "Serviço Degradado",
+    "Add Group": "Adicionar Grupo",
+    "Add a monitor": "Adicionar um monitor",
+    "Edit Status Page": "Editar Página de Status",
+    "Go to Dashboard": "Ir para a dashboard",
+};
diff --git a/src/languages/ru-RU.js b/src/languages/ru-RU.js
index 956235de4..20c26b4bd 100644
--- a/src/languages/ru-RU.js
+++ b/src/languages/ru-RU.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Поиск...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/sr-latn.js b/src/languages/sr-latn.js
index 2ebeb32fd..751370f7a 100644
--- a/src/languages/sr-latn.js
+++ b/src/languages/sr-latn.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/sr.js b/src/languages/sr.js
index b5cf1cb87..c4e7f77fc 100644
--- a/src/languages/sr.js
+++ b/src/languages/sr.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/sv-SE.js b/src/languages/sv-SE.js
index f4c42627e..b7636464f 100644
--- a/src/languages/sv-SE.js
+++ b/src/languages/sv-SE.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/tr-TR.js b/src/languages/tr-TR.js
index c521680c9..01b60da5b 100644
--- a/src/languages/tr-TR.js
+++ b/src/languages/tr-TR.js
@@ -168,4 +168,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/zh-CN.js b/src/languages/zh-CN.js
index c2b3dcc59..c5aa9ca69 100644
--- a/src/languages/zh-CN.js
+++ b/src/languages/zh-CN.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/languages/zh-HK.js b/src/languages/zh-HK.js
index 1e1e0c7dc..fda2ed16d 100644
--- a/src/languages/zh-HK.js
+++ b/src/languages/zh-HK.js
@@ -169,4 +169,14 @@ export default {
     "Search...": "Search...",
     "Avg. Ping": "Avg. Ping",
     "Avg. Response": "Avg. Response",
-}
+    "Entry Page": "Entry Page",
+    "Status Page Nothing": "Nothing here, please add a group or a monitor.",
+    "No Services": "No Services",
+    "All Systems Operational": "All Systems Operational",
+    "Partially Degraded Service": "Partially Degraded Service",
+    "Degraded Service": "Degraded Service",
+    "Add Group": "Add Group",
+    "Add a monitor": "Add a monitor",
+    "Edit Status Page": "Edit Status Page",
+    "Go to Dashboard": "Go to Dashboard",
+};
diff --git a/src/pages/Settings.vue b/src/pages/Settings.vue
index 42542d138..77dfee852 100644
--- a/src/pages/Settings.vue
+++ b/src/pages/Settings.vue
@@ -244,6 +244,12 @@
                     <p>Por favor usar con cuidado.</p>
                 </template>
 
+                <template v-else-if="$i18n.locale === 'pt-BR' ">
+                    <p>Você tem certeza que deseja <strong>desativar a autenticação</strong>?</p>
+                    <p>Isso é para <strong>alguém que tem autenticação de terceiros</strong> na frente do 'UpTime Kuma' como o Cloudflare Access.</p>
+                    <p>Por favor, utilize isso com cautela.</p>
+                </template>
+
                 <template v-else-if="$i18n.locale === 'zh-HK' ">
                     <p>你是否確認<strong>取消登入認証</strong>?</p>
                     <p>這個功能是設計給已有<strong>第三方認証</strong>的用家,例如 Cloudflare Access。</p>
@@ -331,16 +337,16 @@
 <script>
 import Confirm from "../components/Confirm.vue";
 import dayjs from "dayjs";
-import utc from "dayjs/plugin/utc"
-import timezone from "dayjs/plugin/timezone"
+import utc from "dayjs/plugin/utc";
+import timezone from "dayjs/plugin/timezone";
 import NotificationDialog from "../components/NotificationDialog.vue";
 import TwoFADialog from "../components/TwoFADialog.vue";
-dayjs.extend(utc)
-dayjs.extend(timezone)
+dayjs.extend(utc);
+dayjs.extend(timezone);
 
 import { timezoneList } from "../util-frontend";
-import { useToast } from "vue-toastification"
-const toast = useToast()
+import { useToast } from "vue-toastification";
+const toast = useToast();
 
 export default {
     components: {
@@ -366,7 +372,7 @@ export default {
             importAlert: null,
             importHandle: "skip",
             processing: false,
-        }
+        };
     },
     watch: {
         "password.repeatNewPassword"() {
@@ -394,13 +400,13 @@ export default {
                 this.invalidPassword = true;
             } else {
                 this.$root.getSocket().emit("changePassword", this.password, (res) => {
-                    this.$root.toastRes(res)
+                    this.$root.toastRes(res);
                     if (res.ok) {
-                        this.password.currentPassword = ""
-                        this.password.newPassword = ""
-                        this.password.repeatNewPassword = ""
+                        this.password.currentPassword = "";
+                        this.password.newPassword = "";
+                        this.password.repeatNewPassword = "";
                     }
-                })
+                });
             }
         },
 
@@ -417,14 +423,14 @@ export default {
                 }
 
                 this.loaded = true;
-            })
+            });
         },
 
         saveSettings() {
             this.$root.getSocket().emit("setSettings", this.settings, (res) => {
                 this.$root.toastRes(res);
                 this.loadSettings();
-            })
+            });
         },
 
         confirmDisableAuth() {
@@ -458,7 +464,7 @@ export default {
                 version: this.$root.info.version,
                 notificationList: this.$root.notificationList,
                 monitorList: monitorList,
-            }
+            };
             exportData = JSON.stringify(exportData, null, 4);
             let downloadItem = document.createElement("a");
             downloadItem.setAttribute("href", "data:application/json;charset=utf-8," + encodeURIComponent(exportData));
@@ -472,12 +478,12 @@ export default {
 
             if (uploadItem.length <= 0) {
                 this.processing = false;
-                return this.importAlert = this.$t("alertNoFile")
+                return this.importAlert = this.$t("alertNoFile");
             }
 
             if (uploadItem.item(0).type !== "application/json") {
                 this.processing = false;
-                return this.importAlert = this.$t("alertWrongFileType")
+                return this.importAlert = this.$t("alertWrongFileType");
             }
 
             let fileReader = new FileReader();
@@ -492,8 +498,8 @@ export default {
                     } else {
                         toast.error(res.msg);
                     }
-                })
-            }
+                });
+            };
         },
 
         clearStatistics() {
@@ -503,10 +509,10 @@ export default {
                 } else {
                     toast.error(res.msg);
                 }
-            })
+            });
         },
     },
-}
+};
 </script>
 
 <style lang="scss" scoped>
diff --git a/src/pages/StatusPage.vue b/src/pages/StatusPage.vue
index 3c7b40167..15420d8e8 100644
--- a/src/pages/StatusPage.vue
+++ b/src/pages/StatusPage.vue
@@ -30,12 +30,12 @@
             <div v-if="!enableEditMode">
                 <button class="btn btn-info me-2" @click="edit">
                     <font-awesome-icon icon="edit" />
-                    Edit Status Page
+                    {{ $t("Edit Status Page") }}
                 </button>
 
                 <a href="/dashboard" class="btn btn-info">
                     <font-awesome-icon icon="tachometer-alt" />
-                    Go to Dashboard
+                    {{ $t("Go to Dashboard") }}
                 </a>
             </div>
 
@@ -137,23 +137,23 @@
         <div class="shadow-box list  p-4 overall-status mb-4">
             <div v-if="Object.keys($root.publicMonitorList).length === 0 && loadedData">
                 <font-awesome-icon icon="question-circle" class="ok" />
-                No Services
+                {{ $t("No Services") }}
             </div>
 
             <template v-else>
                 <div v-if="allUp">
                     <font-awesome-icon icon="check-circle" class="ok" />
-                    All Systems Operational
+                    {{ $t("All Systems Operational") }}
                 </div>
 
                 <div v-else-if="partialDown">
                     <font-awesome-icon icon="exclamation-circle" class="warning" />
-                    Partially Degraded Service
+                    {{ $t("Partially Degraded Service") }}
                 </div>
 
                 <div v-else-if="allDown">
                     <font-awesome-icon icon="times-circle" class="danger" />
-                    Degraded Service
+                    {{ $t("Degraded Service") }}
                 </div>
 
                 <div v-else>
@@ -170,12 +170,12 @@
             <div>
                 <button class="btn btn-primary btn-add-group me-2" @click="addGroup">
                     <font-awesome-icon icon="plus" />
-                    Add Group
+                    {{ $t("Add Group") }}
                 </button>
             </div>
 
             <div class="mt-3">
-                <label>Add a monitor:</label>
+                <label>{{ $t("Add a monitor") }}:</label>
                 <select v-model="selectedMonitor" class="form-control">
                     <option v-for="monitor in allMonitorList" :key="monitor.id" :value="monitor">{{ monitor.name }}</option>
                 </select>
@@ -184,7 +184,8 @@
 
         <div class="mb-4">
             <div v-if="$root.publicGroupList.length === 0 && loadedData" class="text-center">
-                👀 Nothing here, please add a group or a monitor.
+                <!-- 👀 Nothing here, please add a group or a monitor. -->
+                👀 {{ $t("Status Page Nothing") }}
             </div>
 
             <PublicGroupList :edit-mode="enableEditMode" />