diff --git a/web/public/locales/pt/audio.json b/web/public/locales/pt/audio.json
index 36b414716..3bf1ba60b 100644
--- a/web/public/locales/pt/audio.json
+++ b/web/public/locales/pt/audio.json
@@ -1,8 +1,8 @@
{
- "babbling": "Balbuciar",
+ "babbling": "Falador",
"speech": "Discurso",
"whoop": "Grito de Alegria",
- "bellow": "Abaixo",
+ "bellow": "Debaixo",
"yell": "Gritar",
"whispering": "Sussurrar",
"child_singing": "Criança a Cantar",
@@ -14,7 +14,7 @@
"meow": "Miau",
"run": "Correr",
"sheep": "Ovelha",
- "motorcycle": "Motociclo",
+ "motorcycle": "Mota",
"car": "Carro",
"cat": "Gato",
"horse": "Cavalo",
@@ -33,15 +33,15 @@
"whistling": "Assobiar",
"wheeze": "Chiadeira",
"gasp": "Ofegar",
- "cough": "Tosse",
- "sneeze": "Espirro",
+ "cough": "Tossir",
+ "sneeze": "Espirrar",
"footsteps": "Passos",
"chewing": "Mastigar",
"biting": "Morder",
"gargling": "Gargarejar",
"stomach_rumble": "Ronco de Estômago",
"burping": "Arroto",
- "hiccup": "Solavanco",
+ "hiccup": "Soluço",
"fart": "Pum",
"hands": "Mãos",
"finger_snapping": "Estalar os Dedos",
@@ -109,7 +109,7 @@
"helicopter": "Helicóptero",
"engine": "Motor",
"coin": "Moeda",
- "scissors": "Tesoura",
+ "scissors": "Tesouras",
"electric_shaver": "Barbeador Elétrico",
"computer_keyboard": "Teclado de Computador",
"alarm": "Alarme",
@@ -145,12 +145,12 @@
"owl": "Coruja",
"mouse": "Rato",
"vehicle": "Veículo",
- "hair_dryer": "Secador de cabelo",
- "toothbrush": "Escova de dentes",
- "sink": "Pia",
+ "hair_dryer": "Secador de Cabelo",
+ "toothbrush": "Escova de Dentes",
+ "sink": "Banca",
"blender": "Liquidificador",
"pant": "Ofegar",
- "snort": "Espirrar pelo Nariz",
+ "snort": "Resfolegar",
"throat_clearing": "Limpar a Garganta",
"sniff": "Cheirar",
"shuffle": "Embaralhar",
diff --git a/web/public/locales/pt/common.json b/web/public/locales/pt/common.json
index 69d301472..97d543802 100644
--- a/web/public/locales/pt/common.json
+++ b/web/public/locales/pt/common.json
@@ -2,13 +2,13 @@
"time": {
"last30": "Últimos 30 dias",
"12hours": "12 horas",
- "justNow": "Agora",
+ "justNow": "Agora mesmo",
"yesterday": "Ontem",
"today": "Hoje",
"last7": "Últimos 7 dias",
"last14": "Últimos 14 dias",
- "thisWeek": "Essa semana",
- "lastWeek": "Semana passada",
+ "thisWeek": "Esta Semana",
+ "lastWeek": "Semana Passada",
"5minutes": "5 minutos",
"10minutes": "10 minutos",
"30minutes": "30 minutos",
@@ -24,8 +24,8 @@
"day_one": "{{time}} dia",
"day_many": "{{time}} dias",
"day_other": "{{time}} dias",
- "thisMonth": "Esse mês",
- "lastMonth": "Mês passado",
+ "thisMonth": "Este Mês",
+ "lastMonth": "Mês Passado",
"1hour": "1 hora",
"hour_one": "{{time}} hora",
"hour_many": "{{time}} horas",
@@ -39,7 +39,7 @@
"untilForTime": "Até {{time}}",
"untilForRestart": "Até que o Frigate reinicie.",
"untilRestart": "Até reiniciar",
- "ago": "{{timeAgo}} atrás",
+ "ago": "há {{timeAgo}}",
"d": "{{time}}d",
"h": "{{time}}h",
"m": "{{time}}m",
@@ -91,64 +91,64 @@
},
"unit": {
"speed": {
- "kph": "kph",
+ "kph": "km/h",
"mph": "mph"
},
"length": {
- "feet": "pé",
+ "feet": "pés",
"meters": "metros"
}
},
"button": {
- "enabled": "Habilitado",
- "enable": "Habilitar",
+ "enabled": "Ativado",
+ "enable": "Ativar",
"done": "Feito",
"reset": "Reiniciar",
- "disabled": "Desabilitado",
- "saving": "Salvando…",
+ "disabled": "Desativado",
+ "saving": "A guardar…",
"apply": "Aplicar",
- "disable": "Desabilitar",
- "save": "Salvar",
- "copy": "Cópia",
+ "disable": "Desativar",
+ "save": "Guardar",
+ "copy": "Copiar",
"cancel": "Cancelar",
"close": "Fechar",
"history": "Histórico",
"back": "Voltar",
"fullscreen": "Ecrã Completo",
"exitFullscreen": "Sair do Ecrã Completo",
- "twoWayTalk": "Conversa bidirecional",
- "cameraAudio": "Áudio da câmera",
+ "twoWayTalk": "Conversa Bidirecional",
+ "cameraAudio": "Áudio da Câmera",
"edit": "Editar",
"off": "DESLIGADO",
"copyCoordinates": "Copiar coordenadas",
"on": "LIGADO",
- "delete": "Excluir",
- "download": "Download",
- "info": "Informações",
+ "delete": "Eliminar",
+ "download": "Transferir",
+ "info": "Informação",
"no": "Não",
"suspended": "Suspenso",
"yes": "Sim",
- "unselect": "Desmarcar",
+ "unselect": "Desselecionar",
"unsuspended": "Dessuspender",
- "deleteNow": "Excluir agora",
+ "deleteNow": "Eliminar Agora",
"export": "Exportar",
- "next": "Próximo",
+ "next": "Seguinte",
"play": "Tocar",
- "pictureInPicture": "Sobrepor Imagem"
+ "pictureInPicture": "Imagem sobre Imagem"
},
"label": {
"back": "Voltar"
},
"menu": {
"user": {
- "logout": "Sair",
+ "logout": "Terminar sessão",
"account": "Conta",
"current": "Utilizador atual: {{user}}",
- "setPassword": "Definir senha",
+ "setPassword": "Definir Palavra-passe",
"title": "Utilizador",
- "anonymous": "anônimo"
+ "anonymous": "anónimo"
},
- "faceLibrary": "Biblioteca de rostos",
+ "faceLibrary": "Biblioteca de Rostos",
"withSystem": "Sistema",
"theme": {
"label": "Tema",
@@ -156,66 +156,66 @@
"green": "Verde",
"red": "Vermelho",
"contrast": "Alto contraste",
- "default": "Padrão",
+ "default": "Predefinição",
"highcontrast": "Alto Contraste",
"nord": "Nord"
},
"system": "Sistema",
"systemMetrics": "Métricas do sistema",
"configuration": "Configuração",
- "systemLogs": "Logs do sistema",
- "settings": "Configurações",
- "configurationEditor": "Editor de configuração",
+ "systemLogs": "Registos do sistema",
+ "settings": "Definições",
+ "configurationEditor": "Editor de Configuração",
"languages": "Idiomas",
"language": {
- "en": "Inglês (English)",
- "zhCN": "Chinês simplificado",
+ "en": "Inglês (EUA)",
+ "zhCN": "Chinês (Chinês Simplificado)",
"withSystem": {
- "label": "Use as configurações do sistema para idioma"
+ "label": "Utilizar as definições do sistema para o idioma"
},
- "fr": "Français (Francês)",
- "es": "Español (Espanhol)",
- "ru": "Русский (Russo)",
- "de": "Deutsch (Alemão)",
- "ja": "日本語 (Japonês)",
- "yue": "Cantonês (粵語)",
- "ar": "العربية (Arabic)",
- "uk": "Ucraniano (Українська)",
- "el": "Grego (Ελληνικά)",
- "hi": "हिन्दी (Hindi)",
- "pt": "Português (Portuguese)",
- "tr": "Türkçe (Turkish)",
- "it": "Italiano (Italian)",
- "nb": "Norueguês Bokmål (Norsk Bokmål)",
- "ko": "Coreano (한국어)",
- "vi": "Vietnamita (Tiếng Việt)",
- "nl": "Nederlands (Dutch)",
- "sv": "Svenska (Swedish)",
- "cs": "Tcheco (Čeština)",
- "fa": "Persa (فارسی)",
- "pl": "Polonês (Polski)",
- "he": "Hebraico (עברית)",
- "fi": "Finlandês (Suomi)",
- "da": "Dinamarquês (Dansk)",
- "ro": "Romeno (Română)",
- "hu": "Húngaro (Magyar)",
- "sk": "Eslovaco (Slovenčina)",
+ "fr": "Francês (França)",
+ "es": "Espanhol (Espanha)",
+ "ru": "Russo",
+ "de": "Alemão (Alemanha)",
+ "ja": "Japonês",
+ "yue": "Cantonês",
+ "ar": "Árabe",
+ "uk": "Ucraniano",
+ "el": "Grego",
+ "hi": "Híndi (Índia)",
+ "pt": "Português (Portugal)",
+ "tr": "Turco (Turquia)",
+ "it": "Italiano (Itália)",
+ "nb": "Norueguês Bokmål",
+ "ko": "Coreano",
+ "vi": "Vietnamita",
+ "nl": "Holandês (Holanda)",
+ "sv": "Sueco",
+ "cs": "Checo",
+ "fa": "Persa",
+ "pl": "Polaco",
+ "he": "Hebraico",
+ "fi": "Finlandês",
+ "da": "Dinamarquês",
+ "ro": "Romeno",
+ "hu": "Húngaro",
+ "sk": "Eslovaco",
"th": "Tailandês",
- "ca": "Català (Catalão)",
- "ptBR": "Português brasileiro",
- "sr": "Српски (Sérvio)",
- "sl": "Slovenščina (Esloveno)",
- "lt": "Lietuvių (Lituano)",
- "bg": "Български (Búlgaro)",
+ "ca": "Catalão",
+ "ptBR": "Português (Brazil)",
+ "sr": "Sérvio",
+ "sl": "Esloveno",
+ "lt": "Lituano",
+ "bg": "Búlgaro",
"gl": "Galego",
- "id": "Bahasa Indonesia (Indonésio)",
- "ur": "اردو (Urdu)"
+ "id": "Indonésio Bahasa",
+ "ur": "Urdu"
},
"appearance": "Aparência",
"darkMode": {
- "label": "Modo escuro",
+ "label": "Modo Escuro",
"withSystem": {
- "label": "Use as configurações do sistema para o modo claro ou escuro"
+ "label": "Utilizar as definições do sistema para o modo claro ou escuro"
},
"light": "Claro",
"dark": "Escuro"
@@ -228,7 +228,7 @@
"restart": "Reiniciar Frigate",
"live": {
"title": "Ao vivo",
- "allCameras": "Todas as câmaras",
+ "allCameras": "Todas as Câmaras",
"cameras": {
"title": "Câmaras",
"count_one": "{{count}} Câmera",
@@ -238,8 +238,8 @@
},
"export": "Exportar",
"explore": "Explorar",
- "review": "Análise",
- "uiPlayground": "Área de Testes da Interface"
+ "review": "Rever",
+ "uiPlayground": "Área de Testes da IU"
},
"pagination": {
"previous": {
@@ -248,34 +248,34 @@
},
"label": "paginação",
"next": {
- "title": "Próximo",
- "label": "Ir para a próxima página"
+ "title": "Seguinte",
+ "label": "Ir para a página seguinte"
},
"more": "Mais páginas"
},
"role": {
"admin": "Administrador",
"viewer": "Visualizador",
- "title": "Regra",
- "desc": "Administradores têm acesso total a todos os recursos da interface do Frigate. Visualizadores estão limitados a visualizar câmeras, revisar itens e assistir o histórico de gravaçoes na interface."
+ "title": "Função",
+ "desc": "Os administradores têm acesso completo a todas as funcionalidades da IU do Frigate. Os visualizadores estão limitados a visualizar as câmeras, rever itens, e o histórico de gravaçoes na IU."
},
"toast": {
- "copyUrlToClipboard": "URL copiada para a área de transferência.",
+ "copyUrlToClipboard": "URL copiado para a área de transferência.",
"save": {
- "title": "Salvar",
+ "title": "Guardar",
"error": {
- "noMessage": "Falha ao salvar as alterações de configuração",
- "title": "Falha ao salvar as alterações de configuração: {{errorMessage}}"
+ "noMessage": "Não foi possível guardar as alterações da configuração",
+ "title": "Não foi possível guardar as alterações da configuração: {{errorMessage}}"
}
}
},
"accessDenied": {
- "documentTitle": "Acesso negado - Frigate",
- "title": "Acesso negado",
- "desc": "Você não tem permissão para visualizar esta página."
+ "documentTitle": "Frigate - Acesso Negado",
+ "title": "Acesso Negado",
+ "desc": "Não tem permissão para ver esta página."
},
"notFound": {
- "documentTitle": "Não encontrado - Frigate",
+ "documentTitle": "Frigate - Não Encontrado",
"desc": "Página não encontrada",
"title": "404"
},
diff --git a/web/public/locales/pt/components/auth.json b/web/public/locales/pt/components/auth.json
index 5dcccd7d6..fc00399b1 100644
--- a/web/public/locales/pt/components/auth.json
+++ b/web/public/locales/pt/components/auth.json
@@ -1,15 +1,15 @@
{
"form": {
"user": "Nome do utilizador",
- "login": "Login",
+ "login": "Iniciar sessão",
"errors": {
"usernameRequired": "O nome do utilizador é obrigatório",
- "passwordRequired": "Senha é necessária",
+ "passwordRequired": "A palavra-passe é obrigatória",
"rateLimit": "Limite de taxa excedido. Tente novamente mais tarde.",
- "loginFailed": "Falha no login",
- "unknownError": "Erro desconhecido. Verifique os logs.",
- "webUnknownError": "Erro desconhecido. Verifique os logs da consola."
+ "loginFailed": "Autenticação falhou",
+ "unknownError": "Erro desconhecido. Verifique os registos.",
+ "webUnknownError": "Erro desconhecido. Verifique os registos da consola."
},
- "password": "Senha"
+ "password": "Palavra-passe"
}
}
diff --git a/web/public/locales/pt/components/camera.json b/web/public/locales/pt/components/camera.json
index fa4a5fdc1..3f7052c81 100644
--- a/web/public/locales/pt/components/camera.json
+++ b/web/public/locales/pt/components/camera.json
@@ -1,27 +1,27 @@
{
"group": {
- "label": "Grupos de câmaras",
- "add": "Adicionar grupo de câmaras",
- "edit": "Editar grupo de câmaras",
+ "label": "Grupos de Câmaras",
+ "add": "Adicionar Gupo de Câmaras",
+ "edit": "Editar Grupo de Câmaras",
"delete": {
- "label": "Excluir grupo de câmaras",
+ "label": "Eliminar Grupo de Câmaras",
"confirm": {
- "title": "Confirmar exclusão",
- "desc": "Tem certeza de que deseja excluir o grupo de câmaras {{name}}?"
+ "title": "Confirmar Eliminar",
+ "desc": "Tem a certeza que deseja eliminar o grupo de câmaras {{name}}?"
}
},
"name": {
"label": "Nome",
- "placeholder": "Digita um nome…",
+ "placeholder": "Inserir um nome…",
"errorMessage": {
"exists": "O nome do grupo de câmaras já existe.",
"nameMustNotPeriod": "O nome do grupo de câmaras não deve conter pontos.",
- "mustLeastCharacters": "O nome do grupo de câmaras deve ter pelo menos 2 caracteres.",
- "invalid": "Nome de grupo de câmaras inválido."
+ "mustLeastCharacters": "O nome do grupo de câmaras deve ter pelo menos 2 carateres.",
+ "invalid": "Nome do grupo de câmaras inválido."
}
},
"cameras": {
- "desc": "Selecione câmaras para este grupo.",
+ "desc": "Selecione as câmaras para este grupo.",
"label": "Câmaras"
},
"icon": "Ícone",
@@ -37,17 +37,17 @@
}
},
"streamMethod": {
- "label": "Método de transmissão",
+ "label": "Método de Transmissão",
"method": {
"smartStreaming": {
- "label": "Transmissão inteligente (recomendado)",
- "desc": "A transmissão inteligente atualizará a imagem da sua câmara uma vez por minuto quando nenhuma atividade detectável estiver ocorrendo para conservar largura de banda e recursos. Quando a atividade é detectada, a imagem muda perfeitamente para uma transmissão ao vivo."
+ "label": "Transmissão Inteligente (recomendado)",
+ "desc": "A transmissão inteligente atualizará a imagem da sua câmara uma vez por minuto quando não ocorrer nenhuma atividade detetável para conservar largura de banda e recursos. Quando a atividade é detetada, a imagem muda perfeitamente para uma transmissão ao vivo."
},
"continuousStreaming": {
- "label": "Transmissão contínua",
+ "label": "Transmissão Contínua",
"desc": {
- "warning": "A transmissão contínua pode causar alto uso de largura de banda e problemas de desempenho. Use com precaução.",
- "title": "A imagem da câmara sempre será uma transmissão ao vivo quando visível no painel, mesmo que nenhuma atividade esteja sendo detectada."
+ "warning": "A transmissão contínua pode causar a utilização alta da largura de banda e problemas de desempenho. Utilize com precaução.",
+ "title": "A imagem da câmara será sempre uma transmissão ao vivo quando visível no painel, mesmo que não esteja a ser detetada nenhuma atividade."
}
},
"noStreaming": {
@@ -59,24 +59,25 @@
},
"compatibilityMode": {
"label": "Modo de compatibilidade",
- "desc": "Habilite esta opção somente se a transmissão ao vivo da sua câmara estiver exibindo artefatos de cor e tiver uma linha diagonal no lado direito da imagem."
+ "desc": "Ative esta opção apenas se a transmissão ao vivo da sua câmara estiver a exibir artefatos de cor e tiver uma linha diagonal no lado direito da imagem."
},
- "label": "Configurações de transmissão da câmara",
- "desc": "Altere as opções de transmissão ao vivo para o painel deste grupo de câmaras. Essas configurações são específicas do dispositivo/navegador.",
- "title": "{{cameraName}} configurações de transmissão",
+ "label": "Definições de Transmissão da Câmara",
+ "desc": "Altere as opções de transmissão ao vivo para o painel deste grupo de câmaras. Estas definições são específicas do dispositivo/navegador.",
+ "title": "{{cameraName}} Definições de Transmissão",
"placeholder": "Escolha uma transmissão",
"stream": "Transmissão"
- }
+ },
+ "birdseye": "Vista Aérea"
}
},
"debug": {
"options": {
- "label": "Configurações",
+ "label": "Definições",
"title": "Opções",
- "hideOptions": "Ocultar opções",
- "showOptions": "Mostrar opções"
+ "hideOptions": "Ocultar Opções",
+ "showOptions": "Mostrar Opções"
},
- "boundingBox": "Caixa delimitadora",
+ "boundingBox": "Caixa Delimitadora",
"timestamp": "Carimbo de hora",
"zones": "Zonas",
"mask": "Máscara",
diff --git a/web/public/locales/pt/components/dialog.json b/web/public/locales/pt/components/dialog.json
index 4f834b78e..b1aeb06c1 100644
--- a/web/public/locales/pt/components/dialog.json
+++ b/web/public/locales/pt/components/dialog.json
@@ -2,17 +2,17 @@
"restart": {
"button": "Reiniciar",
"restarting": {
- "title": "Frigate está reiniciando",
+ "title": "Frigate está a reiniciar",
"content": "Esta página será recarregada em {{countdown}} segundos.",
- "button": "Forçar atualização agora"
+ "button": "Forçar Recarregar Agora"
},
- "title": "Tem certeza de que deseja reiniciar o Frigate?"
+ "title": "Tem a certeza que deseja reiniciar o Frigate?"
},
"explore": {
"plus": {
"submitToPlus": {
- "label": "Enviar para Frigate+",
- "desc": "Objetos em locais que você quer evitar não são falsos positivos. Enviá-los como falsos positivos confundirá o modelo."
+ "label": "Submeter para Frigate+",
+ "desc": "Os objetos nas localizações que quer evitar não são falsos positivos. Submete-los como falsos positivos confundirá o modelo."
},
"review": {
"true": {
@@ -22,7 +22,7 @@
"true_other": "Estão são {{label}}"
},
"state": {
- "submitted": "Enviado"
+ "submitted": "Submetido"
},
"false": {
"label": "Não confirmar esta etiqueta para Frigate Plus",
@@ -31,15 +31,15 @@
"false_other": "Estes não são {{label}}"
},
"question": {
- "label": "Confirme este rótulo para Frigate Plus",
+ "label": "Confirme esta etiqueta para Frigate Plus",
"ask_a": "Este objeto é um {{label}}
?",
"ask_an": "Este objeto é um {{label}}
?",
- "ask_full": "Este objeto é um(a) {{untranslatedLabel}}
({{translatedLabel}})?"
+ "ask_full": "Este objeto é um {{untranslatedLabel}}
({{translatedLabel}})?"
}
}
},
"video": {
- "viewInHistory": "Ver no histórico"
+ "viewInHistory": "Ver no Histórico"
}
},
"export": {
@@ -60,67 +60,67 @@
},
"export": "Exportar",
"toast": {
- "success": "Exportação iniciada com sucesso. Veja o arquivo na pasta /exports.",
+ "success": "Exportação iniciada com sucesso. Veja o ficheiro na pasta de exportações.",
"error": {
- "failed": "Falha ao iniciar a exportação: {{error}}",
+ "failed": "Não foi possível iniciar a exportação: {{error}}",
"endTimeMustAfterStartTime": "O horário de término deve ser posterior ao horário de início",
"noVaildTimeSelected": "Nenhum intervalo de tempo válido selecionado"
}
},
"selectOrExport": "Selecionar ou Exportar",
"fromTimeline": {
- "saveExport": "Salvar exportação",
- "previewExport": "Visualizar exportação"
+ "saveExport": "Guardar Exportação",
+ "previewExport": "Pré-visualizar Exportação"
},
- "select": "Selecione",
+ "select": "Selecionar",
"name": {
- "placeholder": "Nome da exportação"
+ "placeholder": "Nome da Exportação"
}
},
"streaming": {
"showStats": {
"label": "Mostrar estatísticas de transmissão",
- "desc": "Habilite esta opção para mostrar estatísticas de transmissão como uma sobreposição no feed da câmara."
+ "desc": "Ative esta opção para mostrar as estatísticas de transmissão como uma sobreposição na feed da câmara."
},
"restreaming": {
"desc": {
- "title": "Configure o go2rtc para obter opções adicionais de visualização ao vivo e áudio para esta câmara.",
+ "title": "Configure go2rtc para obter opções adicionais da visualização ao vivo e o áudio para esta câmara.",
"readTheDocumentation": "Leia a documentação"
},
- "disabled": "A retransmissão não está habilitada para esta câmara."
+ "disabled": "A retransmissão não está ativada para esta câmara."
},
"label": "Transmissão",
- "debugView": "Exibição de depuração"
+ "debugView": "Ver Depuração"
},
"search": {
"saveSearch": {
- "label": "Salvar pesquisa",
- "overwrite": "{{searchName}} já existe. Salvar substituirá o valor existente.",
- "success": "A pesquisa ({{searchName}}) foi salva.",
+ "label": "Guardar Procura",
+ "overwrite": "{{searchName}} já existe. Ao guardar irá substituir o valor existente.",
+ "success": "A procura ({{searchName}}) foi guardada.",
"button": {
"save": {
- "label": "Salvar esta pesquisa"
+ "label": "Guardar esta procura"
}
},
- "placeholder": "Digite um nome para sua pesquisa",
- "desc": "Forneça um nome para esta pesquisa salva."
+ "placeholder": "Insira um nome para a sua procura",
+ "desc": "Forneça um nome para esta procura guardada."
}
},
"recording": {
"confirmDelete": {
- "title": "Confirmar exclusão",
+ "title": "Confirmar Eliminar",
"desc": {
- "selected": "Tem certeza de que deseja excluir todos os vídeos gravados associados a este item de analise?
Segure a tecla Shift para ignorar esta caixa de diálogo no futuro."
+ "selected": "Tem a certeza que deseja eliminar todos os vídeos guardados associados com este item de análise?
Pressione a tecla Shift para ignorar esta janela no futuro."
},
"toast": {
- "success": "As imagens de vídeo associadas aos itens de analise selecionados foram excluídas com êxito.",
- "error": "Falhou a apagar: {{error}}"
+ "success": "As imagens de vídeo associadas com os itens de análise selecionados foram elimiandos com sucesso.",
+ "error": "Não foi possível eliminar: {{error}}"
}
},
"button": {
"export": "Exportar",
"markAsReviewed": "Marcar como analisado",
- "deleteNow": "Excluir agora"
+ "deleteNow": "Eliminar Agora"
}
},
"imagePicker": {
diff --git a/web/public/locales/pt/components/filter.json b/web/public/locales/pt/components/filter.json
index 30f2bd24f..3f7fce7b8 100644
--- a/web/public/locales/pt/components/filter.json
+++ b/web/public/locales/pt/components/filter.json
@@ -13,18 +13,18 @@
"zones": {
"label": "Zonas",
"all": {
- "title": "Todas as zonas",
+ "title": "Todas as Zonas",
"short": "Zonas"
}
},
"dates": {
"all": {
- "title": "Todas as datas",
+ "title": "Todas as Datas",
"short": "Datas"
},
- "selectPreset": "Escolhe uma predefinição…"
+ "selectPreset": "Selecionar um Pré-ajuste…"
},
- "more": "Mais filtros",
+ "more": "Mais Filtros",
"reset": {
"label": "Redefinir filtros para valores padrão"
},
@@ -35,28 +35,28 @@
"score": "Pontuação",
"features": {
"label": "Funcionalidades",
- "hasSnapshot": "Tem um snapshot",
+ "hasSnapshot": "Tem uma captura",
"hasVideoClip": "Tem um videoclipe",
"submittedToFrigatePlus": {
- "label": "Enviado para Frigate+",
- "tips": "Primeiro, você deve filtrar os objetos rastreados que têm um snapshot.
Objetos rastreados sem um snapshot não podem ser enviados ao Frigate+."
+ "label": "Submetido para Frigate+",
+ "tips": "Primeiro, deve filtrar os objetos rastreados que têm uma captura.
Os objetos rastreados sem uma captura não podem ser submetidos para Frigate+."
}
},
"sort": {
- "label": "Organizar",
+ "label": "Ordenar",
"dateAsc": "Data (Ascendente)",
- "scoreAsc": "Pontuação do objeto (Crescente)",
- "scoreDesc": "Pontuação do objeto (Decrescente)",
- "speedDesc": "Velocidade estimada (Decrescente)",
- "speedAsc": "Velocidade estimada (Crescente)",
+ "scoreAsc": "Pontuação do Objeto (Ascendente)",
+ "scoreDesc": "Pontuação do Objeto (Descendente)",
+ "speedDesc": "Velocidade Estimada (Descendente)",
+ "speedAsc": "Velocidade Estimada (Ascendente)",
"dateDesc": "Data (Decrescente)",
"relevance": "Relevância"
},
"cameras": {
- "label": "Filtro de câmaras",
+ "label": "Filtro de Câmaras",
"all": {
"short": "Câmaras",
- "title": "Todas as câmaras"
+ "title": "Todas as Câmaras"
}
},
"review": {
@@ -67,22 +67,22 @@
},
"explore": {
"settings": {
- "title": "Configurações",
+ "title": "Definições",
"defaultView": {
- "title": "Exibição padrão",
- "summary": "Sumário",
- "unfilteredGrid": "Grade não filtrada",
- "desc": "Quando nenhum filtro for selecionado, exiba um resumo dos objetos rastreados mais recentemente por etiqueta ou exiba uma grade não filtrada."
+ "title": "Visualização Predefinida",
+ "summary": "Resumo",
+ "unfilteredGrid": "Grelha não Filtrada",
+ "desc": "Quando não for selecionado nenhum filtro, exiba um resumo dos objetos rastreados mais recentes por etiqueta, ou exiba uma grelha não filtrada."
},
"gridColumns": {
- "title": "Colunas da grade",
- "desc": "Selecione o número de colunas na visualização em grade."
+ "title": "Colunas da Grelha",
+ "desc": "Selecione o número de colunas na visualização em grelha."
},
"searchSource": {
- "label": "Pesquisar fonte",
- "desc": "Escolha se deseja pesquisar nas miniaturas ou descrições dos seus objetos rastreados.",
+ "label": "Procurar Fonte",
+ "desc": "Escolha se deseja procurar nas miniaturas ou descrições dos seus objetos rastreados.",
"options": {
- "thumbnailImage": "Imagem em miniatura",
+ "thumbnailImage": "Imagem em Miniatura",
"description": "Descrição"
}
}
@@ -94,14 +94,14 @@
}
},
"logSettings": {
- "label": "Nível de log do filtro",
+ "label": "Nível de registo do filtro",
"loading": {
- "title": "Carregando",
- "desc": "Ao fazer scroll até ao fundo no painel de logs, novos registos são automaticamente apresentados à medida que são adicionados."
+ "title": "A carregar",
+ "desc": "Quando desliza até ao fundo no painel de registos, os novos registos são apresentados automaticamente à medida que são adicionados."
},
- "filterBySeverity": "Filtrar logs por gravidade",
- "disableLogStreaming": "Desativar transmissão de logs",
- "allLogs": "Todos os logs"
+ "filterBySeverity": "Filtrar registos por gravidade",
+ "disableLogStreaming": "Desativar transmissão de registos",
+ "allLogs": "Todos os registos"
},
"estimatedSpeed": "Velocidade estimada ({{unit}})",
"timeRange": "Intervalo de tempo",
@@ -109,20 +109,22 @@
"filterBy": "Filtrar por máscara de zona"
},
"trackedObjectDelete": {
- "title": "Confirmar exclusão",
+ "title": "Confirmar Eliminar",
"toast": {
- "success": "Objetos rastreados excluídos com sucesso.",
- "error": "Falha ao excluir os objetos rastreados: {{errorMessage}}"
+ "success": "Objetos rastreados eliminados com sucesso.",
+ "error": "Não foi possível eliminar os objetos rastreados: {{errorMessage}}"
},
- "desc": "Excluir estes {{objectLength}} objetos rastreados remove a captura de imagem, quaisquer embeddings salvos e todas as entradas associadas ao ciclo de vida do objeto. As gravações desses objetos rastreados na visualização do Histórico NÃO serão excluídas.
Tem certeza de que deseja continuar?
Mantenha pressionada a tecla Shift para ignorar este diálogo no futuro."
+ "desc": "Ao eliminar estes {{objectLength}} objetos rastreados remove a captura de imagem, quaisquer integrações guardadas, e todas as entradas associadas ao ciclo de vida do objeto. As gravações desses objetos rastreados na visualização do Histórico NÃO serão eliminadas.
Tem a certeza que deseja continuar?
Mantenha pressionada a tecla Shift para ignorar esta janela no futuro."
},
"recognizedLicensePlates": {
- "title": "Placas Reconhecidas",
- "noLicensePlatesFound": "Nenhuma matrícula encontrada.",
- "selectPlatesFromList": "Selecione uma ou mais placas da lista.",
- "loadFailed": "Falha ao carregar as placas reconhecidas.",
- "loading": "Carregando placas reconhecidas…",
- "placeholder": "Digite para procurar placas…"
+ "title": "Matrículas Reconhecidas",
+ "noLicensePlatesFound": "Não foram encontradas matrículas.",
+ "selectPlatesFromList": "Selecione uma ou mais matrículas da lista.",
+ "loadFailed": "Não foi possível carregar as matrículas reconhecidas.",
+ "loading": "A carregar as matrículas reconhecidas…",
+ "placeholder": "Digite para procurar matrículas…",
+ "selectAll": "Selecionar tudo",
+ "clearAll": "Limpar tudo"
},
"classes": {
"label": "Classes",
diff --git a/web/public/locales/pt/components/icons.json b/web/public/locales/pt/components/icons.json
index ddd38e84c..71b767a1d 100644
--- a/web/public/locales/pt/components/icons.json
+++ b/web/public/locales/pt/components/icons.json
@@ -2,7 +2,7 @@
"iconPicker": {
"selectIcon": "Selecione um ícone",
"search": {
- "placeholder": "Pesquisar por um ícone…"
+ "placeholder": "Procurar por um ícone…"
}
}
}
diff --git a/web/public/locales/pt/components/input.json b/web/public/locales/pt/components/input.json
index 3332f0820..1324ed188 100644
--- a/web/public/locales/pt/components/input.json
+++ b/web/public/locales/pt/components/input.json
@@ -1,9 +1,9 @@
{
"button": {
"downloadVideo": {
- "label": "Descarregar vídeo",
+ "label": "Transferir Vídeo",
"toast": {
- "success": "O vídeo do seu item de análise começou a ser descarregado."
+ "success": "O vídeo do seu item de análise começou a ser transferido."
}
}
}
diff --git a/web/public/locales/pt/components/player.json b/web/public/locales/pt/components/player.json
index 301e3f60d..741d37ef0 100644
--- a/web/public/locales/pt/components/player.json
+++ b/web/public/locales/pt/components/player.json
@@ -1,12 +1,12 @@
{
- "noPreviewFound": "Nenhuma visualização encontrada",
- "noPreviewFoundFor": "Nenhuma visualização encontrada para {{cameraName}}",
+ "noPreviewFound": "Nenhuma pré-visualização encontrada",
+ "noPreviewFoundFor": "Nenhuma pré-visualização encontrada para {{cameraName}}",
"submitFrigatePlus": {
- "title": "Enviar este quadro para o Frigate+?",
- "submit": "Enviar"
+ "title": "Submeter esta imagem para Frigate+?",
+ "submit": "Submeter"
},
"streamOffline": {
- "title": "Transmissão offline",
+ "title": "Transmissão Off-line",
"desc": "Nenhum quadro foi recebido na transmissão de detecção
{{cameraName}}, verifique os logs de erro"
},
"cameraDisabled": "A câmara está desativada",
@@ -29,23 +29,23 @@
},
"totalFrames": "Total de quadros:",
"droppedFrames": {
- "title": "Quadros perdidos:",
+ "title": "Imagens perdidas:",
"short": {
- "title": "Perdido",
- "value": "{{droppedFrames}} quadros"
+ "title": "Perdida",
+ "value": "{{droppedFrames}} imagens"
}
},
"decodedFrames": "Quadros decodificados:",
- "droppedFrameRate": "Taxa de Quadros Perdidos:"
+ "droppedFrameRate": "Taxa de imagem perdida:"
},
"noRecordingsFoundForThisTime": "Nenhuma gravação encontrada para este momento",
- "livePlayerRequiredIOSVersion": "iOS 17.1 ou superior é necessário para este tipo de transmissão ao vivo.",
+ "livePlayerRequiredIOSVersion": "É necessário o iOS 17.1 ou superior para este tipo de transmissão ao vivo.",
"toast": {
"success": {
- "submittedFrigatePlus": "Quadro enviado com sucesso para o Frigate+"
+ "submittedFrigatePlus": "Imagem submetida com sucesso para Frigate+"
},
"error": {
- "submitFrigatePlusFailed": "Falha ao enviar o quadro para o Frigate+"
+ "submitFrigatePlusFailed": "Não foi possível submeter a imagem para Frigate+"
}
}
}
diff --git a/web/public/locales/pt/objects.json b/web/public/locales/pt/objects.json
index ada61d184..88762a7f3 100644
--- a/web/public/locales/pt/objects.json
+++ b/web/public/locales/pt/objects.json
@@ -2,16 +2,16 @@
"giraffe": "Girafa",
"cup": "Chávena",
"person": "Pessoa",
- "stop_sign": "Sinal de Stop",
+ "stop_sign": "Sinal de Parar",
"sheep": "Ovelha",
- "sandwich": "Sandes",
+ "sandwich": "Sande",
"carrot": "Cenoura",
- "dining_table": "Mesa de jantar",
- "motorcycle": "Motociclo",
+ "dining_table": "Mesa de Jantar",
+ "motorcycle": "Mota",
"bicycle": "Bicicleta",
- "street_sign": "Sinal de rua",
+ "street_sign": "Sinal de Rua",
"pizza": "Pizza",
- "parking_meter": "Parquímetro",
+ "parking_meter": "Parcómetro",
"skateboard": "Skate",
"bottle": "Garrafa",
"car": "Carro",
@@ -23,19 +23,19 @@
"fire_hydrant": "Boca de Incêndio",
"bird": "Pássaro",
"cat": "Gato",
- "bench": "Banco de jardim/rua",
+ "bench": "Banco de Jardim",
"elephant": "Elefante",
"hat": "Chapéu",
"backpack": "Mochila",
"shoe": "Sapato",
- "handbag": "Bolsa de mão",
+ "handbag": "Carteira",
"tie": "Gravata",
- "suitcase": "Mala de viagem",
+ "suitcase": "Mala de Viagem",
"frisbee": "Disco de Frisbee",
"skis": "Esquis",
- "kite": "Kite",
- "baseball_bat": "Taco basebol",
- "tennis_racket": "Raquete de Tenis",
+ "kite": "Papagaio de Papel",
+ "baseball_bat": "Taco de Basebol",
+ "tennis_racket": "Raquete de Ténis",
"plate": "Prato",
"wine_glass": "Copo de Vinho",
"fork": "Garfo",
@@ -43,17 +43,17 @@
"bowl": "Tijela",
"banana": "Banana",
"apple": "Maça",
- "hot_dog": "Cachorro quente",
+ "hot_dog": "Cachorro Quente",
"donut": "Donut",
"cake": "Bolo",
"chair": "Cadeira",
- "potted_plant": "Planta em vaso",
+ "potted_plant": "Planta em Vaso",
"mirror": "Espelho",
- "desk": "Mesa",
+ "desk": "Escrivaninha",
"toilet": "Casa de Banho",
"door": "Porta",
- "baseball_glove": "Luva de beisebol",
- "surfboard": "Prancha de surf",
+ "baseball_glove": "Luva de Basebol",
+ "surfboard": "Prancha de Surf",
"broccoli": "Brócolos",
"snowboard": "Snowboard",
"dog": "Cão",
@@ -74,22 +74,22 @@
"bark": "Latido",
"goat": "Cabra",
"vehicle": "Veículo",
- "scissors": "Tesoura",
+ "scissors": "Tesouras",
"mouse": "Rato",
- "teddy_bear": "Urso de peluche",
- "hair_dryer": "Secador de cabelo",
- "toothbrush": "Escova de dentes",
+ "teddy_bear": "Urso de Peluche",
+ "hair_dryer": "Secador de Cabelo",
+ "toothbrush": "Escova de Dentes",
"hair_brush": "Escova de Cabelo",
"squirrel": "Esquilo",
"couch": "Sofá",
"tv": "TV",
"laptop": "Portátil",
- "remote": "Controlo Remoto",
+ "remote": "Comando",
"cell_phone": "Telemóvel",
"microwave": "Microondas",
"oven": "Forno",
"toaster": "Torradeira",
- "sink": "Pia",
+ "sink": "Banca",
"refrigerator": "Frigorífico",
"blender": "Liquidificador",
"book": "Livro",
@@ -98,7 +98,7 @@
"fox": "Raposa",
"rabbit": "Coelho",
"raccoon": "Guaxinim",
- "robot_lawnmower": "Robô corta relva",
+ "robot_lawnmower": "Robô de Cortar Relva",
"waste_bin": "Contentor do Lixo",
"on_demand": "On Demand",
"face": "Rosto",
diff --git a/web/public/locales/pt/views/configEditor.json b/web/public/locales/pt/views/configEditor.json
index 916946517..fb1d3377a 100644
--- a/web/public/locales/pt/views/configEditor.json
+++ b/web/public/locales/pt/views/configEditor.json
@@ -1,18 +1,18 @@
{
- "configEditor": "Editor de configuração",
- "copyConfig": "Copiar configuração",
- "saveAndRestart": "Salvar e reiniciar",
- "saveOnly": "Salvar Apenas",
+ "configEditor": "Editor de Configuração",
+ "copyConfig": "Copiar Configuração",
+ "saveAndRestart": "Guardar e Reiniciar",
+ "saveOnly": "Guardar Apenas",
"toast": {
"success": {
"copyToClipboard": "Configuração copiada para a área de transferência."
},
"error": {
- "savingError": "Erro ao salvar configuração"
+ "savingError": "Erro ao guardar a configuração"
}
},
- "documentTitle": "Editor de configuração - Frigate",
- "confirm": "Sair sem salvar?",
- "safeConfigEditor": "Editor de Configurações (Modo de Segurança)",
- "safeModeDescription": "O Frigate está em modo de segurança devido a um erro de validação de configuração."
+ "documentTitle": "Frigate - Editor de Configuração",
+ "confirm": "Sair sem guardar?",
+ "safeConfigEditor": "Editor de Configuração (Modo de Segurança)",
+ "safeModeDescription": "O Frigate está no modo de segurança devido a um erro de validação da configuração."
}
diff --git a/web/public/locales/pt/views/events.json b/web/public/locales/pt/views/events.json
index c4e03b788..bb9b2e0ff 100644
--- a/web/public/locales/pt/views/events.json
+++ b/web/public/locales/pt/views/events.json
@@ -1,10 +1,10 @@
{
- "detections": "Detecções",
+ "detections": "Deteções",
"motion": {
"label": "Movimento",
- "only": "Somente movimento"
+ "only": "Apenas movimento"
},
- "allCameras": "Todas as câmaras",
+ "allCameras": "Todas as Câmaras",
"empty": {
"motion": "Nenhum dado de movimento encontrado",
"alert": "Não há alertas para análise",
@@ -20,7 +20,7 @@
"alerts": "Alertas",
"documentTitle": "Análise - Frigate",
"recordings": {
- "documentTitle": "Gravações - Frigate"
+ "documentTitle": "Frigate - Gravações"
},
"calendarFilter": {
"last24Hours": "Últimas 24 horas"
@@ -32,8 +32,9 @@
"button": "Novos itens para analisar"
},
"camera": "Câmara",
- "detected": "detectado",
+ "detected": "detetado",
"selected_one": "{{count}} selecionado",
"selected_other": "{{count}} selecionados",
- "suspiciousActivity": "Atividade Suspeita"
+ "suspiciousActivity": "Atividade Suspeita",
+ "threateningActivity": "Atividade Ameaçadora"
}
diff --git a/web/public/locales/pt/views/explore.json b/web/public/locales/pt/views/explore.json
index 541e3b802..721508174 100644
--- a/web/public/locales/pt/views/explore.json
+++ b/web/public/locales/pt/views/explore.json
@@ -2,7 +2,7 @@
"generativeAI": "IA Generativa",
"exploreIsUnavailable": {
"embeddingsReindexing": {
- "startingUp": "Iniciando…",
+ "startingUp": "A iniciar…",
"estimatedTime": "Tempo restante estimado:",
"finishingShortly": "Terminando em breve",
"step": {
@@ -17,14 +17,14 @@
"visionModel": "Modelo de visão",
"textModel": "Modelo de texto",
"textTokenizer": "Tokenizador de texto",
- "visionModelFeatureExtractor": "Extrator de características de modelo de visão"
+ "visionModelFeatureExtractor": "Extrator de funcionalidade de modelo de visão"
},
- "context": "O Frigate está descarregando os modelos de incorporação necessários para dar suporte a funcionalidade de pesquisa semântica. Isso pode levar vários minutos, dependendo da velocidade da sua conexão de rede.",
+ "context": "O Frigate está a transferir os modelos de incorporação necessários para suportar a funcionalidade de \"Procura Semântica\". Isto pode levar vários minutos, dependendo da velocidade da sua ligação de rede.",
"tips": {
- "context": "Talvez você queira reindexar as incorporações dos seus objetos rastreados depois que os modelos forem descarregados.",
+ "context": "Talvez queira reindexar as incorporações dos seus objetos rastreados depois de os modelos serem transferidos.",
"documentation": "Leia a documentação"
},
- "error": "Ocorreu um erro. Verifique os logs do Frigate."
+ "error": "Ocorreu um erro. Verifique os registos do Frigate."
},
"title": "Explorar não está disponível"
},
@@ -104,25 +104,25 @@
"label": "Classificação"
}
},
- "documentTitle": "Explorar - Frigate",
+ "documentTitle": "Frigate - Explorar",
"trackedObjectDetails": "Detalhes do objeto rastreado",
"type": {
"details": "detalhes",
"video": "vídeo",
"object_lifecycle": "ciclo de vida do objeto",
- "snapshot": "snapshot"
+ "snapshot": "captura de ecrã"
},
"objectLifecycle": {
"title": "Ciclo de vida do objeto",
"lifecycleItemDesc": {
"attribute": {
"other": "{{label}} reconhecido como {{attribute}}",
- "faceOrLicense_plate": "{{attribute}} detectado por {{label}}"
+ "faceOrLicense_plate": "{{attribute}} detetado por {{label}}"
},
"gone": "{{label}} saiu",
"heard": "{{label}} ouvido",
"visible": "{{label}} detectado",
- "external": "{{label}} detectado",
+ "external": "{{label}} detetado",
"entered_zone": "{{label}} entrou em {{zones}}",
"active": "{{label}} se tornou ativo",
"stationary": "{{label}} se tornou estacionário",
@@ -133,7 +133,7 @@
}
},
"annotationSettings": {
- "title": "Configurações de anotação",
+ "title": "Definições de Anotação",
"offset": {
"documentation": "Leia a documentação ",
"desc": "Esses dados vêm do feed de detecção da sua câmara, mas são sobrepostos nas imagens do feed de gravação. É improvável que os dois streams estejam perfeitamente sincronizados. Como resultado, a caixa delimitadora e o vídeo não se alinharão perfeitamente. No entanto, o campo annotation_offset
pode ser usado para ajustar isso.",
@@ -145,8 +145,8 @@
}
},
"showAllZones": {
- "title": "Mostrar todas as zonas",
- "desc": "Sempre mostrar zonas nos quadros onde os objetos entraram em uma zona."
+ "title": "Mostrar Todas as Zonas",
+ "desc": "Mostrar sempre as zonas nas imagens onde os objetos entraram numa zona."
}
},
"carousel": {
@@ -155,9 +155,9 @@
},
"noImageFound": "Nenhuma imagem encontrada para este carimbo de data/hora.",
"createObjectMask": "Criar Máscara de Objeto",
- "adjustAnnotationSettings": "Ajustar configurações de anotação",
- "autoTrackingTips": "As posições da caixa delimitadora serão imprecisas para câmeras com rastreamento automático.",
- "scrollViewTips": "Faça scroll para ver os momentos significativos do ciclo de vida deste objeto.",
+ "adjustAnnotationSettings": "Ajustar definições de anotação",
+ "autoTrackingTips": "As posições da caixa delimitadora serão imprecisas para as câmaras com rastreamento automático.",
+ "scrollViewTips": "Deslize para ver os momentos significativos do ciclo de vida deste objeto.",
"count": "{{first}} de {{second}}",
"trackedPoint": "Ponto Rastreado"
},
@@ -221,5 +221,8 @@
"exploreMore": "Explora mais objetos {{label}}",
"aiAnalysis": {
"title": "Análise IA"
+ },
+ "concerns": {
+ "label": "Preocupações"
}
}
diff --git a/web/public/locales/pt/views/settings.json b/web/public/locales/pt/views/settings.json
index 391302261..8b4f92cf5 100644
--- a/web/public/locales/pt/views/settings.json
+++ b/web/public/locales/pt/views/settings.json
@@ -22,7 +22,8 @@
"users": "Utilizadores",
"notifications": "Notificações",
"frigateplus": "Frigate+",
- "enrichments": "Avançado"
+ "enrichments": "Avançado",
+ "triggers": "Gatilhos"
},
"dialog": {
"unsavedChanges": {
@@ -470,6 +471,14 @@
"title": "Caminhos",
"desc": "Mostrar pontos significativos do caminho do objeto rastreado",
"tips": "
Paths
Linhas e círculos indicarão pontos significativos que o objeto rastreado moveu durante seu ciclo de vida.
" + }, + "openCameraWebUI": "Abrir a Interface Web de {{camera}}", + "audio": { + "title": "Áudio", + "noAudioDetections": "Nenhuma detecção de áudio", + "score": "pontuanção", + "currentRMS": "RMS Atual", + "currentdbFS": "dbFS Atual" } }, "camera": { @@ -540,7 +549,8 @@ }, "toast": { "success": "Câmera {{cameraName}} guardada com sucesso" - } + }, + "nameLength": "O nome da câmara deve ter ao menos 24 caracteres." } }, "motionDetectionTuner": { @@ -636,7 +646,8 @@ "adminDesc": "Acesso total a todos os recursos.", "viewer": "Visualização", "viewerDesc": "Limitado apenas a painéis ao vivo, análise, exploração e exportações.", - "intro": "Selecione a função apropriada para este utilizador:" + "intro": "Selecione a função apropriada para este utilizador:", + "customDesc": "Papel customizado com acesso a câmaras específicas." }, "title": "Alterar função do utilizador", "desc": "Atualizar permissões para {{username}}", @@ -819,5 +830,65 @@ "deleteTriggerFailed": "Falha ao apagar o trigger: {{errorMessage}}" } } + }, + "roles": { + "management": { + "title": "Gestão do Papel de Visualizador", + "desc": "Gerir papéis de visualizador customizados e as suas permissões de acesso para esta instância do Frigate." + }, + "addRole": "Adicionar Papel", + "table": { + "role": "Papel", + "cameras": "Câmaras", + "actions": "Ações", + "noRoles": "Nenhum papel customizado encontrado.", + "editCameras": "Editar Câmaras", + "deleteRole": "Apagar Papel" + }, + "toast": { + "success": { + "createRole": "Papel {{role}} criado com sucesso", + "updateCameras": "Câmaras atualizados para o papel {{role}}", + "deleteRole": "Papel {{role}} apagado com sucesso", + "userRolesUpdated": "{{count}} utilizador(os) atribuídos a este papel foram atualizados para 'visualizador', que possui acesso a todas as câmaras." + }, + "error": { + "createRoleFailed": "Falha ao criar papel: {{errorMessage}}", + "updateCamerasFailed": "Falha ao atualizar câmaras: {{errorMessage}}", + "deleteRoleFailed": "Falha ao apagar papel: {{errorMessage}}", + "userUpdateFailed": "Falha ao atualizar papel do utilizador: {{errorMessage}}" + } + }, + "dialog": { + "createRole": { + "title": "Criar Novo Papel", + "desc": "Adicionar um novo papel e especificar permissões de acesso." + }, + "editCameras": { + "title": "Editar Câmaras de Papéis", + "desc": "Atualizar acesso da câmara para o papel {{role}}." + }, + "deleteRole": { + "title": "Apagar Papel", + "desc": "Esta ação não pode ser desfeita. Isto irá apagar permanentemente o papel e atribuir a quaisquer utilizadores com este papel como 'visualizador', o que dará acesso de visualização para todas as câmaras.", + "warn": "Tem certeza que quer apagar {{role}}?", + "deleting": "A apagar…" + }, + "form": { + "role": { + "title": "Nome do Papel", + "placeholder": "Digitar nome do papel", + "desc": "Apenas letras, números, pontos e sublinhados são permitidos.", + "roleIsRequired": "Nome para o papel é requerido", + "roleOnlyInclude": "O nome do papel pode conter apenas letras, números, pontos ou sublinhados", + "roleExists": "Um papel com este nome já existe." + }, + "cameras": { + "title": "Câmaras", + "desc": "Selecione as câmaras que este papel terá acesso. Ao menos uma câmara é requerida.", + "required": "Ao menos uma câmara deve ser selecionada." + } + } + } } } diff --git a/web/public/locales/pt/views/system.json b/web/public/locales/pt/views/system.json index 2826a9dd9..9f90073c9 100644 --- a/web/public/locales/pt/views/system.json +++ b/web/public/locales/pt/views/system.json @@ -1,14 +1,14 @@ { "documentTitle": { - "storage": "Estatísticas de armazenamento - Frigate", - "general": "Estatísticas gerais - Frigate", - "enrichments": "Estatísticas de enriquecimento - Frigate", + "storage": "Frigate - Estatísticas de Armazenamento", + "general": "Frigate - Estatísticas Gerais", + "enrichments": "Frigate - Estatísticas de Enriquecimento", "logs": { - "frigate": "Logs do Frigate - Frigate", - "go2rtc": "Logs do Go2RTC - Frigate", - "nginx": "Logs do Nginx - Frigate" + "frigate": "Frigate - Registos de Eventos do Frigate", + "go2rtc": "Frigate - Registos de Eventos do Go2RTC", + "nginx": "Frigate - Registos de Eventos do Nginx" }, - "cameras": "Estatísticas das câmaras - Frigate" + "cameras": "Frigate - Estatísticas das Câmaras" }, "title": "Sistema", "metrics": "Métricas do sistema", @@ -16,22 +16,22 @@ "type": { "label": "Tipo", "timestamp": "Carimbo de hora", - "tag": "Tag", + "tag": "Etiqueta", "message": "Mensagem" }, "copy": { - "success": "Logs copiados para a área de transferência", - "label": "Copiar para a área de transferência", - "error": "Não foi possível copiar os logs para a área de transferência" + "success": "Registos copiados para a área de transferência", + "label": "Copiar para a Área de Transferência", + "error": "Não foi possível copiar os registos para a área de transferência" }, "download": { - "label": "Descarregar logs" + "label": "Transferir Registos" }, - "tips": "Os logs estão a ser transmitidos do servidor", + "tips": "Os registos estão a ser transmitidos do servidor", "toast": { "error": { - "fetchingLogsFailed": "Erro ao buscar logs: {{errorMessage}}", - "whileStreamingLogs": "Erro ao transmitir logs: {{errorMessage}}" + "fetchingLogsFailed": "Erro ao obter os registos: {{errorMessage}}", + "whileStreamingLogs": "Erro enquanto transmitia os registos: {{errorMessage}}" } } }, @@ -49,11 +49,15 @@ "title": "Armazenamento da câmara" }, "title": "Armazenamento", - "overview": "Visão geral", + "overview": "Sinopse", "recordings": { "title": "Gravações", "earliestRecording": "Primeira gravação disponível:", - "tips": "Esse valor representa o armazenamento total usado pelas gravações na base de dados do Frigate. O Frigate não acompanha o uso de armazenamento de todos os ficheiros no seu disco." + "tips": "Este valor representa o armazenamento total utilizado pelas gravações na base de dados do Frigate. O Frigate não acompanha a utilização do armazenamento de todos os ficheiros no seu disco." + }, + "shm": { + "title": "Alocação SHM (memória partilhada)", + "warning": "A tamanho atual de SHM de {{total}} MB é muito pequeno. Aumente-o para pelo menos {{min_shm}} MB." } }, "cameras": { @@ -83,19 +87,19 @@ "skipped": "ignorado", "ffmpeg": "FFmpeg", "cameraFfmpeg": "{{camName}} FFmpeg", - "cameraFramesPerSecond": "quadros por segundo de {{camName}}", + "cameraFramesPerSecond": "imagens por segundo de {{camName}}", "cameraCapture": "captura de {{camName}}", - "cameraDetectionsPerSecond": "detecções por segundo de {{camName}}", - "overallFramesPerSecond": "quadros por segundo totais (FPS)", - "overallDetectionsPerSecond": "detecções por segundo totais", - "overallSkippedDetectionsPerSecond": "detecções ignoradas por segundo totais", - "cameraDetect": "detecção de {{camName}}", - "cameraSkippedDetectionsPerSecond": "detecções ignoradas por segundo de {{camName}}" + "cameraDetectionsPerSecond": "deteções por segundo de {{camName}}", + "overallFramesPerSecond": "imagens por segundo totais (FPS)", + "overallDetectionsPerSecond": "deteções por segundo totais", + "overallSkippedDetectionsPerSecond": "deteções ignoradas por segundo totais", + "cameraDetect": "deteção de {{camName}}", + "cameraSkippedDetectionsPerSecond": "deteções ignoradas por segundo de {{camName}}" }, "overview": "Visão geral", "toast": { "success": { - "copyToClipboard": "Dados de Exploração copiados para a área de transferência." + "copyToClipboard": "Dados de exploração copiados para a área de transferência." }, "error": { "unableToProbeCamera": "Não foi possível explorar a câmara: {{errorMessage}}" @@ -104,43 +108,45 @@ }, "lastRefreshed": "Última atualização: ", "stats": { - "ffmpegHighCpuUsage": "{{camera}} tem alto uso de CPU FFmpeg ({{ffmpegAvg}}%)", - "detectHighCpuUsage": "{{camera}} tem alto uso de CPU de detecção ({{detectAvg}}%)", + "ffmpegHighCpuUsage": "{{camera}} tem alta utilização da CPU FFmpeg ({{ffmpegAvg}}%)", + "detectHighCpuUsage": "{{camera}} tem alta utilização da CPU de deteção ({{detectAvg}}%)", "healthy": "O sistema está saudável", "reindexingEmbeddings": "Reindexando incorporações ({{processed}}% completo)", "detectIsVerySlow": "{{detect}} está muito lento ({{speed}} ms)", - "cameraIsOffline": "{{camera}} está offline", - "detectIsSlow": "{{detect}} está lento ({{speed}} ms)" + "cameraIsOffline": "{{camera}} está off-line", + "detectIsSlow": "{{detect}} está lento ({{speed}} ms)", + "shmTooLow": "/dev/shm alocação ({{total}} MB) deveria ser aumentada pelo menos {{min}} MB." }, "general": { "title": "Geral", "detector": { - "title": "Detectores", - "cpuUsage": "Utilização do CPU do Detector", - "memoryUsage": "Utilização da memória do Detector", - "inferenceSpeed": "Velocidade de Inferência do Detector", - "temperature": "Temperatura do Detector" + "title": "Detetores", + "cpuUsage": "Utilização do CPU do Detetor", + "memoryUsage": "Utilização da Memória do Detetor", + "inferenceSpeed": "Velocidade de Inferência do Detetor", + "temperature": "Temperatura do Detetor", + "cpuUsageInformation": "CPU utilizada na preparação de dados de entrada e saída de/para os modelos de deteção. Este valor não mede oa utilização da inferência, mesmo se estiver a utilizar uma GPU ou acelerador." }, "hardwareInfo": { - "title": "Informações de hardware", - "gpuUsage": "Utilização GPU", - "gpuMemory": "Memória GPU", + "title": "Informação de Hardware", + "gpuUsage": "Utilização da GPU", + "gpuMemory": "Memória da GPU", "gpuInfo": { "nvidiaSMIOutput": { - "driver": "Driver: {{driver}}", + "driver": "Controlador: {{driver}}", "vbios": "Informação VBios: {{vbios}}", "name": "Nome: {{name}}", "cudaComputerCapability": "Capacidade de computação CUDA: {{cuda_compute}}", "title": "Saída Nvidia SMI" }, "copyInfo": { - "label": "Copiar informações do GPU" + "label": "Copiar informação da GPU" }, "closeInfo": { - "label": "Fechar informações do GPU" + "label": "Fechar informação da GPU" }, "toast": { - "success": "Informações do GPU copiadas para a área de transferência" + "success": "Informação da GPU copiada para a área de transferência" }, "vainfoOutput": { "title": "Saída do Vainfo", @@ -149,32 +155,32 @@ "processError": "Erro no processo:" } }, - "gpuEncoder": "GPU Encoder", - "gpuDecoder": "GPU Decoder", + "gpuEncoder": "Codificador da GPU", + "gpuDecoder": "Descodificador da GPU", "npuUsage": "Utilização NPU", "npuMemory": "Memória NPU" }, "otherProcesses": { - "title": "Outros processos", - "processCpuUsage": "Uso de CPU do processo", - "processMemoryUsage": "Uso de memória do processo" + "title": "Outros Processos", + "processCpuUsage": "Utilização da CPU do Processo", + "processMemoryUsage": "Utilização da Memória do Processo" } }, "enrichments": { "title": "Enriquecimentos", - "infPerSecond": "Inferências por segundo", + "infPerSecond": "Inferências por Segundo", "embeddings": { - "image_embedding_speed": "Velocidade de incorporação de imagem", - "face_embedding_speed": "Velocidade de incorporação facial", - "plate_recognition_speed": "Velocidade de reconhecimento de placas", - "text_embedding_speed": "Velocidade de incorporação de texto", + "image_embedding_speed": "Velocidade de Incorporação de Imagem", + "face_embedding_speed": "Velocidade de Incorporação Facial", + "plate_recognition_speed": "Velocidade de Reconhecimento de Placas", + "text_embedding_speed": "Velocidade de Incorporação de Texto", "face_recognition_speed": "Velocidade de Reconhecimento Facial", "plate_recognition": "Reconhecimento de Placas", "image_embedding": "Incorporação de Imagem", "text_embedding": "Incorporação de Texto", "face_recognition": "Reconhecimento Facial", - "yolov9_plate_detection_speed": "Velocidade de Detecção de Placas YOLOv9", - "yolov9_plate_detection": "Detecção de Placas YOLOv9" + "yolov9_plate_detection_speed": "Velocidade de Deteção de Placas YOLOv9", + "yolov9_plate_detection": "Deteção de Placas YOLOv9" } } }