diff --git a/web/public/locales/pt/audio.json b/web/public/locales/pt/audio.json
index 6f3afc9a9..018bdaee0 100644
--- a/web/public/locales/pt/audio.json
+++ b/web/public/locales/pt/audio.json
@@ -5,7 +5,7 @@
"bellow": "Abaixo",
"yell": "Gritar",
"whispering": "Sussurando",
- "child_singing": "Criança Cantando",
+ "child_singing": "Criança cantando",
"crying": "Chorando",
"singing": "Cantando",
"laughter": "Risada",
@@ -53,14 +53,14 @@
"crowd": "Multidão",
"snoring": "Ronco",
"choir": "Coro",
- "yodeling": "Yodeling",
+ "yodeling": "Cantarolar",
"chant": "Canto",
"synthetic_singing": "Canto sintético",
"rapping": "Cantando rap",
"groan": "Gemido",
"snicker": "Risada",
"animal": "Animal",
- "pets": "Pets",
+ "pets": "Animais de estimação",
"bark": "Latido",
"howl": "Uivo",
"bow_wow": "Au au",
@@ -143,7 +143,7 @@
"radio": "Rádio",
"splinter": "Lasca",
"owl": "Coruja",
- "mouse": "Ratinho",
+ "mouse": "Rato",
"vehicle": "Veículo",
"hair_dryer": "Secador de cabelo",
"toothbrush": "Escova de dentes",
@@ -189,5 +189,241 @@
"church_bell": "Sino de igreja",
"bicycle_bell": "Sino de bicicleta",
"bagpipes": "Gaita de foles",
- "cowbell": "Sininho da Vaca"
+ "cowbell": "Sininho da Vaca",
+ "hiss": "Sussuro",
+ "caterwaul": "Gritaria",
+ "clip_clop": "Cavalgar",
+ "neigh": "Relincho",
+ "moo": "Mugido",
+ "gobble": "Grasnado",
+ "cluck": "Cacarejo",
+ "caw": "Gato",
+ "chirp": "Pío",
+ "yip": "Chicote",
+ "bleat": "Balir",
+ "honk": "Buzina",
+ "roaring_cats": "Gatos a ronronar",
+ "roar": "Rugido",
+ "squawk": "Cacarejar",
+ "patter": "Conversa",
+ "buzz": "Zombido",
+ "steel_guitar": "Guitarra de colo",
+ "zither": "Citara",
+ "electric_piano": "Piano Elétrico",
+ "electronic_organ": "Órgão Elétrico",
+ "hammond_organ": "Órgão Hammond",
+ "sampler": "Amostrador",
+ "harpsichord": "Cravo",
+ "drum_machine": "Máquina de Tambor",
+ "drum": "Tambor",
+ "snare_drum": "Tambor de Laço",
+ "rimshot": "Som circular",
+ "drum_roll": "Tambor de Rolo",
+ "bass_drum": "Tambor Baixo",
+ "timpani": "Tímpanos",
+ "tabla": "Tabla",
+ "cymbal": "Címbalo",
+ "hi_hat": "Conjunto Címbalos",
+ "wood_block": "Bloco de madeira",
+ "tubular_bells": "Sinos tubulares",
+ "mallet_percussion": "Percussão de malho",
+ "glockenspiel": "Carrilhão",
+ "electronic_dance_music": "Música de Dança Eletrônica",
+ "ambient_music": "Música Ambiente",
+ "trance_music": "Música de Trance",
+ "music_of_latin_america": "Música da América Latina",
+ "salsa_music": "Música Salsa",
+ "flamenco": "Flamengo",
+ "blues": "Blues",
+ "music_for_children": "Música para crianças",
+ "new-age_music": "Música New Age",
+ "vocal_music": "Música Vocal",
+ "a_capella": "A cappella",
+ "music_of_africa": "Música de África",
+ "lullaby": "Canção de embalar",
+ "video_game_music": "Música de vídeo-game",
+ "christmas_music": "Música de Natal",
+ "dance_music": "Música Dance",
+ "wedding_music": "Música de Casamento",
+ "happy_music": "Música Alegre",
+ "sad_music": "Música Triste",
+ "tender_music": "Música Ternurenta",
+ "exciting_music": "Música Excitante",
+ "scary_music": "Música Assustadora",
+ "wind": "Vento",
+ "rustling_leaves": "Folhas a farfalhar",
+ "wind_noise": "Vento ruidoso",
+ "thunderstorm": "Tempestade",
+ "thunder": "Trovão",
+ "water": "Água",
+ "rain": "Chuva",
+ "raindrop": "Gotas de chuva",
+ "rain_on_surface": "Chuva numa superfície",
+ "stream": "Transmissão",
+ "gurgling": "Giratório",
+ "train_whistle": "Apito de Comboio",
+ "train_horn": "Buzina de Comboio",
+ "railroad_car": "Carruagem de comboio",
+ "train_wheels_squealing": "Rodas do comboio a chiar",
+ "subway": "Metro",
+ "aircraft": "Aeronave",
+ "aircraft_engine": "Motor Aeronave",
+ "jet_engine": "Motor a Jato",
+ "propeller": "Hélice",
+ "jackhammer": "Britadeira",
+ "sawing": "Serrar",
+ "filing": "Depósito",
+ "power_tool": "Ferramenta elétrica",
+ "sanding": "Lixar",
+ "drill": "Perfurar",
+ "explosion": "Explosão",
+ "gunshot": "Tiro",
+ "machine_gun": "Metralhadora",
+ "fusillade": "Fuzilada",
+ "artillery_fire": "Fogo de Artilharia",
+ "cap_gun": "Pistola de ar comprimido",
+ "fireworks": "Fogo Artificio",
+ "firecracker": "Bombinha",
+ "burst": "Rebentar",
+ "typing": "Digitando",
+ "angry_music": "Música Zangada",
+ "typewriter": "Máquina de escrever",
+ "marimba": "Marimba",
+ "vibraphone": "Vibrafone",
+ "steelpan": "Tambor de aço",
+ "brass_instrument": "Instrumento de sopro",
+ "french_horn": "Trompa Francesa",
+ "trombone": "Trombone",
+ "heavy_metal": "Heavy Metal",
+ "bowed_string_instrument": "Instrumento de corda curvada",
+ "string_section": "Seção de cordas",
+ "bell": "Sino",
+ "jingle_bell": "Jingle Bell",
+ "tuning_fork": "Diapasão",
+ "wind_chime": "Carrilhão de Vento",
+ "pizzicato": "beliscar",
+ "chime": "harmonia",
+ "accordion": "Acordeão",
+ "didgeridoo": "Didgeridoo",
+ "theremin": "Teremim",
+ "singing_bowl": "Tigela Cantante",
+ "scratching": "Coçar",
+ "hip_hop_music": "Música Hip-Hop",
+ "beatboxing": "Beatboxing",
+ "rock_music": "Música rock",
+ "punk_rock": "Punk Rock",
+ "grunge": "Grunge",
+ "rock_and_roll": "Rock and Roll",
+ "rhythm_and_blues": "Rhythm and Blues",
+ "pop_music": "Música Pop",
+ "soul_music": "Música Soul",
+ "reggae": "Reggae",
+ "country": "Country",
+ "bluegrass": "Bluegrass",
+ "funk": "Funk",
+ "folk_music": "Música Folclórica",
+ "swing_music": "Musica Swing",
+ "middle_eastern_music": "Música do Oriente Médio",
+ "jazz": "Jazz",
+ "disco": "Disco",
+ "classical_music": "Música clássica",
+ "opera": "Opera",
+ "electronic_music": "Música Eletrônica",
+ "house_music": "Música House",
+ "techno": "Techno",
+ "dubstep": "Dubstep",
+ "drum_and_bass": "Drum and Bass",
+ "electronica": "Eletrônica",
+ "afrobeat": "Afrobeat",
+ "christian_music": "Música Cristã",
+ "gospel_music": "Musica Gospel",
+ "music_of_asia": "Música da Ásia",
+ "carnatic_music": "Música Carnática",
+ "music_of_bollywood": "Música de Bollywood",
+ "ska": "Ska",
+ "traditional_music": "Música Tradicional",
+ "independent_music": "Música Independente",
+ "song": "Canção",
+ "background_music": "Música de fundo",
+ "theme_music": "Música Temática",
+ "jingle": "Tinir",
+ "soundtrack_music": "Música de trilha sonora",
+ "air_brake": "Freio a ar",
+ "air_horn": "Buzina de ar",
+ "reversing_beeps": "Bips de ré",
+ "crackle": "Estalar",
+ "traffic_noise": "Ruído de trânsito",
+ "power_windows": "Janelas elétricas",
+ "skidding": "Derrapando",
+ "tire_squeal": "Guincho de pneu",
+ "car_passing_by": "Carro passando",
+ "sailboat": "Veleiro",
+ "rowboat": "Barco a remo",
+ "motorboat": "Barco a motor",
+ "motor_vehicle": "Veículo motorizado",
+ "fire_engine": "Carro de bombeiros",
+ "toot": "Apito",
+ "rail_transport": "Transporte Ferroviário",
+ "accelerating": "Acelerando",
+ "dental_drill's_drill": "Broca dentária",
+ "lawn_mower": "Cortador de grama",
+ "chainsaw": "Motosserra",
+ "medium_engine": "Motor Médio",
+ "engine_knocking": "Batida do motor",
+ "engine_starting": "Partida do motor",
+ "idling": "Inativo",
+ "slam": "Bater",
+ "light_engine": "Motor leve",
+ "sliding_door": "Porta deslizante",
+ "knock": "Truz",
+ "fixed-wing_aircraft": "Aeronaves de asa fixa",
+ "doorbell": "Campainha",
+ "ding-dong": "Ding Dong",
+ "heavy_engine": "Motor pesado",
+ "squeak": "Rangido",
+ "cupboard_open_or_close": "Armário aberto ou fechado",
+ "drawer_open_or_close": "Gaveta aberta ou fechada",
+ "tap": "Tocar",
+ "dishes": "Pratos",
+ "cutlery": "Talheres",
+ "chopping": "Cortar",
+ "frying": "Fritar",
+ "microwave_oven": "Forno de microondas",
+ "water_tap": "Torneira de água",
+ "bathtub": "Banheira",
+ "keys_jangling": "Chaves tilintando",
+ "vacuum_cleaner": "Aspirador",
+ "zipper": "Zíper",
+ "shuffling_cards": "Embaralhando cartas",
+ "toilet_flush": "Descarga de vaso sanitário",
+ "electric_toothbrush": "Escova de dentes elétrica",
+ "writing": "Escrita",
+ "telephone_bell_ringing": "Campainha do telefone tocando",
+ "ringtone": "Toca a tocar",
+ "telephone_dialing": "Discagem telefônica",
+ "dial_tone": "Tom de discagem",
+ "busy_signal": "Sinal de ocupado",
+ "steam_whistle": "Apito a vapor",
+ "mechanisms": "Mecanismos",
+ "ratchet": "Catraca",
+ "civil_defense_siren": "Sirene da Defesa Civil",
+ "buzzer": "Besouro",
+ "foghorn": "Sirene de nevoeiro",
+ "alarm_clock": "Relógio de alarme",
+ "gears": "Engrenagens",
+ "pulleys": "Polias",
+ "sewing_machine": "Máquina de costura",
+ "mechanical_fan": "Ventilador mecânico",
+ "air_conditioning": "Ar condicionado",
+ "cash_register": "Caixa registradora",
+ "printer": "Impressora",
+ "tick": "Marcação",
+ "tick-tock": "Tique-taque",
+ "single-lens_reflex_camera": "Câmera de Reflexo de lente única",
+ "hammer": "Martelo",
+ "boom": "Estrondo",
+ "chop": "Cortar",
+ "eruption": "Erupção",
+ "environmental_noise": "Ruído ambiental",
+ "field_recording": "Gravação de Campo"
}
diff --git a/web/public/locales/pt/common.json b/web/public/locales/pt/common.json
index c45ff761c..4a7c32c33 100644
--- a/web/public/locales/pt/common.json
+++ b/web/public/locales/pt/common.json
@@ -83,12 +83,20 @@
"formattedTimestampFilename": {
"12hour": "MM-dd-yy-h-mm-ss-a",
"24hour": "MM-dd-yy-HH-mm-ss"
+ },
+ "formattedTimestampMonthDayYear": {
+ "12hour": "d MMM, yyyy",
+ "24hour": "d MMM, yyyy"
}
},
"unit": {
"speed": {
"kph": "kph",
"mph": "mph"
+ },
+ "length": {
+ "feet": "pé",
+ "meters": "metros"
}
},
"button": {
@@ -191,7 +199,8 @@
"da": "Dinamarquês (Dansk)",
"ro": "Romeno (Română)",
"hu": "Húngaro (Magyar)",
- "sk": "Eslovaco (Slovenčina)"
+ "sk": "Eslovaco (Slovenčina)",
+ "th": "Tailandês"
},
"appearance": "Aparência",
"darkMode": {
diff --git a/web/public/locales/pt/components/camera.json b/web/public/locales/pt/components/camera.json
index 1272553a6..08dd97493 100644
--- a/web/public/locales/pt/components/camera.json
+++ b/web/public/locales/pt/components/camera.json
@@ -54,7 +54,8 @@
"label": "Sem transmissão",
"desc": "As imagens da câmera serão atualizadas apenas uma vez por minuto e não haverá transmissão ao vivo."
}
- }
+ },
+ "placeholder": "Escolha um método de transmissão"
},
"compatibilityMode": {
"label": "Modo de compatibilidade",
@@ -62,7 +63,9 @@
},
"label": "Configurações de transmissão da câmera",
"desc": "Altere as opções de transmissão ao vivo para o painel deste grupo de câmeras. Essas configurações são específicas do dispositivo/navegador.",
- "title": "{{cameraName}} configurações de transmissão"
+ "title": "{{cameraName}} configurações de transmissão",
+ "placeholder": "Escolha uma transmissão",
+ "stream": "Transmissão"
}
}
},
diff --git a/web/public/locales/pt/components/dialog.json b/web/public/locales/pt/components/dialog.json
index cd3c4e32e..04c623056 100644
--- a/web/public/locales/pt/components/dialog.json
+++ b/web/public/locales/pt/components/dialog.json
@@ -111,6 +111,10 @@
"title": "Confirmar exclusão",
"desc": {
"selected": "Tem certeza de que deseja excluir todos os vídeos gravados associados a este item de revisão?
Segure a tecla Shift para ignorar esta caixa de diálogo no futuro."
+ },
+ "toast": {
+ "success": "As imagens de vídeo associadas aos itens de revisão selecionados foram excluídas com êxito.",
+ "error": "Falhou a apagar: {{error}}"
}
},
"button": {
diff --git a/web/public/locales/pt/components/filter.json b/web/public/locales/pt/components/filter.json
index 39449296a..abdd429ff 100644
--- a/web/public/locales/pt/components/filter.json
+++ b/web/public/locales/pt/components/filter.json
@@ -21,7 +21,8 @@
"all": {
"title": "Todas as datas",
"short": "Datas"
- }
+ },
+ "selectPreset": "Escolhe uma predefinição…"
},
"more": "Mais filtros",
"reset": {
diff --git a/web/public/locales/pt/objects.json b/web/public/locales/pt/objects.json
index 3426216a9..a9d7f2664 100644
--- a/web/public/locales/pt/objects.json
+++ b/web/public/locales/pt/objects.json
@@ -23,7 +23,7 @@
"fire_hydrant": "Hidratação de Fogo",
"bird": "Pássaro",
"cat": "Gato",
- "bench": "Bench",
+ "bench": "Banco",
"elephant": "Elefante",
"hat": "Chapéu",
"backpack": "Mochila",
@@ -59,7 +59,7 @@
"dog": "Cão",
"bear": "Urso",
"eye_glasses": "Óculos",
- "umbrella": "guarda-chuva",
+ "umbrella": "Guarda-chuva",
"horse": "Cavalo",
"bed": "Cama",
"cow": "Vaca",
@@ -75,7 +75,7 @@
"goat": "Bode",
"vehicle": "Veículo",
"scissors": "Tesoura",
- "mouse": "Ratinho",
+ "mouse": "Rato",
"teddy_bear": "Urso de pelúcia",
"hair_dryer": "Secador de cabelo",
"toothbrush": "Escova de dentes",
diff --git a/web/public/locales/pt/views/configEditor.json b/web/public/locales/pt/views/configEditor.json
index 1edf4a02f..86cb6d52d 100644
--- a/web/public/locales/pt/views/configEditor.json
+++ b/web/public/locales/pt/views/configEditor.json
@@ -11,5 +11,6 @@
"savingError": "Erro ao salvar configuração"
}
},
- "documentTitle": "Editor de configuração - Frigate"
+ "documentTitle": "Editor de configuração - Frigate",
+ "confirm": "Sair sem salvar?"
}
diff --git a/web/public/locales/pt/views/explore.json b/web/public/locales/pt/views/explore.json
index b80e97328..5c8a0ccdc 100644
--- a/web/public/locales/pt/views/explore.json
+++ b/web/public/locales/pt/views/explore.json
@@ -134,7 +134,10 @@
"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": "Deslocamento de Anotação",
- "millisecondsToOffset": "Milissegundos para deslocar as anotações de detecção. Padrão: 0"
+ "millisecondsToOffset": "Milissegundos para deslocar as anotações de detecção. Padrão: 0",
+ "toast": {
+ "success": "O deslocamento de anotação para {{camera}} foi salvo no arquivo de configuração. Reinicie o Frigate para aplicar as alterações."
+ }
},
"showAllZones": {
"title": "Mostrar todas as zonas",
@@ -149,7 +152,9 @@
"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": "Role para ver os momentos significativos do ciclo de vida deste objeto."
+ "scrollViewTips": "Role para ver os momentos significativos do ciclo de vida deste objeto.",
+ "count": "{{first}} de {{second}}",
+ "trackedPoint": "Ponto Rastreado"
},
"itemMenu": {
"downloadSnapshot": {
@@ -199,5 +204,6 @@
"noTrackedObjects": "Nenhum objeto rastreado encontrado",
"trackedObjectsCount_one": "{{count}} objeto rastreado ",
"trackedObjectsCount_many": "{{count}} objetos rastreados ",
- "trackedObjectsCount_other": ""
+ "trackedObjectsCount_other": "",
+ "exploreMore": "Explora mais objetos {{label}}"
}
diff --git a/web/public/locales/pt/views/faceLibrary.json b/web/public/locales/pt/views/faceLibrary.json
index 70c9e325a..e163ec8fe 100644
--- a/web/public/locales/pt/views/faceLibrary.json
+++ b/web/public/locales/pt/views/faceLibrary.json
@@ -1,16 +1,18 @@
{
"description": {
"placeholder": "Digite um nome para esta coleção",
- "addFace": "Veja como adicionar uma nova coleção à biblioteca de rostos."
+ "addFace": "Veja como adicionar uma nova coleção à biblioteca de rostos.",
+ "invalidName": "Nome inválido. Os nomes podem incluir apenas letras, números, espaços, apóstrofos, sublinhados e hífens."
},
"details": {
"person": "Pessoa",
"face": "Detalhes do rosto",
- "faceDesc": "Detalhes do rosto e objeto associado",
+ "faceDesc": "Detalhes do objeto encontrado que gerou esta cara",
"timestamp": "Carimbo de hora",
"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"
+ "subLabelScore": "Pontuação da Subetiqueta",
+ "unknown": "Desconhecido"
},
"documentTitle": "Biblioteca de rostos - Frigate",
"uploadFaceImage": {
@@ -37,7 +39,7 @@
"button": {
"addFace": "Adicionar rosto",
"uploadImage": "Carregar imagem",
- "deleteFaceAttempts": "Apagar tentativas de detecção facial",
+ "deleteFaceAttempts": "Excluir rostos",
"reprocessFace": "Reprocessar Rosto",
"renameFace": "Renomear rosto",
"deleteFace": "Excluir rosto"
@@ -71,7 +73,7 @@
"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 do rosto: {{errorMessage}}",
"renameFaceFailed": "Falha ao renomear o rosto: {{errorMessage}}"
}
},
@@ -80,10 +82,22 @@
"steps": {
"faceName": "Digite o Nome do Rosto",
"uploadFace": "Carregar imagem do rosto",
- "nextSteps": "Próximos passos"
+ "nextSteps": "Próximos passos",
+ "description": {
+ "uploadFace": "Carregue uma imagem de {{name}} que mostre a cara de frente. A imagem não precisa de ser cortada para mostrar apenas a cara."
+ }
},
"renameFace": {
"desc": "Entre com um novo nome para {{name}}",
- "title": "Renomear Face"
- }
+ "title": "Renomear rosto"
+ },
+ "collections": "Coleções",
+ "deleteFaceAttempts": {
+ "title": "Excluir rostos",
+ "desc_one": "Tem a certeza que pretende apagar {{count}} cara? Esta ação não pode ser revertida.",
+ "desc_many": "Tem a certeza que pretende apagar {{count}} caras? Esta ação não pode ser revertida.",
+ "desc_other": "Tem a certeza que pretende apagar {{count}} caras? Esta ação não pode ser revertida."
+ },
+ "nofaces": "Não tem caras disponíveis",
+ "pixels": "{{area}}px"
}
diff --git a/web/public/locales/pt/views/settings.json b/web/public/locales/pt/views/settings.json
index e27e0f3dc..b1b326d92 100644
--- a/web/public/locales/pt/views/settings.json
+++ b/web/public/locales/pt/views/settings.json
@@ -6,10 +6,11 @@
"motionTuner": "Ajuste de movimento - Frigate",
"object": "Depuração - Frigate",
"authentication": "Configurações de autenticação - Frigate",
- "general": "Configurações gerais - Frigate",
+ "general": "Configurações Gerais - Frigate",
"frigatePlus": "Configurações do Frigate+ - Frigate",
"default": "Configurações - Frigate",
- "notifications": "Configuração de Notificações - Frigate"
+ "notifications": "Configuração de Notificações - Frigate",
+ "enrichments": "Configurações Avançadas"
},
"menu": {
"ui": "UI",
@@ -20,7 +21,8 @@
"debug": "Depurar",
"users": "Usuários",
"notifications": "Notificações",
- "frigateplus": "Frigate+"
+ "frigateplus": "Frigate+",
+ "enrichments": "Avançado"
},
"dialog": {
"unsavedChanges": {
@@ -141,7 +143,8 @@
"title": "Classificação de Pássaros",
"desc": "A classificação de aves/pássaros identifica aves conhecidas usando um modelo Tensorflow quantizado. Quando uma ave/ pássaro conhecida(o) for reconhecida(o), o seu nome comum será adicionado como um sub_rótulo. Estas informações estão incluídas na interface do utilizador, nos filtros e também nas notificações."
},
- "restart_required": "Reinício necessário (configurações de classificação alteradas)"
+ "restart_required": "Reinício necessário (configurações de classificação alteradas)",
+ "unsavedChanges": "Alterações nas configurações de Classificação não estão salvas"
},
"notification": {
"globalSettings": {
@@ -155,7 +158,8 @@
},
"notificationUnavailable": {
"documentation": "Leia a documentação",
- "title": "Notificações indisponíveis"
+ "title": "Notificações indisponíveis",
+ "desc": "As notificações push da Web exigem um contexto seguro (https://…
). Esta é uma limitação do navegador. Acesse o Frigate com segurança para usar as notificações."
},
"cameras": {
"title": "Câmeras",
@@ -169,20 +173,77 @@
"desc": "É necessário um e-mail válido que será utilizado para o notificar caso haja algum problema com o serviço push.",
"title": "E-mail"
},
- "title": "Notificações"
+ "title": "Notificações",
+ "unregisterDevice": "Cancelar o registro deste dispositivo",
+ "suspendTime": {
+ "5minutes": "Suspender por 5 minutos",
+ "1hour": "Suspender por 1 hora",
+ "12hours": "Suspender por 12 horas",
+ "untilRestart": "Suspender até reiniciar",
+ "10minutes": "Suspender por 10 minutos",
+ "suspend": "Suspender",
+ "30minutes": "Suspender por 30 minutos",
+ "24hours": "Suspender por 24 horas"
+ },
+ "cancelSuspension": "Cancelar Suspensão",
+ "toast": {
+ "success": {
+ "registered": "Cadastrado com sucesso para receber notificações. É necessário reiniciar o Frigate antes que qualquer notificação (incluindo uma notificação de teste) possa ser enviada.",
+ "settingSaved": "As configurações de notificação foram salvas."
+ },
+ "error": {
+ "registerFailed": "Falha ao salvar o registro de notificação."
+ }
+ },
+ "sendTestNotification": "Envie uma notificação de teste",
+ "active": "Notificações ativas",
+ "suspended": "Notificações suspensas {{time}}",
+ "unsavedRegistrations": "Registros de notificação não salvos",
+ "unsavedChanges": "Registros de notificação não salvos"
},
"frigatePlus": {
"snapshotConfig": {
"documentation": "Leia a documentação",
"table": {
"snapshots": "Snapshots",
- "camera": "Câmera"
- }
+ "camera": "Câmera",
+ "cleanCopySnapshots": "clean_copy
Instantâneos"
+ },
+ "title": "Configuração de instantâneo",
+ "desc": "O envio para o Frigate+ requer que tanto os snapshots quanto os snapshots clean_copy
estejam habilitados na sua configuração.",
+ "cleanCopyWarning": "Algumas câmeras têm snapshots habilitados, mas a cópia limpa está desabilitada. Você precisa habilitar clean_copy
na sua configuração de snapshot para poder enviar imagens dessas câmeras para o Frigate+."
},
"toast": {
"success": "As definições do Frigate+ foram guardadas. Reinicie o Frigate para aplicar as alterações.",
"error": "Falha ao guardar alterações de configuração: {{errorMessage}}"
- }
+ },
+ "modelInfo": {
+ "modelType": "Tipo de modelo",
+ "trainDate": "Data do treino",
+ "title": "Informações do modelo",
+ "error": "Falha ao carregar informações do modelo",
+ "availableModels": "Modelos Disponíveis",
+ "baseModel": "Modelo Básico",
+ "plusModelType": {
+ "userModel": "Ajuste-Fino",
+ "baseModel": "Modelo Básico"
+ },
+ "supportedDetectors": "Detectores Suportados",
+ "loading": "Carregando informações do modelo…",
+ "cameras": "Câmeras",
+ "loadingAvailableModels": "Carregando modelos disponíveis…",
+ "modelSelect": "Os modelos disponíveis no Frigate+ podem ser selecionados aqui. Observe que apenas modelos compatíveis com a configuração atual do seu detector podem ser selecionados."
+ },
+ "title": "Fragata+ Configurações",
+ "apiKey": {
+ "validated": "A chave da API Frigate+ foi detectada e validada",
+ "notValidated": "A chave da API do Frigate+ não foi detectada ou não foi validada",
+ "desc": "A chave de API do Frigate+ permite a integração com o serviço Frigate+.",
+ "plusLink": "Saiba mais sobre o Frigate+",
+ "title": "Chave de API do Frigate+"
+ },
+ "restart_required": "Reinicialização necessária (modelo Frigate+ alterado)",
+ "unsavedChanges": "Alterações nas configurações do Frigate+ não salvas"
},
"masksAndZones": {
"motionMasks": {
@@ -247,10 +308,15 @@
"allObjects": "Todos os objetos",
"speedEstimation": {
"title": "Estimativa de velocidade",
- "desc": "Ativar estimativa de velocidade para objetos nesta zona. A zona deve ter exatamente 4 pontos."
+ "desc": "Ativar estimativa de velocidade para objetos nesta zona. A zona deve ter exatamente 4 pontos.",
+ "docs": "Lê a documentação",
+ "lineBDistance": "Distância da Linha B ({{unit}})",
+ "lineCDistance": "Distância da Linha C ({{unit}})",
+ "lineDDistance": "Distância da Linha D ({{unit}})",
+ "lineADistance": "Distância da Linha A ({{unit}})"
},
"speedThreshold": {
- "title": "Limite de velocidade ({{unit}})",
+ "title": "Limiar de velocidade ({{unit}})",
"desc": "Especifica uma velocidade mínima para que os objetos sejam considerados nesta zona.",
"toast": {
"error": {
@@ -317,6 +383,11 @@
"error": {
"mustBeFinished": "A criação do polígono deve ser concluída antes de salvar."
}
+ },
+ "speed": {
+ "error": {
+ "mustBeGreaterOrEqualTo": "O limiar de velocidade deve ser igual ou superior a 0,1."
+ }
}
},
"objectMasks": {
@@ -345,14 +416,55 @@
},
"context": "As máscaras de filtro de objetos são usadas para filtrar falsos positivos para um determinado tipo de objeto com base na localização."
},
- "restart_required": "É necessário reiniciar (máscaras/zonas alteradas)"
+ "restart_required": "É necessário reiniciar (máscaras/zonas alteradas)",
+ "motionMaskLabel": "Mascara movimento {{number}}",
+ "objectMaskLabel": "Mascara de objecto {{number}} ({{label}})"
},
"debug": {
"zones": {
- "title": "Zonas"
+ "title": "Zonas",
+ "desc": "Mostrar um esboço de quaisquer zonas definidas"
},
"timestamp": {
- "title": "Carimbo de hora"
+ "title": "Carimbo de hora",
+ "desc": "Sobrepor um carimbo de data/hora na imagem"
+ },
+ "title": "Depurar",
+ "detectorDesc": "O Frigate utiliza os seus detectores ({{detectors}}) para detectar objetos no fluxo de vídeo da sua câmara.",
+ "desc": "A vista de depuração apresenta uma vista em tempo real dos objetos localizados e das respectivas estatísticas. A lista de objetos apresenta um resumo dos objetos detectados em tempo real.",
+ "debugging": "A depurar",
+ "objectList": "Lista de Objetos",
+ "noObjects": "Sem Objetos",
+ "boundingBoxes": {
+ "title": "Caixas de contorno",
+ "desc": "Mostrar caixas de contorno à volta dos objetos seguidos",
+ "colors": {
+ "label": "Cores da caixa de contorno de objetos",
+ "info": "
Caixas de região
Caixas verdes brilhantes serão sobrepostas em áreas de interesse no quadro que estão sendo enviadas ao detector de objetos.
" + }, + "motion": { + "tips": "Caixas de movimento
Caixas vermelhas serão sobrepostas em áreas do quadro onde o movimento está sendo detectado
", + "title": "Caixas de movimento", + "desc": "Mostrar caixas ao redor das áreas onde o movimento é detectado" + }, + "mask": { + "title": "Máscaras de movimento", + "desc": "Mostrar polígonos de máscara de movimento" } }, "camera": { @@ -373,8 +485,9 @@ "objectDetectionsTips": "Todos os objetos {{detectionsLabels}} não categorizados na câmera {{cameraName}} serão exibidos como Detecções, independentemente da zona em que se encontram.", "zoneObjectAlertsTips": "Todos os objetos {{alertsLabels}} detectados na zona {{zone}} na câmera {{cameraName}} serão exibidos como Alertas.", "toast": { - "success": "A configuração de classificação de revisão foi salva. Reinicie o Frigate para aplicar as alterações." - } + "success": "A configuração de Classificação de revisão foi salva. Reinicie o Frigate para aplicar as alterações." + }, + "unsavedChanges": "Configurações de classificação de revisão não salvas para {{camera}}" }, "title": "Configurações da câmera", "streams": { @@ -394,7 +507,8 @@ "desc": "O valor da área de contorno é usado para decidir quais grupos de pixels alterados são qualificados como movimento. Valor padrão: 10" }, "improveContrast": { - "title": "Melhorar o contraste" + "title": "Melhorar o contraste", + "desc": "Melhorar o contraste para cenas mais escuras. Defeito: ON" }, "Threshold": { "title": "Limite", @@ -404,6 +518,169 @@ "title": "O Frigate utiliza a detecção de movimento como uma primeira verificação para ver se há algo acontecendo no quadro que valha a pena ser verificado com a detecção de objetos.", "documentation": "Leia o Guia de Ajuste de Movimento" }, - "title": "Ajustador de Detecção de Movimento" + "title": "Ajustador de Detecção de Movimento", + "unsavedChanges": "Alterações do Ajuste de Movimento não guardadas ({{camera}})", + "toast": { + "success": "Definições para Movimento foram salvas." + } + }, + "enrichments": { + "faceRecognition": { + "desc": "O reconhecimento facial permite que as pessoas recebam nomes e, quando o rosto delas for reconhecido, o Frigate atribuirá o nome da pessoa como um subrótulo. Essas informações estão incluídas na interface do usuário, nos filtros e nas notificações.", + "modelSize": { + "small": { + "desc": "O uso de pequeno emprega um modelo de incorporação facial do FaceNet que funciona eficientemente na maioria das CPUs.", + "title": "pequeno" + }, + "large": { + "desc": "O uso de grande emprega um modelo de incorporação de rostos do ArcFace e será executado automaticamente na GPU, se aplicável.", + "title": "grande" + }, + "label": "Tamanho do modelo", + "desc": "O tamanho do modelo usado para reconhecimento facial." + }, + "title": "Reconhecimento facial", + "readTheDocumentation": "Leia a documentação" + }, + "semanticSearch": { + "modelSize": { + "small": { + "desc": "Usar pequeno emprega uma versão quantizada do modelo que usa menos RAM e roda mais rápido na CPU, com uma diferença muito insignificante na qualidade de incorporação.", + "title": "pequeno" + }, + "label": "Tamanho do modelo", + "desc": "O tamanho do modelo usado para incorporações de pesquisa semântica.", + "large": { + "title": "grande", + "desc": "Usar grande emprega o modelo Jina completo e será executado automaticamente na GPU, se aplicável." + } + }, + "reindexNow": { + "desc": "A reindexação regenerará os embeddings para todos os objetos rastreados. Esse processo é executado em segundo plano e pode sobrecarregar sua CPU e levar um tempo considerável, dependendo do número de objetos rastreados.", + "label": "Reindexar agora", + "confirmTitle": "Confirmar reindexação", + "confirmDesc": "Tem certeza de que deseja reindexar todos os objetos incorporados rastreados? Este processo será executado em segundo plano, mas pode sobrecarregar sua CPU e levar bastante tempo. Você pode acompanhar o progresso na página Explorar.", + "confirmButton": "Reindexar", + "success": "Reindexação iniciada com sucesso.", + "alreadyInProgress": "A reindexação já está em andamento.", + "error": "Falha ao iniciar a reindexação: {{errorMessage}}" + }, + "desc": "A Pesquisa Semântica no Frigate permite que você encontre objetos rastreados dentro dos seus itens de revisão usando a própria imagem, uma descrição de texto definida pelo usuário ou uma gerada automaticamente.", + "readTheDocumentation": "Leia a documentação", + "title": "Busca semântica" + }, + "licensePlateRecognition": { + "desc": "O Frigate pode reconhecer placas de veículos e adicionar automaticamente os caracteres detectados ao campo recognized_license_plate ou um nome conhecido como subrótulo para objetos do tipo carro. Um caso de uso comum pode ser a leitura de placas de carros entrando em uma garagem ou de carros passando por uma rua.", + "title": "Reconhecimento de placas", + "readTheDocumentation": "Leia a documentação" + }, + "birdClassification": { + "desc": "A classificação de aves identifica aves conhecidas usando um modelo quantizado do Tensorflow. Quando uma ave conhecida é reconhecida, seu nome comum é adicionado como um sub_label. Essas informações são incluídas na interface do usuário, nos filtros e nas notificações.", + "title": "Classificação de aves" + }, + "unsavedChanges": "Alterações nas configurações de enriquecimentos não salvos", + "title": "Configurações de enriquecimentos", + "restart_required": "Reinicialização necessária (configurações de enriquecimento alteradas)", + "toast": { + "success": "As configurações de enriquecimento foram salvas. Reinicie o Frigate para aplicar as alterações.", + "error": "Falha ao salvar alterações de configuração: {{errorMessage}}" + } + }, + "users": { + "dialog": { + "changeRole": { + "roleInfo": { + "admin": "Administrador", + "adminDesc": "Acesso total a todos os recursos.", + "viewer": "Visualizador", + "viewerDesc": "Limitado apenas a painéis ao vivo, revisão, exploração e exportações.", + "intro": "Selecione a função apropriada para este usuário:" + }, + "title": "Alterar função do usuário", + "desc": "Atualizar permissões para {{username}}", + "select": "Selecione uma função" + }, + "deleteUser": { + "title": "Excluir usuário", + "desc": "Esta ação não pode ser desfeita. Isso excluirá permanentemente a conta do usuário e removerá todos os dados associados.", + "warn": "Tem certeza de que deseja excluir {{username}}?" + }, + "form": { + "user": { + "title": "Nome de usuário", + "desc": "Somente letras, números, pontos e sublinhados são permitidos.", + "placeholder": "Digite o nome de usuário" + }, + "password": { + "strength": { + "weak": "Fraco", + "medium": "Médio", + "strong": "Forte", + "title": "Força da senha: ", + "veryStrong": "Muito forte" + }, + "notMatch": "As senhas não correspondem", + "title": "Senha", + "placeholder": "Digite a senha", + "confirm": { + "title": "Digite uma senha", + "placeholder": "Confirme sua senha" + }, + "match": "Correspondência de senhas" + }, + "newPassword": { + "title": "Nova Senha", + "placeholder": "Digite a nova senha", + "confirm": { + "placeholder": "Digite novamente a nova senha" + } + }, + "usernameIsRequired": "O nome de usuário é obrigatório", + "passwordIsRequired": "A senha é obrigatória" + }, + "createUser": { + "title": "Criar novo usuário", + "desc": "Adicione uma nova conta de usuário e especifique uma função para acesso a áreas da interface do usuário do Frigate.", + "usernameOnlyInclude": "O nome de usuário pode incluir apenas letras, números, . ou _", + "confirmPassword": "Por favor confirme sua senha" + }, + "passwordSetting": { + "setPassword": "Set Password", + "desc": "Crie uma senha forte para proteger esta conta.", + "updatePassword": "Atualizar senha para {{username}}", + "cannotBeEmpty": "A senha não pode ficar vazia", + "doNotMatch": "As senhas não correspondem" + } + }, + "management": { + "desc": "Gerenciar as contas de usuário desta instância do Frigate.", + "title": "Gerenciamento de usuários" + }, + "table": { + "noUsers": "Nenhum usuário encontrado.", + "password": "Senha", + "deleteUser": "Excluir usuário", + "changeRole": "Alterar função do usuário", + "username": "Nome de usuário", + "actions": "Ações", + "role": "Papel" + }, + "title": "Usuários", + "addUser": "Adicionar usuário", + "updatePassword": "Atualizar senha", + "toast": { + "success": { + "createUser": "Usuário {{user}} criado com sucesso", + "deleteUser": "Usuário {{user}} excluído com sucesso", + "updatePassword": "Senha atualizada com sucesso.", + "roleUpdated": "Função atualizada para {{user}}" + }, + "error": { + "setPasswordFailed": "Falha ao salvar a senha: {{errorMessage}}", + "createUserFailed": "Falha ao criar usuário: {{errorMessage}}", + "deleteUserFailed": "Falha ao excluir o usuário: {{errorMessage}}", + "roleUpdateFailed": "Falha ao atualizar a função: {{errorMessage}}" + } + } } } diff --git a/web/public/locales/pt/views/system.json b/web/public/locales/pt/views/system.json index 9d05cdee6..93183652b 100644 --- a/web/public/locales/pt/views/system.json +++ b/web/public/locales/pt/views/system.json @@ -72,7 +72,8 @@ "tips": { "title": "Explorar informações da Camera" }, - "streamDataFromFFPROBE": "Os dados de fluxo são obtidos comffprobe
."
+ "streamDataFromFFPROBE": "Os dados de fluxo são obtidos com ffprobe
.",
+ "aspectRatio": "relação de aspeto"
},
"framesAndDetections": "Quadros / Detecções",
"label": {