diff --git a/web/public/locales/pt-BR/audio.json b/web/public/locales/pt-BR/audio.json
index b8db8b374..04ee37d6b 100644
--- a/web/public/locales/pt-BR/audio.json
+++ b/web/public/locales/pt-BR/audio.json
@@ -6,7 +6,7 @@
"chant": "Canto",
"babbling": "Balbuciando",
"bellow": "Abaixo",
- "whoop": "Grito",
+ "whoop": "Grito de Felicidade",
"whispering": "Sussurrando",
"laughter": "Risada",
"snicker": "Risada",
@@ -69,7 +69,7 @@
"bark": "Latido",
"yip": "Latido / Grito Agudo",
"howl": "Uivado",
- "bow_wow": "Bow Wow",
+ "bow_wow": "Latido",
"growling": "Rosnado",
"whimper_dog": "Choro de Cachorro",
"purr": "Ronronado",
@@ -129,7 +129,7 @@
"frog": "Sapo",
"croak": "Coaxado",
"snake": "Cobra",
- "rattle": "Guizo",
+ "rattle": "Chocalho",
"whale_vocalization": "Vocalização de Baleia",
"music": "Música",
"musical_instrument": "Instrumento Musical",
@@ -139,7 +139,7 @@
"bass_guitar": "Baixo",
"acoustic_guitar": "Violão Acústico",
"steel_guitar": "Guitarra Havaiana",
- "tapping": "Tapping",
+ "tapping": "Batidas Leves",
"strum": "Dedilhado",
"banjo": "Banjo",
"sitar": "Sitar",
@@ -163,5 +163,267 @@
"drum_roll": "Tambores Rufando",
"bass_drum": "Bumbo",
"timpani": "Tímpanos (Instrumento Musical)",
- "tabla": "Tabla"
+ "tabla": "Tabla",
+ "wood_block": "Bloco de Madeira",
+ "bagpipes": "Gaita de Fole",
+ "pop_music": "Música Pop",
+ "grunge": "Grunge",
+ "middle_eastern_music": "Música do Oriente Médio",
+ "jazz": "Jazz",
+ "disco": "Disco",
+ "classical_music": "Música Clássica",
+ "opera": "Ópera",
+ "electronic_music": "Música Eletrónica",
+ "house_music": "Música House",
+ "techno": "Techno",
+ "dubstep": "Dubstep",
+ "drum_and_bass": "Drum and Bass",
+ "electronica": "Eletrónica",
+ "cymbal": "Címbalo",
+ "hi_hat": "Chimbau",
+ "tambourine": "Pandeiro",
+ "maraca": "Maraca",
+ "gong": "Gongo",
+ "tubular_bells": "Sinos Tubulares",
+ "mallet_percussion": "Percussão de Martelo",
+ "marimba": "Marimba",
+ "glockenspiel": "Glockenspiel",
+ "vibraphone": "Vibrafone",
+ "steelpan": "Panela de Aço",
+ "orchestra": "Orquestra",
+ "brass_instrument": "Instrumento de Metal",
+ "french_horn": "Trompa Francesa",
+ "trumpet": "Trombeta",
+ "trombone": "Trombone",
+ "bowed_string_instrument": "Instrumento de Cordas Friccionadas",
+ "string_section": "Seção de Cordas",
+ "violin": "Violino",
+ "pizzicato": "Pizzicato",
+ "cello": "Violoncelo",
+ "double_bass": "Contrabaixo",
+ "wind_instrument": "Instrumento de Sopro",
+ "flute": "Flauta",
+ "saxophone": "Saxofone",
+ "clarinet": "Clarinete",
+ "harp": "Harpa",
+ "bell": "Sino",
+ "church_bell": "Sino de Igreja",
+ "jingle_bell": "Guizo",
+ "bicycle_bell": "Campainha de Bicicleta",
+ "tuning_fork": "Diapasão",
+ "chime": "Carrilhão",
+ "wind_chime": "Sinos de Vento",
+ "harmonica": "Gaita",
+ "accordion": "Acordeão",
+ "didgeridoo": "Didjeridu",
+ "theremin": "Teremim",
+ "scratching": "Arranhado",
+ "hip_hop_music": "Música Hip-Hop",
+ "beatboxing": "Beatbox",
+ "rock_music": "Rock",
+ "heavy_metal": "Heavy Metal",
+ "punk_rock": "Punk Rock",
+ "progressive_rock": "Rock Progressivo",
+ "rock_and_roll": "Rock and Roll",
+ "psychedelic_rock": "Rock Psicodélico",
+ "rhythm_and_blues": "Rhythm and Blues",
+ "soul_music": "Música Soul",
+ "music_of_latin_america": "Music of Latin America",
+ "salsa_music": "Música Salsa",
+ "flamenco": "Flamenco",
+ "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 Capella",
+ "music_of_africa": "Music of Africa",
+ "afrobeat": "Afrobeat",
+ "christian_music": "Música Cristã",
+ "gospel_music": "Música Gospel",
+ "music_of_asia": "Music of Asia",
+ "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": "Música",
+ "thunderstorm": "Tempestade",
+ "thunder": "Trovão",
+ "water": "Água",
+ "rain": "Chuva",
+ "raindrop": "Gota de Chuva",
+ "rain_on_surface": "Chuva na Superfície",
+ "stream": "Transmissão",
+ "waterfall": "Cachoeira",
+ "ocean": "Oceano",
+ "waves": "Ondas",
+ "steam": "Vapor",
+ "gurgling": "Borbulhado",
+ "fire": "Fogo",
+ "crackle": "Estalo",
+ "sailboat": "Veleiro",
+ "rowboat": "Barco a Remo",
+ "motorboat": "Lancha",
+ "ship": "Navio",
+ "motor_vehicle": "Veículo Motorizado",
+ "toot": "Buzinado",
+ "car_alarm": "Alarme de Carro",
+ "power_windows": "Vidros Elétricos",
+ "skidding": "Derrapado",
+ "singing_bowl": "Tigela Tibetana",
+ "reggae": "Reggae",
+ "country": "País",
+ "swing_music": "Música Swing",
+ "bluegrass": "Música Bluegrass",
+ "funk": "Funk",
+ "folk_music": "Música Folk",
+ "electronic_dance_music": "Música Eletrônica",
+ "ambient_music": "Música Ambiente",
+ "trance_music": "Música Trance",
+ "background_music": "Música de Fundo",
+ "theme_music": "Música Tema",
+ "jingle": "Jingle",
+ "soundtrack_music": "Música de Trilha Sonora",
+ "lullaby": "Canção de Ninar",
+ "video_game_music": "Música de Video Game",
+ "christmas_music": "Música Natalina",
+ "dance_music": "Música Dance",
+ "wedding_music": "Música de Casamento",
+ "happy_music": "Música Feliz",
+ "sad_music": "Música Triste",
+ "tender_music": "Música Suave",
+ "exciting_music": "Música Empolgante",
+ "angry_music": "Música Raivosa",
+ "scary_music": "Música Assustadora",
+ "wind": "Vento",
+ "rustling_leaves": "Folhas Farfalhantes",
+ "fixed-wing_aircraft": "Aeronave de Asa Fixa",
+ "engine": "Motor",
+ "light_engine": "Motor Leve",
+ "dental_drill's_drill": "Broca Odontológica",
+ "lawn_mower": "Cortador de Grama",
+ "chainsaw": "Motosserra",
+ "medium_engine": "Motor Médio",
+ "heavy_engine": "Motor Pesado",
+ "engine_knocking": "Motor Batendo",
+ "engine_starting": "Motor Partindo",
+ "idling": "Marcha Lenta",
+ "chopping": "Cortando",
+ "frying": "Fritando",
+ "microwave_oven": "Forno Microondas",
+ "water_tap": "Torneira de Água",
+ "bathtub": "Banheira",
+ "toilet_flush": "Descarga de Vaso Sanitário",
+ "computer_keyboard": "Teclado de Computador",
+ "writing": "Escrita",
+ "alarm": "Alarme",
+ "telephone": "Telefone",
+ "telephone_bell_ringing": "Telefone Tocando",
+ "ringtone": "Toque de Celular",
+ "telephone_dialing": "Telefone Discando",
+ "dial_tone": "Tom de Discagem",
+ "busy_signal": "Sinal de Ocupado",
+ "alarm_clock": "Despertador",
+ "siren": "Sirene",
+ "civil_defense_siren": "Sirene de Defesa Civil",
+ "wind_noise": "Ruído de Vento",
+ "tire_squeal": "Pneus Cantando",
+ "car_passing_by": "Carro Passando",
+ "race_car": "Carro de Corrida",
+ "truck": "Pickup / Caminhão",
+ "air_brake": "Freios a Ar",
+ "air_horn": "Buzina a Ar",
+ "reversing_beeps": "Alarme de Ré",
+ "ice_cream_truck": "Carro de Sorvete",
+ "emergency_vehicle": "Veículo de Emergência",
+ "police_car": "Carro de Polícia",
+ "ambulance": "Ambulância",
+ "fire_engine": "Caminhão de Bombeiros",
+ "traffic_noise": "Barulho de Tráfego",
+ "rail_transport": "Transporte Ferroviário",
+ "train_whistle": "Apito de Trem",
+ "train_horn": "Buzina de Trem",
+ "railroad_car": "Vagão de Trem",
+ "train_wheels_squealing": "Rodas de Trem Rangendo",
+ "subway": "Metrô",
+ "aircraft": "Aeronave",
+ "aircraft_engine": "Motor de Aeronave",
+ "jet_engine": "Motor a Jato",
+ "propeller": "Hélice",
+ "helicopter": "Helicóptero",
+ "accelerating": "Acelerando",
+ "doorbell": "Campainha",
+ "ding-dong": "Toque de Campainha",
+ "sliding_door": "Porta de Correr",
+ "slam": "Batida Forte",
+ "knock": "Batida na Porta",
+ "burst": "Estouro / Rajada",
+ "eruption": "Erupção",
+ "boom": "Estrondo",
+ "wood": "Madeira",
+ "chop": "Barulho de Corte",
+ "splinter": "Lascado",
+ "crack": "Rachado",
+ "glass": "Vidro",
+ "chink": "Fenda",
+ "shatter": "Estilhaçado",
+ "silence": "Silêncio",
+ "sound_effect": "Efeito Sonoro",
+ "environmental_noise": "Ruido Ambiente",
+ "static": "Estático",
+ "white_noise": "Ruido Branco",
+ "pink_noise": "Ruido Rosa",
+ "television": "Televisão",
+ "radio": "Rádio",
+ "field_recording": "Gravação de Campo",
+ "scream": "Grito",
+ "tap": "Toque",
+ "squeak": "Rangido",
+ "cupboard_open_or_close": "Cristaleira Abrindo ou Fechando",
+ "drawer_open_or_close": "Gaveteiro Abrindo ou Fechando",
+ "dishes": "Pratos",
+ "cutlery": "Talheres",
+ "electric_toothbrush": "Escova de Dentes Elétrica",
+ "vacuum_cleaner": "Aspirador de Pó",
+ "zipper": "Zíper",
+ "keys_jangling": "Chaves Chacoalhando",
+ "coin": "Moeda",
+ "electric_shaver": "Barbeador Elétrico",
+ "shuffling_cards": "Embaralhar de Cartas",
+ "typing": "Digitação",
+ "typewriter": "Máquina de Escrever",
+ "buzzer": "Zumbador",
+ "smoke_detector": "Detector de Fumaça",
+ "fire_alarm": "Alarme de Incêndio",
+ "foghorn": "Buzina de Nevoeiro",
+ "whistle": "Apito",
+ "steam_whistle": "Apito a Vapor",
+ "mechanisms": "Mecanismos",
+ "ratchet": "Catraca",
+ "tick": "Tique",
+ "tick-tock": "Tique-Toque",
+ "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",
+ "single-lens_reflex_camera": "Câmera Single-Lens Reflex",
+ "tools": "Ferramentas",
+ "hammer": "Martelo",
+ "jackhammer": "Britadeira",
+ "sawing": "Som de Serra",
+ "filing": "Som de Lima",
+ "sanding": "Lixamento",
+ "power_tool": "Ferramenta Elétrica",
+ "drill": "Furadeira",
+ "explosion": "Explosão",
+ "gunshot": "Tiro",
+ "machine_gun": "Metralhadora",
+ "fusillade": "Fuzilamento",
+ "artillery_fire": "Fogo de Artilharia",
+ "cap_gun": "Espoleta",
+ "fireworks": "Fogos de Artifício",
+ "firecracker": "Rojões"
}
diff --git a/web/public/locales/pt-BR/common.json b/web/public/locales/pt-BR/common.json
index f9230f0cc..c5b789ccc 100644
--- a/web/public/locales/pt-BR/common.json
+++ b/web/public/locales/pt-BR/common.json
@@ -25,27 +25,27 @@
"yr": "{{time}}ano",
"year_one": "{{time}} ano",
"year_many": "{{time}} anos",
- "year_other": "",
+ "year_other": "{{time}} anos",
"mo": "{{time}}mês",
"month_one": "{{time}} mês",
"month_many": "{{time}} meses",
- "month_other": "",
+ "month_other": "{{time}} meses",
"d": "{{time}} dia",
"day_one": "{{time}} dia",
"day_many": "{{time}} dias",
- "day_other": "",
+ "day_other": "{{time}} dias",
"h": "{{time}}h",
"hour_one": "{{time}} hora",
"hour_many": "{{time}} horas",
- "hour_other": "",
+ "hour_other": "{{time}} horas",
"m": "{{time}}m",
"minute_one": "{{time}} minuto",
"minute_many": "{{time}} minutos",
- "minute_other": "",
+ "minute_other": "{{time}} minutos",
"s": "{{time}}s",
"second_one": "{{time}} segundo",
"second_many": "{{time}} segundos",
- "second_other": "",
+ "second_other": "{{time}} segundos",
"formattedTimestamp": {
"12hour": "d MMM,h:mm:ss aaa",
"24hour": "d MMM, HH:mm:ss"
@@ -83,7 +83,7 @@
"selectItem": "Selecione {{item}}",
"unit": {
"speed": {
- "mph": "mph",
+ "mph": "mi/h",
"kph": "km/h"
},
"length": {
@@ -201,7 +201,65 @@
},
"restart": "Reiniciar o Frigate",
"live": {
- "title": "Ao Vivo"
+ "title": "Ao Vivo",
+ "allCameras": "Todas as câmeras",
+ "cameras": {
+ "title": "Câmeras",
+ "count_one": "{{count}} Câmera",
+ "count_many": "{{count}} Câmeras",
+ "count_other": "{{count}} Câmeras"
+ }
+ },
+ "review": "Revisão",
+ "explore": "Explorar",
+ "export": "Exportar",
+ "uiPlayground": "Playground da UI",
+ "faceLibrary": "Biblioteca de Rostos",
+ "user": {
+ "title": "Usuário",
+ "account": "Conta",
+ "current": "Usuário Atual: {{user}}",
+ "anonymous": "anônimo",
+ "logout": "Sair",
+ "setPassword": "Definir Senha"
}
+ },
+ "toast": {
+ "copyUrlToClipboard": "URL copiada para a área de transferência.",
+ "save": {
+ "title": "Salvar",
+ "error": {
+ "title": "Falha ao salvar as alterações de configuração: {{errorMessage}}",
+ "noMessage": "Falha ao salvar as alterações de configuração"
+ }
+ }
+ },
+ "role": {
+ "title": "Papel",
+ "admin": "Administrador",
+ "viewer": "Espectador",
+ "desc": "Administradores possuem acesso total a todos os recursos da interface do Frigate. Espectadores são limitados a ver as câmeras, revisar itens, e filmagens históricas na interface."
+ },
+ "pagination": {
+ "label": "paginação",
+ "previous": {
+ "title": "Anterior",
+ "label": "Ir para a página anterior"
+ },
+ "next": {
+ "title": "Próximo",
+ "label": "Ir para a próxima página"
+ },
+ "more": "Mais páginas"
+ },
+ "accessDenied": {
+ "documentTitle": "Acesso Negado - Frigate",
+ "title": "Acesso Negado",
+ "desc": "Você não possui permissão para visualizar essa página."
+ },
+ "notFound": {
+ "documentTitle": "Não Encontrado - Frigate",
+ "title": "404",
+ "desc": "Página não encontrada"
}
}
diff --git a/web/public/locales/pt-BR/components/dialog.json b/web/public/locales/pt-BR/components/dialog.json
index c3e450f27..f180fe513 100644
--- a/web/public/locales/pt-BR/components/dialog.json
+++ b/web/public/locales/pt-BR/components/dialog.json
@@ -16,7 +16,7 @@
},
"review": {
"question": {
- "label": "Confirmar essa etiqueta para Frigate Plus",
+ "label": "Confirmar esse rótulo para Frigate Plus",
"ask_a": "Este objeto é um {{label}}
?",
"ask_an": "Este objeto é um{{label}}
?",
"ask_full": "Este objeto é um{{untranslatedLabel}}
({{translatedLabel}})?"
diff --git a/web/public/locales/pt-BR/components/filter.json b/web/public/locales/pt-BR/components/filter.json
index 6e28b1c69..d503d3f13 100644
--- a/web/public/locales/pt-BR/components/filter.json
+++ b/web/public/locales/pt-BR/components/filter.json
@@ -3,11 +3,11 @@
"labels": {
"label": "Rótulos",
"all": {
- "title": "Todas as Etiquetas",
- "short": "Etiquetas"
+ "title": "Todos os Rótulos",
+ "short": "Rótulos"
},
- "count_one": "{{count}} Etiqueta",
- "count_other": "{{count}} Etiquetas"
+ "count_one": "{{count}} Rótulo",
+ "count_other": "{{count}} Rótulos"
},
"zones": {
"label": "Zonas",
@@ -29,8 +29,8 @@
},
"timeRange": "Intervalo de Tempo",
"subLabels": {
- "label": "Sub-etiquetas",
- "all": "Todas as Sub-etiquetas"
+ "label": "Sub-Rótulos",
+ "all": "Todos os Sub-Rótulos"
},
"score": "Pontuação",
"estimatedSpeed": "Velocidade Estimada {{unit}}",
diff --git a/web/public/locales/pt-BR/components/player.json b/web/public/locales/pt-BR/components/player.json
index 3d88725a5..370565b63 100644
--- a/web/public/locales/pt-BR/components/player.json
+++ b/web/public/locales/pt-BR/components/player.json
@@ -26,7 +26,7 @@
"value": "{{seconds}} segundos",
"short": {
"title": "Latência",
- "value": "{{seconds}} segundos"
+ "value": "{{seconds}} s"
}
},
"totalFrames": "Total de Quadros:",
diff --git a/web/public/locales/pt-BR/views/explore.json b/web/public/locales/pt-BR/views/explore.json
index ee5098f5a..a43ee2b17 100644
--- a/web/public/locales/pt-BR/views/explore.json
+++ b/web/public/locales/pt-BR/views/explore.json
@@ -41,8 +41,8 @@
},
"tips": {
"mismatch_one": "{{count}} objeto indisponível foi detectado e incluido nesse item de revisão. Esse objeto ou não se qualifica para um alerta ou detecção, ou já foi limpo/deletado.",
- "mismatch_many": "{{count}} objetos indisponíveis foram detectados e incluídos nesse item de revisão. Esses objetos ou não se qualificam para um alerta ou detecção, ou já foi limpo/deletado.",
- "mismatch_other": "",
+ "mismatch_many": "{{count}} objetos indisponíveis foram detectados e incluídos nesse item de revisão. Esses objetos ou não se qualificam para um alerta ou detecção, ou já foram limpos/deletados.",
+ "mismatch_other": "{{count}} objetos indisponíveis foram detectados e incluídos nesse item de revisão. Esses objetos ou não se qualificam para um alerta ou detecção, ou já foram limpos/deletados.",
"hasMissingObjects": "Ajustar a sua configuração se quiser que o Frigate salve objetos rastreados com as seguintes categorias: {{objects}}"
},
"toast": {
@@ -196,7 +196,7 @@
"fetchingTrackedObjectsFailed": "Erro ao buscar por objetos rastreados: {{errorMessage}}",
"trackedObjectsCount_one": "{{count}} objeto rastreado ",
"trackedObjectsCount_many": "{{count}} objetos rastreados ",
- "trackedObjectsCount_other": "",
+ "trackedObjectsCount_other": "{{count}} objetos rastreados ",
"searchResult": {
"tooltip": "Correspondência com {{type}} de {{confidence}}%",
"deleteTrackedObject": {
diff --git a/web/public/locales/pt-BR/views/faceLibrary.json b/web/public/locales/pt-BR/views/faceLibrary.json
index 1ca2c5366..d08b38110 100644
--- a/web/public/locales/pt-BR/views/faceLibrary.json
+++ b/web/public/locales/pt-BR/views/faceLibrary.json
@@ -3,8 +3,8 @@
"person": "Pessoa",
"unknown": "Desconhecido",
"face": "Detalhes do Rosto",
- "subLabelScore": "Pontuação do sub-rótulo",
- "scoreInfo": "A pontuação da sub etiqueta é a pontuação ponderada de todas as confidências faciais reconhecidas, então a pontuação pode ser diferente da mostrada na foto instantânea.",
+ "subLabelScore": "Pontuação do Sub-Rótulo",
+ "scoreInfo": "A pontuação do sub-rótulo é a pontuação ponderada de todas as confidências faciais reconhecidas, então a pontuação pode ser diferente da mostrada na foto instantânea.",
"faceDesc": "Detalhes do objeto rastreado que gerou este rosto",
"timestamp": "Carimbo de data e hora"
},
@@ -53,7 +53,7 @@
"faceName": "Digite o Nome do Rosto",
"uploadFace": "Enviar Imagem de Rosto",
"description": {
- "uploadFace": "Faça o upload de uma imagem de {{name}} que mostre mostre seu rosto visto de frente. A imagem não precisa estar recortada apenas com o rosto."
+ "uploadFace": "Faça o upload de uma imagem de {{name}} que mostre seu rosto visto de frente. A imagem não precisa estar recortada apenas com o rosto."
}
},
"description": {
@@ -87,7 +87,7 @@
"renamedFace": "O rosto foi renomeado com sucesso para {{name}}",
"deletedName_one": "{{count}} rosto foi deletado com sucesso.",
"deletedName_many": "{{count}} rostos foram deletados com sucesso.",
- "deletedName_other": ""
+ "deletedName_other": "{{count}} rostos foram deletados com sucesso."
},
"error": {
"uploadingImageFailed": "Falha ao enviar a imagem: {{errorMessage}}",
diff --git a/web/public/locales/pt-BR/views/search.json b/web/public/locales/pt-BR/views/search.json
index 095503568..19bf1a205 100644
--- a/web/public/locales/pt-BR/views/search.json
+++ b/web/public/locales/pt-BR/views/search.json
@@ -13,7 +13,7 @@
"filter": {
"label": {
"cameras": "Câmeras",
- "labels": "Etiquetas",
+ "labels": "Rótulos",
"zones": "Zonas",
"before": "Antes",
"after": "Depois",
@@ -21,7 +21,7 @@
"max_score": "Pontuação Máxima",
"min_speed": "Velocidade Mínima",
"max_speed": "Velocidade Máxima",
- "sub_labels": "Sub-etiquetas",
+ "sub_labels": "Sub-Rótulos",
"search_type": "Tipo de Busca",
"time_range": "Intervalo de Tempo",
"recognized_license_plate": "Placa de Carro Reconhecida",
diff --git a/web/public/locales/pt-BR/views/settings.json b/web/public/locales/pt-BR/views/settings.json
index b0b8b0a37..c5e0af438 100644
--- a/web/public/locales/pt-BR/views/settings.json
+++ b/web/public/locales/pt-BR/views/settings.json
@@ -5,7 +5,7 @@
"camera": "Configurações de Câmera - Frigate",
"enrichments": "Configurações de Enriquecimento - Frigate",
"masksAndZones": "Editor de Máscara e Zona - Frigate",
- "motionTuner": "Virada de Movimento - Frigate",
+ "motionTuner": "Ajuste de Movimento - Frigate",
"object": "Debug - Frigate",
"general": "Configurações Gerais - Frigate",
"frigatePlus": "Frigate+ Configurações- Frigate",
@@ -18,8 +18,8 @@
"users": "Usuários",
"notifications": "Notificações",
"frigateplus": "Frigate+",
- "motionTuner": "Ajuste de Detecção de Movimento",
- "debug": "Depuração",
+ "motionTuner": "Ajuste de Movimento",
+ "debug": "Depurar",
"enrichments": "Melhorias"
},
"dialog": {
@@ -254,7 +254,7 @@
"edit": "Editar Zona",
"point_one": "{{count}} ponto",
"point_many": "{{count}} pontos",
- "point_other": "",
+ "point_other": "{{count}} pontos",
"clickDrawPolygon": "Clique para desenhar um polígono na imagem.",
"name": {
"title": "Nome",
@@ -275,8 +275,348 @@
},
"allObjects": "Todos os Objetos",
"speedEstimation": {
- "title": "Estimativa de Velocidade"
+ "title": "Estimativa de Velocidade",
+ "desc": "Habilitar estimativa de velocidade para objetos nesta zona. A zona deve ter exatamente 4 pontos.",
+ "docs": "Leia a documentação",
+ "lineADistance": "Distância da linha A ({{unit}})",
+ "lineBDistance": "Distância da Linha B ({{unit}})",
+ "lineCDistance": "Distância da linha C ({{unit}})",
+ "lineDDistance": "Distância da linha D ({{unit}})"
+ },
+ "speedThreshold": {
+ "title": "Limiar de Velocidade ({{unit}})",
+ "desc": "Especifique a velocidade mínima para o objeto ser considerado nessa zona.",
+ "toast": {
+ "error": {
+ "pointLengthError": "A estimativa de velocidade foi desativada para essa zona. Zonas com estimação de velocidade devem ter exatamente 4 pontos.",
+ "loiteringTimeError": "Zonas com tempo de permanência acima de 0 não devem ser usadas com estimativa de velocidade."
+ }
+ }
+ },
+ "toast": {
+ "success": "A zona ({{zoneName}}) foi salva. Reinicie o Frigate para aplicar as mudanças."
}
+ },
+ "objectMasks": {
+ "objects": {
+ "allObjectTypes": "Todos os tipos de objetos",
+ "title": "Objetos",
+ "desc": "O tipo de objeto que se aplica para essa máscara de objeto."
+ },
+ "toast": {
+ "success": {
+ "title": "{{polygonName}} foi salvo. Reinicie o Frigate para aplicar as alterações.",
+ "noName": "A máscara de objeto foi salva. Reinicie o Frigate para aplicar as alterações."
+ }
+ },
+ "label": "Máscaras de Objeto",
+ "documentTitle": "Editar Máscara de Objeto - Frigate",
+ "desc": {
+ "title": "Máscaras de filtro de objetos são usadas para filtrar falsos positivos para um determinado tipo de objeto baseado na localização.",
+ "documentation": "Documentação"
+ },
+ "add": "Adicionar Máscara de Objeto",
+ "edit": "Editar Máscara de Objeto",
+ "context": "Filtro de máscaras de objeto são usados para filtrar falsos positivos para um dado tipo de objeto baseado na localização.",
+ "point_one": "{{count}} ponto",
+ "point_many": "{{count}} pontos",
+ "point_other": "{{count}} pontos",
+ "clickDrawPolygon": "Clique para desenhar um polígono na imagem."
+ },
+ "motionMasks": {
+ "label": "Máscara de Movimento",
+ "documentTitle": "Editar Máscara de Movimento - Frigate",
+ "desc": {
+ "title": "Máscaras de movimento são usadas para prevenir tipos de movimento de ativarem uma detecção. Excesso de mascaramento tornará mais difícil que objetos sejam rastreados.",
+ "documentation": "Documentação"
+ },
+ "add": "Nova Máscara de Movimento",
+ "edit": "Editar Máscara de Movimento",
+ "context": {
+ "title": "Máscaras de movimento são usadas para prevenir typos de movimento não desejados de ativarem uma detecção (exemplo: galhos de árvores, timestamps de câmeras). Máscaras de movimento devem ser usadas com muita parcimônia, excesso de mascaramento tornará mais difícil de objetos serem rastreados.",
+ "documentation": "Leia a documentação"
+ },
+ "point_one": "{{count}} ponto",
+ "point_many": "{{count}} pontos",
+ "point_other": "{{count}} pontos",
+ "clickDrawPolygon": "Clique para desenhar um polígono na imagem.",
+ "polygonAreaTooLarge": {
+ "title": "A máscara de movimento está cobrindo {{polygonArea}}% do quadro da câmera. Máscaras de movimento grandes não são recomendadas.",
+ "tips": "Máscaras de movimento não previnem objetos de serem detectados. Em vez disso você deve usar uma zona obrigatória.",
+ "documentation": "Leia a documentação"
+ },
+ "toast": {
+ "success": {
+ "title": "{{polygonName}} foi salvo. Reinicie o Frigate para aplicar as alterações.",
+ "noName": "Máscara de Movimento salva. Reinicie o Frigate para aplicar as alterações."
+ }
+ }
+ }
+ },
+ "motionDetectionTuner": {
+ "desc": {
+ "title": "O Frigate usa a detecção de movimento como uma verificação de primeira linha para ver se há algo acontecendo no quadro que valha a pena verificar com a detecção de objetos.",
+ "documentation": "Leia o Guia de Ajuste de Movimento"
+ },
+ "Threshold": {
+ "title": "Limite",
+ "desc": "O valor do limiar dita o quanto de mudança na luminância de um pixel é requerida para ser considerada movimento. Padrão: 30"
+ },
+ "contourArea": {
+ "title": "Área de contorno",
+ "desc": "O valor do contorno da área é usado para decidir quais grupos de mudança de pixel se qualificam como movimento. Padrão: 10"
+ },
+ "improveContrast": {
+ "title": "Melhorar o contraste",
+ "desc": "Melhorar contraste para cenas escuras. Padrão: ON"
+ },
+ "toast": {
+ "success": "As configurações de movimento foram salvas."
+ },
+ "title": "Ajuste de Detecção de Movimento",
+ "unsavedChanges": "Alterações do Ajuste de Movimento Não Salvas ({{camera}})"
+ },
+ "debug": {
+ "detectorDesc": "O Frigate usa seus detectores ({{detectors}}) para detectar objetos no fluxo de vídeo da sua câmera.",
+ "desc": "A visualização de depuração mostra uma visão em tempo real dos objetos rastreados e suas estatísticas. A lista de objetos mostra um resumo com atraso de tempo dos objetos detectados.",
+ "objectList": "Lista de Objetos",
+ "boundingBoxes": {
+ "desc": "Mostrar caixas delimitadoras ao redor de objetos rastreados",
+ "colors": {
+ "label": "Cores da caixa delimitadora de objetos",
+ "info": "
Caixas de movimento
Caixas vermelhas serão sobrepostas em áreas do quadro onde o movimento está sendo detectado
" + }, + "regions": { + "title": "Regiões", + "desc": "Mostrar uma caixa da região de interesse enviada ao detector de objetos", + "tips": "Caixas de Região
Caixas verdes claras serão sobrepostas em áreas de interesse no quadro que está sendo enviado ao detector de objetos.
" + }, + "title": "Depuração", + "debugging": "Depuração", + "objectShapeFilterDrawing": { + "desc": "Desenhe um retângulo na imagem para ver os detalhes da área e proporções", + "tips": "Habilite essa opção para desenhar um retângulo na imagem da camera para mostrar a sua área e proporção. Esses valores podem ser usados para estabelecer parâmetros de filtro de formato de objetos na sua configuração.", + "document": "Leia a documentação ", + "score": "Pontuação", + "ratio": "Proporção", + "area": "Área", + "title": "Desenho de Filtro de Formato de Objeto" + }, + "noObjects": "Nenhum Objeto", + "timestamp": { + "title": "Timestamp", + "desc": "Sobreponha um timestamp na imagem" + } + }, + "users": { + "title": "Usuários", + "management": { + "title": "Gerenciamento de Usuário", + "desc": "Gerencias as contas de usuário dessa instância do Frigate." + }, + "addUser": "Adicionar Usuário", + "updatePassword": "Atualizar Senha", + "toast": { + "success": { + "createUser": "Usuário {{user}} criado com sucesso", + "deleteUser": "Usuário {{user}} deletado com sucesso", + "updatePassword": "Senha atualizada com sucesso.", + "roleUpdated": "Papel atualizado para {{user}}" + }, + "error": { + "setPasswordFailed": "Falha ao salvar a senha: {{errorMessage}}", + "createUserFailed": "Falha ao criar usuário: {{errorMessage}}", + "deleteUserFailed": "Falha ao deletar usuário: {{errorMessage}}", + "roleUpdateFailed": "Falha ao atualizar papel: {{errorMessage}}" + } + }, + "dialog": { + "form": { + "password": { + "match": "As senhas correspondem", + "notMatch": "As senhas são diferentes", + "title": "Senha", + "placeholder": "Digita a senha", + "confirm": { + "title": "Confirmar Senha", + "placeholder": "Confirmar Senha" + }, + "strength": { + "title": "Nível de segurança da senha: ", + "weak": "Fraca", + "medium": "Mediana", + "strong": "Forte", + "veryStrong": "Muito Forte" + } + }, + "newPassword": { + "title": "Senha Nova", + "placeholder": "Digite uma senha nova", + "confirm": { + "placeholder": "Digite a senha novamente" + } + }, + "usernameIsRequired": "Nome de usuário requerido", + "passwordIsRequired": "Senha requerida", + "user": { + "title": "Nome de Usuário", + "desc": "Apenas letras, números, pontos e sublinhados são permitidos.", + "placeholder": "Digite o nome de usuário" + } + }, + "createUser": { + "title": "Criar Novo Usuário", + "desc": "Adicionar um novo usuário e especificar um papel para acesso às áreas da interface do Frigate.", + "usernameOnlyInclude": "O nome de usuário pode conter apenas letras, números, . ou _", + "confirmPassword": "Por favor confirme a sua senha" + }, + "deleteUser": { + "title": "Deletar Usuário", + "desc": "Essa ação não pode ser desfeita. Isso irá deletar permanentemente a conta do usuário e remover todos os dados associados.", + "warn": "Tem certeza que quer deletar {{username}}?" + }, + "passwordSetting": { + "cannotBeEmpty": "A senha não pode estar vazia", + "doNotMatch": "As senhas não correspondem", + "updatePassword": "Atualizar Senha para {{username}}", + "setPassword": "Definir Senha", + "desc": "Crie uma senha forte para proteger essa conta." + }, + "changeRole": { + "title": "Alterar Papel do Usuário", + "select": "Selecionar um papel", + "desc": "Atualizar permissões para {{username}}", + "roleInfo": { + "intro": "Selecione o papel apropriado para esse usuário:", + "admin": "Administrador", + "adminDesc": "Acesso total a todos os recursos.", + "viewer": "Espectador", + "viewerDesc": "Limitado aos Painéis ao Vivo, Revisar, Explorar, e Exportar somente." + } + } + }, + "table": { + "username": "Nome de Usuário", + "actions": "Ações", + "role": "Papel", + "noUsers": "Nenhum usuário encontrado.", + "changeRole": "Mudar papel do usuário", + "password": "Senha", + "deleteUser": "Deletar usuário" + } + }, + "notification": { + "suspendTime": { + "10minutes": "Suspender por 10 minutos", + "30minutes": "Suspender por 30 minutos", + "1hour": "Suspender por 1 hora", + "12hours": "Suspender por 12 horas", + "24hours": "Suspender por 24 horas", + "untilRestart": "Suspender até reiniciar", + "suspend": "Suspender", + "5minutes": "Suspender por 5 minutos" + }, + "cancelSuspension": "Cancelar Suspensão", + "toast": { + "success": { + "registered": "Registrados para notificações com sucesso. É necessário reiniciar o Frigate para que as notificações possam ser enviadas (incluindo a notificação de teste).", + "settingSaved": "As configurações de notificações foram salvas." + }, + "error": { + "registerFailed": "Falha ao salvar o registro para notificações." + } + }, + "title": "Notificações", + "notificationSettings": { + "title": "Configurações de Notificação", + "desc": "O Frigate pode enviar notificações push nativamente ao seu dispositivo quando estiver sendo executado no navegador ou instalado como um PWA.", + "documentation": "Leia a Documentação" + }, + "notificationUnavailable": { + "title": "Notificações Indisponíveis", + "desc": "Notificações push da Web exigem um contexto seguro (https://…
). Essa é uma limitação do navegador. Acesse o Frigate com seguraça para usar as notificações.",
+ "documentation": "Leia a Documentação"
+ },
+ "globalSettings": {
+ "title": "Configurações Globais",
+ "desc": "Suspender as notificações temporáriamente para câmeras específicas em todos os dispositivos registrados."
+ },
+ "email": {
+ "title": "Email",
+ "placeholder": "ex: exemplo@email.com",
+ "desc": "Um email válido é requerido e será usado para notificar você caso haja algum problema com o serviço push."
+ },
+ "cameras": {
+ "title": "Câmeras",
+ "noCameras": "Nenhuma câmera disponível",
+ "desc": "Selecionar para quais câmeras habilitar as notificações."
+ },
+ "deviceSpecific": "Configurações Específicas do Dispositivo",
+ "registerDevice": "Registre Esse Dispositivo",
+ "unregisterDevice": "Cancelar Registro Desse Dispositivo",
+ "sendTestNotification": "Enviar uma notificação de teste",
+ "unsavedRegistrations": "Registros de Notificações Não Salvos",
+ "unsavedChanges": "Alterações de Notificações Não Salvas",
+ "active": "Notificações Ativas",
+ "suspended": "Notificações suspensas {{time}}"
+ },
+ "frigatePlus": {
+ "title": "Configurações do Frigate+",
+ "apiKey": {
+ "title": "Chave de API do Frigate+",
+ "validated": "A chave de API do Frigate+ detectada e validada",
+ "notValidated": "A chave de API do Frigate+ não detectada ou não validada",
+ "desc": "A chave de API do Frigate+ habilita a integração com o serviço do Frigate+.",
+ "plusLink": "Leia mais sobre o Frigate+"
+ },
+ "modelInfo": {
+ "plusModelType": {
+ "baseModel": "Modelo Base",
+ "userModel": "Ajuste Refinado"
+ },
+ "supportedDetectors": "Detectores Suportados",
+ "cameras": "Câmeras",
+ "loading": "Carregando informações do modelo…",
+ "error": "Falha ao carregar as informações do modelo",
+ "availableModels": "Modelos Disponíveis",
+ "loadingAvailableModels": "Carregando modelos disponíveis…",
+ "title": "Informação do Modelo",
+ "modelType": "Tipo de Modelo",
+ "trainDate": "Data do Treinamento",
+ "baseModel": "Modelo Base",
+ "modelSelect": "Os seus modelos disponíveis no Frigate+ podem ser selecionados aqui. Note que apenas modelos compatíveis com a sua configuração atual de detector podem ser selecionados."
+ },
+ "snapshotConfig": {
+ "title": "Configuração de Captura de Imagem",
+ "desc": "Enviar ao Frigate+ requer tanto a captura de imagem quanto a captura de imagem clean_copy
estarem habilitadas na sua configuração.",
+ "documentation": "Leia a documentação",
+ "cleanCopyWarning": "Algumas câmeras possuem captura de imagem habilitada porém têm a cópia limpa desabilitada. Você precisa habilitar a clean_copy
nas suas configurações de captura de imagem para poder submeter imagems dessa câmera ao Frigate+.",
+ "table": {
+ "camera": "Câmera",
+ "snapshots": "Capturas de Imagem",
+ "cleanCopySnapshots": "Capturas de Imagem clean_copy
"
+ }
+ },
+ "unsavedChanges": "Alterações de configurações do Frigate+ não salvas",
+ "restart_required": "Reinicialização necessária (modelo do Frigate+ foi alterado)",
+ "toast": {
+ "success": "As configurações do Frigate+ foram salvas. Reinicie o Frigate para aplicar as alterações.",
+ "error": "Falha ao salvar as alterações de configuração: {{errorMessage}}"
}
}
}
diff --git a/web/public/locales/pt-BR/views/system.json b/web/public/locales/pt-BR/views/system.json
index ce0727459..74a2c4564 100644
--- a/web/public/locales/pt-BR/views/system.json
+++ b/web/public/locales/pt-BR/views/system.json
@@ -24,7 +24,7 @@
"type": {
"label": "Tipo",
"timestamp": "Marca temporal",
- "tag": "Etiqueta",
+ "tag": "Marcador",
"message": "Mensagem"
},
"tips": "Os Registros estão sendo transmitidos do servidor",
@@ -157,7 +157,7 @@
"detectHighCpuUsage": "{{camera}} possui alta utilização de CPU para detecção ({{detectAvg}}%)",
"healthy": "O sistema está saudável",
"cameraIsOffline": "{{camera}} está offline",
- "reindexingEmbeddings": "Reindexando embeddings ({{processed}}% completado)",
+ "reindexingEmbeddings": "Reindexando os vetores de característica de imagens ({{processed}}% completado)",
"detectIsSlow": "{{detect}} está lento ({{speed}} ms)"
},
"enrichments": {
@@ -167,13 +167,13 @@
"face_recognition": "Reconhecimento Facial",
"plate_recognition": "Reconhecimento de Placa",
"plate_recognition_speed": "Velocidade de Reconhecimento de Placas",
- "text_embedding_speed": "Velocidade de Incorporação de Textos",
+ "text_embedding_speed": "Velocidade de Geração de Vetores de Texto",
"yolov9_plate_detection_speed": "Velocidade de Reconhecimento de Placas do YOLOv9",
"yolov9_plate_detection": "Detecção de Placas do YOLOv9",
- "image_embedding": "Incorporação de Imagem",
- "text_embedding": "Incorporação de Texto",
- "image_embedding_speed": "Velocidade de Incorporação de Imagem",
- "face_embedding_speed": "Velocidade de Incorporação de Rosto",
+ "image_embedding": "Vetores de Características de Imagens",
+ "text_embedding": "Vetor de Característica de Texto",
+ "image_embedding_speed": "Velocidade de Geração de Vetores de Imagem",
+ "face_embedding_speed": "Velocidade de Geração de Vetores de Rostos",
"face_recognition_speed": "Velocidade de Reconhecimento de Rostos"
}
}