diff --git a/web/public/locales/pt/audio.json b/web/public/locales/pt/audio.json
index c82fa9b0e..6f3afc9a9 100644
--- a/web/public/locales/pt/audio.json
+++ b/web/public/locales/pt/audio.json
@@ -60,7 +60,7 @@
"groan": "Gemido",
"snicker": "Risada",
"animal": "Animal",
- "pets": "Animais de estimação",
+ "pets": "Pets",
"bark": "Latido",
"howl": "Uivo",
"bow_wow": "Au au",
@@ -136,14 +136,14 @@
"white_noise": "Ruído branco",
"maraca": "Maraca",
"percussion": "Percussão",
- "rats": "Ratos",
+ "rats": "Ratazanas",
"oink": "Oinc",
"waves": "Ondas",
"shatter": "Quebrar",
"radio": "Rádio",
"splinter": "Lasca",
"owl": "Coruja",
- "mouse": "Rato",
+ "mouse": "Ratinho",
"vehicle": "Veículo",
"hair_dryer": "Secador de cabelo",
"toothbrush": "Escova de dentes",
@@ -153,5 +153,41 @@
"snort": "Espirro",
"throat_clearing": "Limpeza de garganta",
"sniff": "Cheirar",
- "shuffle": "Embaralhar"
+ "shuffle": "Embaralhar",
+ "children_playing": "Crianças brincando",
+ "purr": "Ronronando",
+ "livestock": "Gado",
+ "cattle": "Gado",
+ "cock_a_doodle_doo": "Canto do Galo",
+ "coo": "Canto do Pombo",
+ "flapping_wings": "Asas batendo",
+ "crow": "Corvo",
+ "hoot": "Canto da Coruja",
+ "mandolin": "Mandolino",
+ "whale_vocalization": "Canto da Baleia",
+ "sitar": "Sítara",
+ "plucked_string_instrument": "Instrumento de cordas à dedos",
+ "croak": "Canto do Sapo",
+ "guitar": "Violão",
+ "electric_guitar": "Guitarra",
+ "bass_guitar": "Baixo",
+ "acoustic_guitar": "Violão",
+ "ukulele": "Ukulelê",
+ "tapping": "Dedilhando",
+ "strum": "Corda de instrumento musical",
+ "drum_kit": "Bateria",
+ "gong": "Gongo",
+ "orchestra": "Orquestra",
+ "flute": "Flauta",
+ "saxophone": "Saxofone",
+ "harmonica": "Gaita de boca",
+ "wind_instrument": "Instrumento de sopro",
+ "trumpet": "Trumpete",
+ "violin": "Violino",
+ "cello": "Celo",
+ "double_bass": "Baixo duplo",
+ "church_bell": "Sino de igreja",
+ "bicycle_bell": "Sino de bicicleta",
+ "bagpipes": "Gaita de foles",
+ "cowbell": "Sininho da Vaca"
}
diff --git a/web/public/locales/pt/common.json b/web/public/locales/pt/common.json
index 2e92a03ce..c45ff761c 100644
--- a/web/public/locales/pt/common.json
+++ b/web/public/locales/pt/common.json
@@ -15,27 +15,27 @@
"24hours": "24 horas",
"pm": "pm",
"am": "am",
- "year_one": "{{time}} anos",
- "year_many": "",
- "year_other": "",
- "month_one": "{{time}} meses",
- "month_many": "",
+ "year_one": "{{time}} ano",
+ "year_many": "{{time}} de anos",
+ "year_other": "{{time}} anos",
+ "month_one": "{{time}} mes",
+ "month_many": "{{time}} meses",
"month_other": "",
- "day_one": "{{time}} dias",
- "day_many": "",
- "day_other": "",
+ "day_one": "{{time}} dia",
+ "day_many": "{{time}} dias",
+ "day_other": "{{time}} dias",
"thisMonth": "Esse mês",
"lastMonth": "Mês passado",
"1hour": "1 hora",
- "hour_one": "{{time}} horas",
- "hour_many": "",
- "hour_other": "",
- "minute_one": "{{time}} minutos",
- "minute_many": "",
- "minute_other": "",
- "second_one": "{{time}} segundos",
- "second_many": "",
- "second_other": "",
+ "hour_one": "{{time}} hora",
+ "hour_many": "{{time}} horas",
+ "hour_other": "{{time}} horas",
+ "minute_one": "{{time}} minuto",
+ "minute_many": "{{time}} minutos",
+ "minute_other": "{{time}} minutos",
+ "second_one": "{{time}} segundo",
+ "second_many": "{{time}} segundos",
+ "second_other": "{{time}} segundos",
"untilForTime": "Até {{time}}",
"untilForRestart": "Até que o Frigate reinicie.",
"untilRestart": "Até reiniciar",
@@ -51,8 +51,8 @@
"24hour": "%b %-d, %H:%M:%S"
},
"formattedTimestamp2": {
- "12hour": "%m/%d %I:%M:%S%P",
- "24hour": "%d %b %H:%M:%S"
+ "12hour": "dd/MM h:mm:ss a",
+ "24hour": "d MMM HH:mm:ss"
},
"formattedTimestampExcludeSeconds": {
"12hour": "%b %-d, %I:%M %p",
@@ -62,7 +62,28 @@
"12hour": "%b %-d %Y, %I:%M %p",
"24hour": "%b %-d %Y, %H:%M"
},
- "formattedTimestampOnlyMonthAndDay": "%b %-d"
+ "formattedTimestampOnlyMonthAndDay": "%b %-d",
+ "formattedTimestampHourMinute": {
+ "12hour": "h:mm aaa",
+ "24hour": "HH:mm"
+ },
+ "formattedTimestampHourMinuteSecond": {
+ "12hour": "h:mm:ss aaa",
+ "24hour": "HH:mm:ss"
+ },
+ "formattedTimestampMonthDayYearHourMinute": {
+ "12hour": "MMM d yyyy, h:mm aaa",
+ "24hour": "MMM d yyyy, HH:mm"
+ },
+ "formattedTimestampMonthDayHourMinute": {
+ "12hour": "MMM d, h:mm aaa",
+ "24hour": "MMM d, HH:mm"
+ },
+ "formattedTimestampMonthDay": "MMM d",
+ "formattedTimestampFilename": {
+ "12hour": "MM-dd-yy-h-mm-ss-a",
+ "24hour": "MM-dd-yy-HH-mm-ss"
+ }
},
"unit": {
"speed": {
@@ -103,7 +124,9 @@
"unsuspended": "Dessuspender",
"deleteNow": "Excluir agora",
"export": "Exportar",
- "next": "Próximo"
+ "next": "Próximo",
+ "play": "Tocar",
+ "pictureInPicture": "Imagem na Imagem"
},
"label": {
"back": "Voltar"
@@ -125,7 +148,9 @@
"green": "Verde",
"red": "Vermelho",
"contrast": "Alto contraste",
- "default": "Padrão"
+ "default": "Padrão",
+ "highcontrast": "Alto Contraste",
+ "nord": "Nord"
},
"system": "Sistema",
"systemMetrics": "Métricas do sistema",
@@ -135,11 +160,38 @@
"configurationEditor": "Editor de configuração",
"languages": "Idiomas",
"language": {
- "en": "Inglês",
+ "en": "Inglês (English)",
"zhCN": "Chinês simplificado",
"withSystem": {
"label": "Use as configurações do sistema para 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)"
},
"appearance": "Aparência",
"darkMode": {
@@ -160,12 +212,16 @@
"title": "Ao vivo",
"allCameras": "Todas as câmeras",
"cameras": {
- "title": "Câmeras"
+ "title": "Câmeras",
+ "count_one": "{{count}} Câmera",
+ "count_many": "{{count}} Câmeras",
+ "count_other": "{{count}} Câmeras"
}
},
"export": "Exportar",
"explore": "Explorar",
- "review": "Análise"
+ "review": "Análise",
+ "uiPlayground": "Área de Testes da Interface"
},
"pagination": {
"previous": {
@@ -182,12 +238,17 @@
"role": {
"admin": "Administrador",
"viewer": "Visualizador",
- "title": "Regra"
+ "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."
},
"toast": {
"copyUrlToClipboard": "URL copiada para a área de transferência.",
"save": {
- "title": "Salvar"
+ "title": "Salvar",
+ "error": {
+ "noMessage": "Falha ao salvar as alterações de configuração",
+ "title": "Falha ao salvar as alterações de configuração: {{errorMessage}}"
+ }
}
},
"accessDenied": {
diff --git a/web/public/locales/pt/components/dialog.json b/web/public/locales/pt/components/dialog.json
index c67cc8834..cd3c4e32e 100644
--- a/web/public/locales/pt/components/dialog.json
+++ b/web/public/locales/pt/components/dialog.json
@@ -29,6 +29,12 @@
"false_one": "Este não é um {{label}}",
"false_many": "Estes não são muitos {{label}}",
"false_other": "Estes não são {{label}}"
+ },
+ "question": {
+ "label": "Confirme este rótulo para Frigate Plus",
+ "ask_a": "Este objeto é um {{label}}
?",
+ "ask_an": "Este objeto é um {{label}}
?",
+ "ask_full": "Este objeto é um(a) {{untranslatedLabel}}
({{translatedLabel}})?"
}
}
},
diff --git a/web/public/locales/pt/components/filter.json b/web/public/locales/pt/components/filter.json
index e9a7e89a4..39449296a 100644
--- a/web/public/locales/pt/components/filter.json
+++ b/web/public/locales/pt/components/filter.json
@@ -95,10 +95,32 @@
"logSettings": {
"label": "Nível de log do filtro",
"loading": {
- "title": "Carregando"
+ "title": "Carregando",
+ "desc": "Quando o painel de logs está rolado até o final, novos logs são transmitidos automaticamente à medida que são adicionados."
},
- "filterBySeverity": "Filtrar logs por gravidade"
+ "filterBySeverity": "Filtrar logs por gravidade",
+ "disableLogStreaming": "Desativar transmissão de logs",
+ "allLogs": "Todos os logs"
},
"estimatedSpeed": "Velocidade estimada ({{unit}})",
- "timeRange": "Intervalo de tempo"
+ "timeRange": "Intervalo de tempo",
+ "zoneMask": {
+ "filterBy": "Filtrar por máscara de zona"
+ },
+ "trackedObjectDelete": {
+ "title": "Confirmar exclusão",
+ "toast": {
+ "success": "Objetos rastreados excluídos com sucesso.",
+ "error": "Falha ao excluir 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."
+ },
+ "recognizedLicensePlates": {
+ "title": "Placas Reconhecidas",
+ "noLicensePlatesFound": "Nenhuma placa encontrada.",
+ "selectPlatesFromList": "Selecione uma ou mais placas da lista.",
+ "loadFailed": "Falha ao carregar as placas reconhecidas.",
+ "loading": "Carregando placas reconhecidas…",
+ "placeholder": "Digite para buscar placas…"
+ }
}
diff --git a/web/public/locales/pt/objects.json b/web/public/locales/pt/objects.json
index b67725d94..3426216a9 100644
--- a/web/public/locales/pt/objects.json
+++ b/web/public/locales/pt/objects.json
@@ -75,7 +75,7 @@
"goat": "Bode",
"vehicle": "Veículo",
"scissors": "Tesoura",
- "mouse": "Rato",
+ "mouse": "Ratinho",
"teddy_bear": "Urso de pelúcia",
"hair_dryer": "Secador de cabelo",
"toothbrush": "Escova de dentes",
diff --git a/web/public/locales/pt/views/events.json b/web/public/locales/pt/views/events.json
index 12303e5e9..5c6e604a4 100644
--- a/web/public/locales/pt/views/events.json
+++ b/web/public/locales/pt/views/events.json
@@ -31,5 +31,8 @@
"label": "Ver novos itens de revisão",
"button": "Novos itens para revisar"
},
- "camera": "Câmera"
+ "camera": "Câmera",
+ "detected": "detectado",
+ "selected_one": "{{count}} selecionado",
+ "selected_other": "{{count}} selecionados"
}
diff --git a/web/public/locales/pt/views/explore.json b/web/public/locales/pt/views/explore.json
index b6635186a..b80e97328 100644
--- a/web/public/locales/pt/views/explore.json
+++ b/web/public/locales/pt/views/explore.json
@@ -37,7 +37,7 @@
"hasMissingObjects": "Ajuste sua configuração se você quiser que o Frigate salve os objetos rastreados para os seguintes rótulos: {{objects}}",
"mismatch_one": "{{count}} objeto indisponível foi detectado e incluído neste item de análise. Esses objetos não qualificaram como alerta ou detecção ou já foram limpos/excluídos.",
"mismatch_many": "{{count}} objetos indisponíveis foram detectados e incluídos neste item de análise. Esses objetos não qualificaram como alerta ou detecção ou já foram limpos/excluídos.",
- "mismatch_other": ""
+ "mismatch_other": "{{count}} objetos indisponíveis foram detectados e incluídos neste item de análise. Esses objetos não qualificaram como alerta ou detecção ou já foram limpos/excluídos."
},
"toast": {
"success": {
@@ -120,7 +120,12 @@
"external": "{{label}} detectado",
"entered_zone": "{{label}} entrou em {{zones}}",
"active": "{{label}} se tornou ativo",
- "stationary": "{{label}} se tornou estacionário"
+ "stationary": "{{label}} se tornou estacionário",
+ "header": {
+ "zones": "Zonas",
+ "ratio": "Proporção",
+ "area": "Área"
+ }
},
"annotationSettings": {
"title": "Configurações de anotação",
@@ -128,7 +133,7 @@
"documentation": "Leia a documentação ",
"desc": "Esses dados vêm do feed de detecção da sua câmera, 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.",
"tips": "DICA: Imagine que há um clipe de evento com uma pessoa andando da esquerda para a direita. Se a caixa delimitadora da linha do tempo do evento estiver consistentemente à esquerda da pessoa, o valor deve ser diminuído. Da mesma forma, se uma pessoa estiver andando da esquerda para a direita e a caixa delimitadora estiver consistentemente à frente da pessoa, o valor deve ser aumentado.",
- "label": "Annotation Offset",
+ "label": "Deslocamento de Anotação",
"millisecondsToOffset": "Milissegundos para deslocar as anotações de detecção. Padrão: 0"
},
"showAllZones": {
@@ -170,6 +175,29 @@
"submitToPlus": {
"label": "Enviar para o Frigate+",
"aria": "Enviar para o Frigate Plus"
+ },
+ "deleteTrackedObject": {
+ "label": "Excluir este objeto rastreado"
}
- }
+ },
+ "searchResult": {
+ "tooltip": "Encontrado {{type}} com {{confidence}}% de confiança",
+ "deleteTrackedObject": {
+ "toast": {
+ "success": "Objeto rastreado excluído com sucesso.",
+ "error": "Falha ao excluir objeto rastreado: {{errorMessage}}"
+ }
+ }
+ },
+ "dialog": {
+ "confirmDelete": {
+ "desc": "Excluir este objeto rastreado remove a captura de imagem, quaisquer incorporações salvas e todas as entradas associadas ao ciclo de vida do objeto. As gravações desse objeto rastreado na visualização do Histórico NÃO serão excluídas.
Tem certeza de que deseja continuar?",
+ "title": "Confirmar exclusão"
+ }
+ },
+ "fetchingTrackedObjectsFailed": "Erro ao buscar objetos rastreados: {{errorMessage}}",
+ "noTrackedObjects": "Nenhum objeto rastreado encontrado",
+ "trackedObjectsCount_one": "{{count}} objeto rastreado ",
+ "trackedObjectsCount_many": "{{count}} objetos rastreados ",
+ "trackedObjectsCount_other": ""
}
diff --git a/web/public/locales/pt/views/faceLibrary.json b/web/public/locales/pt/views/faceLibrary.json
index 565d2423d..70c9e325a 100644
--- a/web/public/locales/pt/views/faceLibrary.json
+++ b/web/public/locales/pt/views/faceLibrary.json
@@ -8,7 +8,9 @@
"face": "Detalhes do rosto",
"faceDesc": "Detalhes do rosto e objeto associado",
"timestamp": "Carimbo de hora",
- "confidence": "Confiança"
+ "confidence": "Confiança",
+ "scoreInfo": "A pontuação da subetiqueta é a pontuação ponderada de todas as confianças de rostos reconhecidos, portanto, ela pode ser diferente da pontuação exibida na captura de imagem.",
+ "subLabelScore": "Pontuação da Subetiqueta"
},
"documentTitle": "Biblioteca de rostos - Frigate",
"uploadFaceImage": {
@@ -23,7 +25,8 @@
},
"train": {
"aria": "Selecionar treino",
- "title": "Treinar"
+ "title": "Treinar",
+ "empty": "Não há tentativas recentes de reconhecimento facial"
},
"selectItem": "Selecionar {{item}}",
"selectFace": "Selecionar rosto",
@@ -35,7 +38,9 @@
"addFace": "Adicionar rosto",
"uploadImage": "Carregar imagem",
"deleteFaceAttempts": "Apagar tentativas de detecção facial",
- "reprocessFace": "Reprocessar Rosto"
+ "reprocessFace": "Reprocessar Rosto",
+ "renameFace": "Renomear rosto",
+ "deleteFace": "Excluir rosto"
},
"imageEntry": {
"validation": {
@@ -57,7 +62,8 @@
"deletedName_many": "{{count}} rostos foram excluídos com sucesso.",
"deletedName_other": "{{count}} rostos foram excluídos com sucesso.",
"uploadedImage": "Imagem carregada com sucesso.",
- "addFaceLibrary": "{{name}} foi adicionado com sucesso à biblioteca de rostos!"
+ "addFaceLibrary": "{{name}} foi adicionado com sucesso à biblioteca de rostos!",
+ "renamedFace": "Rosto renomeado com sucesso para {{name}}"
},
"error": {
"uploadingImageFailed": "Falha ao carregar a imagem: {{errorMessage}}",
@@ -65,7 +71,8 @@
"deleteNameFailed": "Falha ao excluir nome: {{errorMessage}}",
"addFaceLibraryFailed": "Falhou ao definir nome do rosto: {{errorMessage}}",
"trainFailed": "Falhou ao treinar: {{errorMessage}}",
- "updateFaceScoreFailed": "Falhou ao atualizar pontuação da face: {{errorMessage}}"
+ "updateFaceScoreFailed": "Falhou ao atualizar pontuação da face: {{errorMessage}}",
+ "renameFaceFailed": "Falha ao renomear o rosto: {{errorMessage}}"
}
},
"readTheDocs": "Leia a documentação",
@@ -74,5 +81,9 @@
"faceName": "Digite o Nome do Rosto",
"uploadFace": "Carregar imagem do rosto",
"nextSteps": "Próximos passos"
+ },
+ "renameFace": {
+ "desc": "Entre com um novo nome para {{name}}",
+ "title": "Renomear Face"
}
}
diff --git a/web/public/locales/pt/views/search.json b/web/public/locales/pt/views/search.json
index 32b01148c..cd0093d27 100644
--- a/web/public/locales/pt/views/search.json
+++ b/web/public/locales/pt/views/search.json
@@ -41,7 +41,14 @@
"desc": {
"text": "Os filtros ajudam você a restringir os resultados da sua pesquisa. Veja como usá-los no campo de entrada:",
"example": "Exemplo: cameras:front_door label:person before:01012024 time_range:3:00PM-4:00PM
",
- "step": "