diff --git a/web/public/locales/pt/audio.json b/web/public/locales/pt/audio.json new file mode 100644 index 000000000..350dc155b --- /dev/null +++ b/web/public/locales/pt/audio.json @@ -0,0 +1,150 @@ +{ + "babbling": "Balbuciando", + "speech": "Discurso", + "whoop": "Gritar", + "bellow": "Abaixo", + "yell": "Gritar", + "whispering": "Sussurando", + "child_singing": "Criança Cantando", + "crying": "Chorando", + "singing": "Cantando", + "laughter": "Risada", + "breathing": "Respirando", + "applause": "Aplausos", + "meow": "Miau", + "run": "Corrida", + "sheep": "Ovelha", + "motorcycle": "Motocicleta", + "car": "Carro", + "cat": "Gato", + "horse": "Cavalo", + "bus": "Ônibus", + "boat": "Barco", + "bicycle": "Bicicleta", + "skateboard": "Skate", + "door": "Porta", + "bird": "Pássaro", + "train": "Trem", + "dog": "Cão", + "mantra": "Mantra", + "humming": "Cantarolando", + "sigh": "Suspiro", + "grunt": "Grunhido", + "whistling": "Assobio", + "wheeze": "Chiado", + "gasp": "Suspiro", + "cough": "Tosse", + "sneeze": "Espirro", + "footsteps": "Passos", + "chewing": "Mastigação", + "biting": "Morder", + "gargling": "Gargarejar", + "stomach_rumble": "Ronco no estômago", + "burping": "Arroto", + "hiccup": "Soluço", + "fart": "Peido", + "hands": "Mãos", + "finger_snapping": "Estalo de dedos", + "clapping": "Aplausos", + "heartbeat": "Batimento cardíaco", + "heart_murmur": "Sopro cardíaco", + "cheering": "Torcendo", + "chatter": "Conversa fiada", + "crowd": "Multidão", + "snoring": "Ronco", + "choir": "Coro", + "yodeling": "Yodeling", + "chant": "Canto", + "synthetic_singing": "Canto sintético", + "rapping": "Rapping", + "groan": "Gemido", + "snicker": "Risada", + "animal": "Animal", + "pets": "Animais de estimação", + "bark": "Latido", + "howl": "Uivo", + "bow_wow": "Au au", + "growling": "Rosnando", + "whimper_dog": "Cachorro choramingando", + "pig": "Porco", + "goat": "Bode", + "fowl": "Galinha", + "chicken": "Galinha", + "turkey": "Peru", + "duck": "Pato", + "quack": "Quac", + "goose": "Ganso", + "wild_animals": "Animais selvagens", + "pigeon": "Pombo", + "dogs": "Cachorros", + "insect": "Inseto", + "cricket": "Grilo", + "mosquito": "Mosquito", + "fly": "Mosca", + "frog": "Sapo", + "snake": "Cobra", + "rattle": "Chocalho", + "music": "Música", + "musical_instrument": "Instrumento musical", + "banjo": "Banjo", + "keyboard": "Teclado", + "piano": "Piano", + "organ": "Órgão", + "synthesizer": "Sintetizador", + "tambourine": "Pandeiro", + "clarinet": "Clarinete", + "harp": "Harpa", + "psychedelic_rock": "Rock psicodélico", + "waterfall": "Cachoeira", + "ocean": "Oceano", + "fire": "Fogo", + "ship": "Navio", + "car_alarm": "Alarme de carro", + "race_car": "Carro de corrida", + "truck": "Caminhão", + "ice_cream_truck": "Caminhão do sorvete", + "emergency_vehicle": "Veículo de emergência", + "police_car": "Carro da polícia", + "ambulance": "Ambulância", + "helicopter": "Helicóptero", + "engine": "Motor", + "coin": "Moeda", + "scissors": "Tesoura", + "electric_shaver": "Barbeador elétrico", + "computer_keyboard": "Teclado de computador", + "alarm": "Alarme", + "telephone": "Telefone", + "siren": "Sirene", + "smoke_detector": "Detector de fumaça", + "fire_alarm": "Alarme de incêndio", + "whistle": "Assobio", + "clock": "Relógio", + "tools": "Ferramentas", + "camera": "Câmera", + "chink": "Fenda", + "sound_effect": "Efeito sonoro", + "static": "Estático", + "pink_noise": "Ruído rosa", + "television": "Televisão", + "scream": "Grito", + "glass": "Vidro", + "wood": "Madeira", + "crack": "Rachadura", + "silence": "Silêncio", + "steam": "Vapor", + "progressive_rock": "Rock progressivo", + "white_noise": "Ruído branco", + "maraca": "Maraca", + "percussion": "Percussão", + "rats": "Ratos", + "oink": "Oinc", + "waves": "Ondas", + "shatter": "Quebrar", + "radio": "Rádio", + "splinter": "Lasca", + "owl": "Coruja", + "mouse": "Rato", + "vehicle": "Veículo", + "hair_dryer": "Secador de cabelo", + "toothbrush": "Escova de dentes" +} diff --git a/web/public/locales/pt/common.json b/web/public/locales/pt/common.json new file mode 100644 index 000000000..263b84731 --- /dev/null +++ b/web/public/locales/pt/common.json @@ -0,0 +1,175 @@ +{ + "time": { + "last30": "Últimos 30 dias", + "12hours": "12 horas", + "justNow": "Agora", + "yesterday": "Ontem", + "today": "Hoje", + "last7": "Últimos 7 dias", + "last14": "Últimos 14 dias", + "thisWeek": "Essa semana", + "lastWeek": "Semana passada", + "5minutes": "5 minutos", + "10minutes": "10 minutos", + "30minutes": "30 minutos", + "24hours": "24 horas", + "pm": "pm", + "am": "am", + "year": "{{time}} anos", + "month": "{{time}} meses", + "day": "{{time}} dias", + "thisMonth": "Esse mês", + "lastMonth": "Mês passado", + "1hour": "1 hora", + "hour": "{{time}} horas", + "minute": "{{time}} minutos", + "second": "{{time}} segundos", + "untilForTime": "Até {{time}}", + "untilForRestart": "Até que o Frigate reinicie.", + "untilRestart": "Até reiniciar", + "ago": "{{timeAgo}} atrás", + "d": "{{time}}d", + "h": "{{time}}h", + "m": "{{time}}m", + "s": "{{time}}s", + "yr": "{{time}}ano", + "mo": "{{time}}mês" + }, + "unit": { + "speed": { + "kph": "kph", + "mph": "mph" + } + }, + "button": { + "enabled": "Habilitado", + "enable": "Habilitar", + "done": "Feito", + "reset": "Reiniciar", + "disabled": "Desabilitado", + "saving": "Salvando...", + "apply": "Aplicar", + "disable": "Desabilitar", + "save": "Salvar", + "copy": "Cópia", + "cancel": "Cancelar", + "close": "Fechar", + "history": "Histórico", + "back": "Voltar", + "fullscreen": "Tela cheia", + "exitFullscreen": "Sair da tela cheia", + "twoWayTalk": "Conversa bidirecional", + "cameraAudio": "Áudio da câmera", + "edit": "Editar", + "off": "DESLIGADO", + "copyCoordinates": "Copiar coordenadas", + "on": "LIGADO", + "delete": "Excluir", + "download": "Download", + "info": "Informações", + "no": "Não", + "suspended": "Suspenso", + "yes": "Sim", + "unselect": "Desmarcar", + "unsuspended": "Dessuspender", + "deleteNow": "Excluir agora", + "export": "Exportar", + "next": "Próximo" + }, + "label": { + "back": "Voltar" + }, + "menu": { + "user": { + "logout": "Sair", + "account": "Conta", + "current": "Usuário atual: {{user}}", + "setPassword": "Definir senha", + "title": "Usuário", + "anonymous": "anônimo" + }, + "faceLibrary": "Biblioteca de rostos", + "withSystem": "Sistema", + "theme": { + "label": "Tema", + "blue": "Azul", + "green": "Verde", + "red": "Vermelho", + "contrast": "Alto contraste", + "default": "Padrão" + }, + "system": "Sistema", + "systemMetrics": "Métricas do sistema", + "configuration": "Configuração", + "systemLogs": "Logs do sistema", + "settings": "Configurações", + "configurationEditor": "Editor de configuração", + "languages": "Idiomas", + "language": { + "en": "Inglês", + "zhCN": "Chinês simplificado", + "withSystem": { + "label": "Use as configurações do sistema para idioma" + } + }, + "appearance": "Aparência", + "darkMode": { + "label": "Modo escuro", + "withSystem": { + "label": "Use as configurações do sistema para o modo claro ou escuro" + }, + "light": "Claro", + "dark": "Escuro" + }, + "help": "Ajuda", + "documentation": { + "title": "Documentação", + "label": "Documentação do Frigate" + }, + "restart": "Reiniciar Frigate", + "live": { + "title": "Ao vivo", + "allCameras": "Todas as câmeras", + "cameras": { + "title": "Câmeras" + } + }, + "export": "Exportar", + "explore": "Explorar", + "review": "Análise" + }, + "pagination": { + "previous": { + "label": "Ir para a página anterior", + "title": "Anterior" + }, + "label": "paginação", + "next": { + "title": "Próximo", + "label": "Ir para a próxima página" + }, + "more": "Mais páginas" + }, + "role": { + "admin": "Administrador", + "viewer": "Visualizador", + "title": "Regra" + }, + "toast": { + "copyUrlToClipboard": "URL copiada para a área de transferência.", + "save": { + "title": "Salvar" + } + }, + "accessDenied": { + "documentTitle": "Acesso negado - Frigate", + "title": "Acesso negado", + "desc": "Você não tem permissão para visualizar esta página." + }, + "notFound": { + "documentTitle": "Não encontrado - Frigate", + "desc": "Página não encontrada", + "title": "404" + }, + "selectItem": "Selecionar {{item}}" +} diff --git a/web/public/locales/pt/components/auth.json b/web/public/locales/pt/components/auth.json new file mode 100644 index 000000000..805775365 --- /dev/null +++ b/web/public/locales/pt/components/auth.json @@ -0,0 +1,15 @@ +{ + "form": { + "user": "Nome de usuário", + "login": "Login", + "errors": { + "usernameRequired": "Nome de usuário é obrigatório", + "passwordRequired": "Senha é necessá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 do console." + }, + "password": "Senha" + } +} diff --git a/web/public/locales/pt/components/camera.json b/web/public/locales/pt/components/camera.json new file mode 100644 index 000000000..8e247f602 --- /dev/null +++ b/web/public/locales/pt/components/camera.json @@ -0,0 +1,83 @@ +{ + "group": { + "label": "Grupos de câmeras", + "add": "Adicionar grupo de câmeras", + "edit": "Editar grupo de câmeras", + "delete": { + "label": "Excluir grupo de câmeras", + "confirm": { + "title": "Confirmar exclusão", + "desc": "Tem certeza de que deseja excluir o grupo de câmeras {{name}}?" + } + }, + "name": { + "label": "Nome", + "placeholder": "Digite um nome...", + "errorMessage": { + "exists": "O nome do grupo de câmeras já existe.", + "nameMustNotPeriod": "O nome do grupo de câmeras não deve conter ponto.", + "mustLeastCharacters": "O nome do grupo de câmeras deve ter pelo menos 2 caracteres.", + "invalid": "Nome de grupo de câmeras inválido." + } + }, + "cameras": { + "desc": "Selecione câmeras para este grupo.", + "label": "Câmeras" + }, + "icon": "Ícone", + "success": "O grupo de câmeras ({{name}}) foi salvo.", + "camera": { + "setting": { + "audioIsAvailable": "O áudio está disponível para esta transmissão", + "audioIsUnavailable": "O áudio não está disponível para esta transmissão", + "audio": { + "tips": { + "document": "Leia a documentação ", + "title": "O áudio deve ser emitido pela sua câmera e configurado no go2rtc para esta transmissão." + } + }, + "streamMethod": { + "label": "Método de transmissão", + "method": { + "smartStreaming": { + "label": "Transmissão inteligente (recomendado)", + "desc": "A transmissão inteligente atualizará a imagem da sua câmera 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." + }, + "continuousStreaming": { + "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 cautela.", + "title": "A imagem da câmera sempre será uma transmissão ao vivo quando visível no painel, mesmo que nenhuma atividade esteja sendo detectada." + } + }, + "noStreaming": { + "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." + } + } + }, + "compatibilityMode": { + "label": "Modo de compatibilidade", + "desc": "Habilite esta opção somente se a transmissão ao vivo da sua câmera estiver exibindo artefatos de cor e tiver uma linha diagonal no lado direito da imagem." + }, + "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" + } + } + }, + "debug": { + "options": { + "label": "Configurações", + "title": "Opções", + "hideOptions": "Ocultar opções", + "showOptions": "Mostrar opções" + }, + "boundingBox": "Caixa delimitadora", + "timestamp": "Carimbo de hora", + "zones": "Zonas", + "mask": "Máscara", + "motion": "Movimento", + "regions": "Regiões" + } +} diff --git a/web/public/locales/pt/components/dialog.json b/web/public/locales/pt/components/dialog.json new file mode 100644 index 000000000..9eec479a1 --- /dev/null +++ b/web/public/locales/pt/components/dialog.json @@ -0,0 +1,116 @@ +{ + "restart": { + "button": "Reiniciar", + "restarting": { + "title": "Frigate está reiniciando", + "content": "Esta página será recarregada em {{countdown}} segundos.", + "button": "Forçar atualização agora" + }, + "title": "Tem certeza de 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." + }, + "review": { + "true": { + "label": "Confirme esta etiqueta para Frigate Plus", + "true_one": "Este é um {{label}}", + "true_many": "Estes são muitos {{label}}", + "true_other": "Estão são {{label}}" + }, + "state": { + "submitted": "Enviado" + }, + "false": { + "label": "Não confirmar esta etiqueta para Frigate Plus", + "false_one": "Este não é um {{label}}", + "false_many": "Estes não são muitos {{label}}", + "false_other": "Estes não são {{label}}" + } + } + }, + "video": { + "viewInHistory": "Ver no histórico" + } + }, + "export": { + "time": { + "fromTimeline": "Selecione na linha do tempo", + "start": { + "title": "Hora de início", + "label": "Selecione a hora de início" + }, + "end": { + "title": "Hora de término", + "label": "Selecione a hora de término" + }, + "custom": "Personalizado", + "lastHour_one": "Última hora", + "lastHour_many": "Últimas {{count}} horas", + "lastHour_other": "Últimas {{count}} horas" + }, + "export": "Exportar", + "toast": { + "success": "Exportação iniciada com sucesso. Veja o arquivo na pasta /exports.", + "error": { + "failed": "Falha ao 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" + }, + "select": "Selecione", + "name": { + "placeholder": "Nomeie a 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âmera." + }, + "restreaming": { + "desc": { + "title": "Configure o go2rtc para obter opções adicionais de visualização ao vivo e áudio para esta câmera.", + "readTheDocumentation": "Leia a documentação " + }, + "disabled": "A retransmissão não está habilitada para esta câmera." + }, + "label": "Transmissão", + "debugView": "Exibição de depuração" + }, + "search": { + "saveSearch": { + "label": "Salvar pesquisa", + "overwrite": "{{searchName}} já existe. Salvar substituirá o valor existente.", + "success": "A pesquisa ({{searchName}}) foi salva.", + "button": { + "save": { + "label": "Salvar esta pesquisa" + } + }, + "placeholder": "Digite um nome para sua pesquisa", + "desc": "Forneça um nome para esta pesquisa salva." + } + }, + "recording": { + "confirmDelete": { + "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." + } + }, + "button": { + "export": "Exportar", + "markAsReviewed": "Marcar como revisado", + "deleteNow": "Excluir agora" + } + } +} diff --git a/web/public/locales/pt/components/filter.json b/web/public/locales/pt/components/filter.json new file mode 100644 index 000000000..286653c01 --- /dev/null +++ b/web/public/locales/pt/components/filter.json @@ -0,0 +1,102 @@ +{ + "labels": { + "label": "Etiquetas", + "all": { + "short": "Etiquetas", + "title": "Todas as etiquetas" + }, + "count": "{{count}} etiquetas" + }, + "filter": "Filtro", + "zones": { + "label": "Zonas", + "all": { + "title": "Todas as zonas", + "short": "Zonas" + } + }, + "dates": { + "all": { + "title": "Todas as datas", + "short": "Datas" + } + }, + "more": "Mais filtros", + "reset": { + "label": "Redefinir filtros para valores padrão" + }, + "subLabels": { + "label": "Sub etiquetas", + "all": "Todas sub etiquetas" + }, + "score": "Pontuação", + "features": { + "label": "Funcionalidades", + "hasSnapshot": "Tem um snapshot", + "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+." + } + }, + "sort": { + "label": "Organizar", + "dateAsc": "Data (Ascendente)", + "scoreAsc": "Pontuação do objeto (Crescente)", + "scoreDesc": "Pontuação do objeto (Decrescente)", + "speedDesc": "Velocidade estimada (Decrescente)", + "speedAsc": "Velocidade estimada (Crescente)", + "dateDesc": "Data (Decrescente)", + "relevance": "Relevância" + }, + "cameras": { + "label": "Filtro de câmeras", + "all": { + "short": "Câmeras", + "title": "Todas as câmeras" + } + }, + "review": { + "showReviewed": "Mostrar revisado" + }, + "motion": { + "showMotionOnly": "Mostrar apenas movimento" + }, + "explore": { + "settings": { + "title": "Configuraçõ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." + }, + "gridColumns": { + "title": "Colunas da grade", + "desc": "Selecione o número de colunas na visualização em grade." + }, + "searchSource": { + "label": "Pesquisar fonte", + "desc": "Escolha se deseja pesquisar nas miniaturas ou descrições dos seus objetos rastreados.", + "options": { + "thumbnailImage": "Imagem em miniatura", + "description": "Descrição" + } + } + }, + "date": { + "selectDateBy": { + "label": "Selecione uma data para filtrar" + } + } + }, + "logSettings": { + "label": "Nível de log do filtro", + "loading": { + "title": "Carregando" + }, + "filterBySeverity": "Filtrar logs por gravidade" + }, + "estimatedSpeed": "Velocidade estimada ({{unit}})", + "timeRange": "Intervalo de tempo" +} diff --git a/web/public/locales/pt/components/icons.json b/web/public/locales/pt/components/icons.json new file mode 100644 index 000000000..4f4fee510 --- /dev/null +++ b/web/public/locales/pt/components/icons.json @@ -0,0 +1,8 @@ +{ + "iconPicker": { + "selectIcon": "Selecione um ícone", + "search": { + "placeholder": "Pesquisar por um ícone..." + } + } +} diff --git a/web/public/locales/pt/components/input.json b/web/public/locales/pt/components/input.json new file mode 100644 index 000000000..79a3f7457 --- /dev/null +++ b/web/public/locales/pt/components/input.json @@ -0,0 +1,10 @@ +{ + "button": { + "downloadVideo": { + "label": "Baixar vídeo", + "toast": { + "success": "O vídeo do seu item de análise começou a ser baixado." + } + } + } +} diff --git a/web/public/locales/pt/components/player.json b/web/public/locales/pt/components/player.json new file mode 100644 index 000000000..7fc7ede13 --- /dev/null +++ b/web/public/locales/pt/components/player.json @@ -0,0 +1,42 @@ +{ + "noPreviewFound": "Nenhuma visualização encontrada", + "noPreviewFoundFor": "Nenhuma visualização encontrada para {{cameraName}}", + "submitFrigatePlus": { + "title": "Enviar este quadro para o Frigate+?", + "submit": "Enviar" + }, + "streamOffline": { + "title": "Transmissão offline", + "desc": "Nenhum quadro foi recebido na transmissão de detecção {{cameraName}}, verifique os logs de erro" + }, + "cameraDisabled": "A câmera está desativada", + "stats": { + "streamType": { + "title": "Tipo de transmissão:", + "short": "Tipo" + }, + "bandwidth": { + "title": "Largura de banda:", + "short": "Largura de banda" + }, + "latency": { + "value": "{{seconds}} segundos", + "short": { + "title": "Latência", + "value": "{{seconds}} seg" + }, + "title": "Latência:" + }, + "totalFrames": "Total de quadros:", + "droppedFrames": { + "title": "Quadros perdidos:", + "short": { + "title": "Perdido", + "value": "{{droppedFrames}} quadros" + } + }, + "decodedFrames": "Quadros decodificados:" + }, + "noRecordingsFoundForThisTime": "Nenhuma gravação encontrada para este momento", + "livePlayerRequiredIOSVersion": "iOS 17.1 ou superior é necessário para este tipo de transmissão ao vivo." +} diff --git a/web/public/locales/pt/objects.json b/web/public/locales/pt/objects.json new file mode 100644 index 000000000..3c51350b6 --- /dev/null +++ b/web/public/locales/pt/objects.json @@ -0,0 +1,84 @@ +{ + "giraffe": "Girafa", + "cup": "Xicara", + "person": "Pessoa", + "stop_sign": "Sinal de Pare", + "sheep": "Ovelha", + "sandwich": "Lanche", + "carrot": "Cenoura", + "dining_table": "Mesa de jantar", + "motorcycle": "Motocicleta", + "bicycle": "Bicicleta", + "street_sign": "Sinal de rua", + "pizza": "Pizza", + "parking_meter": "Medidor de estacionamento", + "skateboard": "Skate", + "bottle": "Garrafa", + "car": "Carro", + "airplane": "Avião", + "bus": "Ônibus", + "train": "Trem", + "boat": "Barco", + "traffic_light": "Semaforo", + "fire_hydrant": "Hidratação de Fogo", + "bird": "Pássaro", + "cat": "Gato", + "bench": "Bench", + "elephant": "Elefante", + "hat": "Chapéu", + "backpack": "Mochila", + "shoe": "Sapato", + "handbag": "Bolsa de mão", + "tie": "Gravata", + "suitcase": "Mala de viagem", + "frisbee": "Frisbee", + "skis": "Esquis", + "kite": "Kite", + "baseball_bat": "Taco basebol", + "tennis_racket": "Raquete de Tenis", + "plate": "Placa", + "wine_glass": "Taça de vinho", + "fork": "Garfo", + "spoon": "Colher", + "bowl": "Tijela", + "banana": "Banana", + "apple": "Maça", + "hot_dog": "Cão quente", + "donut": "Donut", + "cake": "Bolo", + "chair": "Cadeira", + "potted_plant": "Planta em vaso", + "mirror": "Espelho", + "desk": "Mesa", + "toilet": "Banheiro", + "door": "Porta", + "baseball_glove": "Luva de beisebol", + "surfboard": "Prancha", + "broccoli": "Brócolis", + "snowboard": "Snowboard", + "dog": "Cão", + "bear": "Urso", + "eye_glasses": "Óculos", + "umbrella": "guarda-chuva", + "horse": "Cavalo", + "bed": "Cama", + "cow": "Vaca", + "zebra": "Zebra", + "sports_ball": "Bola", + "knife": "Faca", + "orange": "Laranja", + "window": "Janela", + "clock": "Relógio", + "keyboard": "Teclado", + "animal": "Animal", + "bark": "Latido", + "goat": "Bode", + "vehicle": "Veículo", + "scissors": "Tesoura", + "mouse": "Rato", + "teddy_bear": "Urso de pelúcia", + "hair_dryer": "Secador de cabelo", + "toothbrush": "Escova de dentes", + "hair_brush": "Escova de Cabelo", + "squirrel": "Esquilo" +} diff --git a/web/public/locales/pt/views/configEditor.json b/web/public/locales/pt/views/configEditor.json new file mode 100644 index 000000000..2b6a13194 --- /dev/null +++ b/web/public/locales/pt/views/configEditor.json @@ -0,0 +1,15 @@ +{ + "configEditor": "Editor de configuração", + "copyConfig": "Copiar configuração", + "saveAndRestart": "Salvar e reiniciar", + "saveOnly": "Somente salvar", + "toast": { + "success": { + "copyToClipboard": "Configuração copiada para a área de transferência." + }, + "error": { + "savingError": "Erro ao salvar configuração" + } + }, + "documentTitle": "Editor de configuração - Frigate" +} diff --git a/web/public/locales/pt/views/events.json b/web/public/locales/pt/views/events.json new file mode 100644 index 000000000..ba1468bc3 --- /dev/null +++ b/web/public/locales/pt/views/events.json @@ -0,0 +1,35 @@ +{ + "detections": "Detecções", + "motion": { + "label": "Movimento", + "only": "Somente movimento" + }, + "allCameras": "Todas as câmeras", + "empty": { + "motion": "Nenhum dado de movimento encontrado", + "alert": "Não há alertas para revisar", + "detection": "Não há detecções para revisar" + }, + "timeline": "Linha do tempo", + "events": { + "aria": "Selecionar eventos", + "label": "Eventos", + "noFoundForTimePeriod": "Nenhum evento encontrado para este período." + }, + "timeline.aria": "Selecione a linha do tempo", + "alerts": "Alertas", + "documentTitle": "Análise - Frigate", + "recordings": { + "documentTitle": "Gravações - Frigate" + }, + "calendarFilter": { + "last24Hours": "Últimas 24 horas" + }, + "markAsReviewed": "Marcar como revisado", + "markTheseItemsAsReviewed": "Marque esses itens como revisados", + "newReviewItems": { + "label": "Ver novos itens de revisão", + "button": "Novos itens para revisar" + }, + "camera": "Câmera" +} diff --git a/web/public/locales/pt/views/explore.json b/web/public/locales/pt/views/explore.json new file mode 100644 index 000000000..9289b243d --- /dev/null +++ b/web/public/locales/pt/views/explore.json @@ -0,0 +1,76 @@ +{ + "generativeAI": "IA Generativa", + "exploreIsUnavailable": { + "embeddingsReindexing": { + "startingUp": "Iniciando...", + "estimatedTime": "Tempo restante estimado:", + "finishingShortly": "Terminando em breve", + "step": { + "thumbnailsEmbedded": "Miniaturas incorporadas: ", + "descriptionsEmbedded": "Descrições incorporadas: ", + "trackedObjectsProcessed": "Objetos rastreados processados: " + }, + "context": "O explorar pode ser usado depois que as incorporações de objetos rastreados terminarem de ser reindexadas." + }, + "downloadingModels": { + "setup": { + "visionModel": "Modelo de visão", + "textModel": "Modelo de texto", + "textTokenizer": "Tokenizador de texto" + }, + "context": "O Frigate está baixando 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.", + "tips": { + "context": "Talvez você queira reindexar as incorporações dos seus objetos rastreados depois que os modelos forem baixados.", + "documentation": "Leia a documentação" + }, + "error": "Ocorreu um erro. Verifique os logs do Frigate." + }, + "title": "Explorar não está disponível" + }, + "details": { + "timestamp": "Carimbo de hora", + "item": { + "title": "Revisar detalhes do item", + "desc": "Revisar detalhes do item" + }, + "zones": "Zonas", + "description": { + "label": "Descrição" + }, + "camera": "Câmera" + }, + "documentTitle": "Explorar - Frigate", + "trackedObjectDetails": "Detalhes do objeto rastreado", + "type": { + "details": "detalhes", + "video": "vídeo", + "object_lifecycle": "ciclo de vida do objeto", + "snapshot": "snapshot" + }, + "objectLifecycle": { + "title": "Ciclo de vida do objeto", + "lifecycleItemDesc": { + "attribute": { + "other": "{{label}} reconhecido como {{attribute}}", + "faceOrLicense_plate": "{{attribute}} detectado por {{label}}" + }, + "gone": "{{label}} saiu", + "heard": "{{label}} ouvido", + "visible": "{{label}} detectado", + "external": "{{label}} detectado" + }, + "annotationSettings": { + "title": "Configurações de anotação", + "offset": { + "documentation": "Leia a documentação " + }, + "showAllZones": { + "title": "Mostrar todas as zonas" + } + }, + "carousel": { + "previous": "Slide anterior", + "next": "Próximo slide" + } + } +} diff --git a/web/public/locales/pt/views/exports.json b/web/public/locales/pt/views/exports.json new file mode 100644 index 000000000..f132cc687 --- /dev/null +++ b/web/public/locales/pt/views/exports.json @@ -0,0 +1,17 @@ +{ + "documentTitle": "Exportar - Frigate", + "search": "Pesquisar", + "noExports": "Nenhuma exportação encontrada", + "deleteExport": "Excluir exportação", + "editExport": { + "title": "Renomear exportação", + "desc": "Digite um novo nome para esta exportação.", + "saveExport": "Salvar exportação" + }, + "toast": { + "error": { + "renameExportFailed": "Falha ao renomear exportação: {{errorMessage}}" + } + }, + "deleteExport.desc": "Tem certeza de que deseja excluir {{exportName}}?" +} diff --git a/web/public/locales/pt/views/faceLibrary.json b/web/public/locales/pt/views/faceLibrary.json new file mode 100644 index 000000000..d8abdcaf7 --- /dev/null +++ b/web/public/locales/pt/views/faceLibrary.json @@ -0,0 +1,59 @@ +{ + "description": { + "placeholder": "Digite um nome para esta coleção", + "addFace": "Veja como adicionar uma nova coleção à biblioteca de rostos." + }, + "details": { + "person": "Pessoa", + "face": "Detalhes do rosto", + "faceDesc": "Detalhes do rosto e objeto associado", + "timestamp": "Carimbo de hora", + "confidence": "Confiança" + }, + "documentTitle": "Biblioteca de rostos - Frigate", + "uploadFaceImage": { + "title": "Carregar imagem do rosto", + "desc": "Carregue uma imagem para escanear rostos e incluir em {{pageToggle}}" + }, + "createFaceLibrary": { + "title": "Criar coleção", + "desc": "Criar uma nova coleção", + "new": "Criar novo rosto", + "nextSteps": "Para construir uma base sólida:
  • Use a aba Treinar para selecionar e treinar em imagens para cada pessoa detectada.
  • Concentre-se em imagens diretas para obter melhores resultados; evite imagens de treinamento que capturem rostos em ângulo.
  • " + }, + "train": { + "aria": "Selecionar treino", + "title": "Treinar" + }, + "selectItem": "Selecionar {{item}}", + "selectFace": "Selecionar rosto", + "deleteFaceLibrary": { + "title": "Excluir nome", + "desc": "Tem certeza de que deseja excluir a coleção {{name}}? Isso excluirá permanentemente todos os rostos associados." + }, + "button": { + "addFace": "Adicionar rosto", + "uploadImage": "Carregar imagem" + }, + "imageEntry": { + "validation": { + "selectImage": "Selecione um arquivo de imagem." + }, + "dropActive": "Solte a imagem aqui...", + "maxSize": "Tamanho máximo: {{size}}MB", + "dropInstructions": "Arraste e solte uma imagem aqui ou clique para selecionar" + }, + "trainFace": "Treinar rosto", + "toast": { + "success": { + "updatedFaceScore": "Pontuação facial atualizada com sucesso.", + "trainedFace": "Rosto treinado com sucesso." + }, + "error": { + "uploadingImageFailed": "Falha ao carregar a imagem: {{errorMessage}}", + "deleteFaceFailed": "Falha ao excluir: {{errorMessage}}", + "deleteNameFailed": "Falha ao excluir nome: {{errorMessage}}" + } + }, + "readTheDocs": "Leia a documentação" +} diff --git a/web/public/locales/pt/views/live.json b/web/public/locales/pt/views/live.json new file mode 100644 index 000000000..721334956 --- /dev/null +++ b/web/public/locales/pt/views/live.json @@ -0,0 +1,158 @@ +{ + "documentTitle": "Ao vivo - Frigate", + "documentTitle.withCamera": "{{camera}} - Ao vivo - Frigate", + "twoWayTalk": { + "disable": "Desativar conversação bidirecional", + "enable": "Habilitar conversação bidirecional" + }, + "cameraAudio": { + "enable": "Habilitar áudio da câmera", + "disable": "Desativar áudio da câmera" + }, + "ptz": { + "move": { + "clickMove": { + "label": "Clique no quadro para centralizar a câmera", + "enable": "Habilitar clique para mover", + "disable": "Desativar clique para mover" + }, + "down": { + "label": "Mover a câmera PTZ para baixo" + }, + "up": { + "label": "Mover a câmera PTZ para cima" + }, + "left": { + "label": "Mover a câmera PTZ para a esquerda" + }, + "right": { + "label": "Mover a câmera PTZ para a direita" + } + }, + "zoom": { + "in": { + "label": "Aumentar zoom da câmera PTZ" + }, + "out": { + "label": "Diminuir zoom da câmera PTZ" + } + }, + "presets": "Predefinições de câmera PTZ", + "frame": { + "center": { + "label": "Clique no quadro para centralizar a câmera PTZ" + } + } + }, + "lowBandwidthMode": "Modo de baixa largura de banda", + "camera": { + "enable": "Habilitar câmera", + "disable": "Desativar câmera" + }, + "muteCameras": { + "disable": "Ativar áudio de todas as câmeras", + "enable": "Silenciar todas as câmeras" + }, + "detect": { + "enable": "Habilitar detecção", + "disable": "Desativar detecção" + }, + "snapshots": { + "enable": "Habilitar snapshots", + "disable": "Desativar snapshots" + }, + "audioDetect": { + "enable": "Habilitar detecção de áudio", + "disable": "Desativar detecção de áudio" + }, + "autotracking": { + "enable": "Habilitar rastreamento automático", + "disable": "Desativar rastreamento automático" + }, + "streamStats": { + "enable": "Mostrar estatísticas de transmissão", + "disable": "Ocultar estatísticas de transmissão" + }, + "manualRecording": { + "tips": "Inicie um evento manual com base nas configurações de retenção de gravação desta câmera.", + "playInBackground": { + "label": "Reproduzir em segundo plano", + "desc": "Habilite esta opção para continuar a transmissão quando o player estiver oculto." + }, + "showStats": { + "label": "Mostrar estatísticas", + "desc": "Habilite esta opção para mostrar estatísticas de transmissão como uma sobreposição no feed da câmera." + }, + "start": "Iniciar gravação sob demanda", + "recordDisabledTips": "Como a gravação está desabilitada ou restrita na configuração desta câmera, apenas um snapshot será salvo.", + "end": "Encerrar gravação sob demanda", + "ended": "Fim da gravação manual sob demanda.", + "failedToEnd": "Falha ao finalizar a gravação manual sob demanda.", + "failedToStart": "Falha ao iniciar a gravação manual sob demanda.", + "title": "Gravação sob demanda", + "started": "Iniciou a gravação manual sob demanda.", + "debugView": "Exibição de depuração" + }, + "streamingSettings": "Configurações de transmissão", + "notifications": "Notificações", + "suspend": { + "forTime": "Suspender por: " + }, + "stream": { + "title": "Transmissão", + "audio": { + "tips": { + "title": "O áudio deve ser emitido pela sua câmera e configurado no go2rtc para esta transmissão.", + "documentation": "Leia a documentação " + }, + "available": "O áudio está disponível para esta transmissão", + "unavailable": "O áudio não está disponível para esta transmissão" + }, + "twoWayTalk": { + "tips.documentation": "Leia a documentação ", + "unavailable": "Conversa bidirecional não está disponível para este fluxo", + "tips": "Seu dispositivo deve suportar o recurso e o WebRTC deve ser configurado para conversação bidirecional.", + "available": "Conversa bidirecional está disponível para esta transmissão" + }, + "lowBandwidth": { + "tips": "A visualização ao vivo está em modo de baixa largura de banda devido a erros de buffer ou transmissão.", + "resetStream": "Reiniciar transmissão" + }, + "playInBackground": { + "label": "Reproduzir em segundo plano", + "tips": "Habilite esta opção para continuar a transmissão quando o player estiver oculto." + } + }, + "cameraSettings": { + "title": "{{camera}} configurações", + "cameraEnabled": "Câmera habilitada", + "objectDetection": "Detecção de objeto", + "recording": "Gravando", + "audioDetection": "Detecção de áudio", + "autotracking": "Rastreamento automático", + "snapshots": "Snapshots" + }, + "effectiveRetainMode": { + "modes": { + "active_objects": "Objetos ativos", + "motion": "Movimento", + "all": "Todos" + }, + "notAllTips": "Sua configuração de retenção de gravação {{source}} está definida como modo: {{effectiveRetainMode}}, portanto, esta gravação sob demanda manterá apenas segmentos com {{effectiveRetainModeName}}." + }, + "editLayout": { + "label": "Editar layout", + "group": { + "label": "Editar grupo de câmeras" + }, + "exitEdit": "Sair da edição" + }, + "audio": "Áudio", + "recording": { + "enable": "Habilitar gravação", + "disable": "Desativar gravação" + }, + "history": { + "label": "Mostrar filmagens históricas" + } +} diff --git a/web/public/locales/pt/views/recording.json b/web/public/locales/pt/views/recording.json new file mode 100644 index 000000000..7d61d8696 --- /dev/null +++ b/web/public/locales/pt/views/recording.json @@ -0,0 +1,12 @@ +{ + "export": "Exportar", + "calendar": "Calendário", + "filter": "Filtro", + "filters": "Filtros", + "toast": { + "error": { + "endTimeMustAfterStartTime": "O horário de término deve ser posterior ao horário de início", + "noValidTimeSelected": "Nenhum intervalo de tempo válido selecionado" + } + } +} diff --git a/web/public/locales/pt/views/search.json b/web/public/locales/pt/views/search.json new file mode 100644 index 000000000..0de1b1a67 --- /dev/null +++ b/web/public/locales/pt/views/search.json @@ -0,0 +1,49 @@ +{ + "search": "Pesquisar", + "savedSearches": "Pesquisas salvas", + "searchFor": "Pesquisar por {{inputValue}}", + "button": { + "save": "Salvar pesquisa", + "delete": "Excluir pesquisa salva", + "filterInformation": "Informação do filtro", + "filterActive": "Filtros ativos", + "clear": "Limpar pesquisa" + }, + "trackedObjectId": "ID do objeto rastreado", + "filter": { + "label": { + "sub_labels": "Sub etiquetas", + "zones": "Zonas", + "cameras": "Câmeras", + "labels": "Etiquetas", + "search_type": "Tipo de pesquisa", + "time_range": "Intervalo de tempo", + "before": "Antes", + "after": "Depois", + "min_score": "Pontuação mínima", + "max_score": "Pontuação máxima", + "min_speed": "Velocidade mínima", + "max_speed": "Velocidade máxima", + "recognized_license_plate": "Placa reconhecida" + }, + "searchType": { + "thumbnail": "Miniatura", + "description": "Descrição" + }, + "header": { + "noFilters": "Filtros", + "activeFilters": "Filtros ativos" + }, + "tips": { + "desc": { + "text": "Os filtros ajudam você a restringir os resultados da sua pesquisa. Veja como usá-los no campo de entrada:" + } + } + }, + "placeholder": { + "search": "Pesquisar..." + }, + "similaritySearch": { + "title": "Pesquisa de similaridade" + } +} diff --git a/web/public/locales/pt/views/settings.json b/web/public/locales/pt/views/settings.json new file mode 100644 index 000000000..6d09af30f --- /dev/null +++ b/web/public/locales/pt/views/settings.json @@ -0,0 +1,123 @@ +{ + "documentTitle": { + "camera": "Configurações da câmera - Frigate", + "classification": "Configurações de classificação - Frigate", + "masksAndZones": "Editor de máscara e zona - Frigate", + "motionTuner": "Ajuste de movimento - Frigate", + "object": "Configurações do objeto - Frigate", + "authentication": "Configurações de autenticação - Frigate", + "general": "Configurações gerais - Frigate", + "frigatePlus": "Configurações do Frigate+ - Frigate", + "default": "Configurações - Frigate" + }, + "menu": { + "ui": "UI", + "masksAndZones": "Máscaras / Zonas", + "cameras": "Configurações da câmera", + "classification": "Classificação", + "motionTuner": "Ajuste de movimento", + "debug": "Depurar", + "users": "Usuários", + "notifications": "Notificações", + "frigateplus": "Frigate+" + }, + "dialog": { + "unsavedChanges": { + "title": "Você tem alterações não salvas.", + "desc": "Deseja salvar suas alterações antes de continuar?" + } + }, + "cameraSetting": { + "camera": "Câmera", + "noCamera": "Sem câmera" + }, + "general": { + "title": "Configurações gerais", + "liveDashboard": { + "title": "Painel ao vivo", + "automaticLiveView": { + "label": "Visualização ao vivo automática" + } + }, + "calendar": { + "title": "Calendário", + "firstWeekday": { + "label": "Primeiro dia da semana", + "sunday": "Domingo", + "monday": "Segunda-feira" + } + }, + "storedLayouts": { + "title": "Layouts armazenados" + }, + "recordingsViewer": { + "defaultPlaybackRate": { + "label": "Taxa de reprodução padrão" + } + } + }, + "classification": { + "faceRecognition": { + "modelSize": { + "label": "Tamanho do modelo" + }, + "readTheDocumentation": "Leia a documentação" + }, + "licensePlateRecognition": { + "readTheDocumentation": "Leia a documentação" + }, + "semanticSearch": { + "readTheDocumentation": "Leia a documentação" + }, + "title": "Configurações de classificação" + }, + "notification": { + "globalSettings": { + "title": "Configurações globais" + }, + "notificationSettings": { + "documentation": "Leia a documentação" + }, + "notificationUnavailable": { + "documentation": "Leia a documentação" + } + }, + "frigatePlus": { + "snapshotConfig": { + "documentation": "Leia a documentação", + "table": { + "snapshots": "Snapshots", + "camera": "Câmera" + } + } + }, + "masksAndZones": { + "motionMasks": { + "point_one": "{{count}} ponto", + "point_many": "{{count}} pontos", + "point_other": "{{count}} pontos", + "context": { + "documentation": "Leia a documentação" + }, + "polygonAreaTooLarge": { + "documentation": "Leia a documentação" + } + }, + "zones": { + "label": "Zonas" + } + }, + "debug": { + "zones": { + "title": "Zonas" + }, + "timestamp": { + "title": "Carimbo de hora" + } + }, + "camera": { + "reviewClassification": { + "readTheDocumentation": "Leia a documentação" + } + } +} diff --git a/web/public/locales/pt/views/system.json b/web/public/locales/pt/views/system.json new file mode 100644 index 000000000..b45f5db24 --- /dev/null +++ b/web/public/locales/pt/views/system.json @@ -0,0 +1,120 @@ +{ + "documentTitle": { + "storage": "Estatísticas de armazenamento - Frigate", + "general": "Estatísticas gerais - Frigate", + "enrichments": "Estatísticas de enriquecimento - Frigate", + "logs": { + "frigate": "Logs do Frigate - Frigate", + "go2rtc": "Logs do Go2RTC - Frigate", + "nginx": "Logs do Nginx - Frigate" + }, + "cameras": "Estatísticas das câmeras - Frigate" + }, + "title": "Sistema", + "metrics": "Métricas do sistema", + "logs": { + "type": { + "label": "Tipo", + "timestamp": "Carimbo de hora", + "tag": "Tag", + "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" + }, + "download": { + "label": "Baixar logs" + }, + "tips": "Os logs estão sendo transmitidos do servidor", + "toast": { + "error": { + "fetchingLogsFailed": "Erro ao buscar logs: {{errorMessage}}", + "whileStreamingLogs": "Erro ao transmitir logs: {{errorMessage}}" + } + } + }, + "storage": { + "cameraStorage": { + "camera": "Câmera", + "storageUsed": "Armazenamento", + "percentageOfTotalUsed": "Porcentagem do total", + "bandwidth": "Largura de banda", + "unused": { + "tips": "Este valor pode não representar com precisão o espaço livre disponível para o Frigate se você tiver outros arquivos armazenados em sua unidade além das gravações do Frigate. O Frigate não rastreia o uso de armazenamento fora de suas gravações.", + "title": "Não utilizado" + }, + "unusedStorageInformation": "Informações de armazenamento não utilizado", + "title": "Armazenamento da câmera" + }, + "title": "Armazenamento", + "overview": "Visão geral" + }, + "cameras": { + "title": "Câmeras", + "info": { + "video": "Vídeo:", + "unknown": "Desconhecido", + "error": "Erro: {{error}}", + "fetching": "Obtendo dados da câmera", + "resolution": "Resolução:", + "codec": "Codec:", + "fps": "FPS:", + "stream": "Transmissão {{idx}}", + "audio": "Áudio:" + }, + "framesAndDetections": "Quadros / Detecções", + "label": { + "camera": "câmera", + "detect": "detectar", + "capture": "capturar", + "skipped": "pulado", + "ffmpeg": "ffmpeg" + }, + "overview": "Visão geral" + }, + "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}}%)", + "healthy": "O sistema está saudável" + }, + "general": { + "title": "Geral", + "detector": { + "title": "Detectores", + "cpuUsage": "Uso da CPU do detector", + "memoryUsage": "Uso da memória do detector" + }, + "hardwareInfo": { + "title": "Informações de hardware", + "gpuUsage": "Uso da GPU", + "gpuMemory": "Memória da GPU", + "gpuInfo": { + "nvidiaSMIOutput": { + "driver": "Driver: {{driver}}", + "vbios": "Informação VBios: {{vbios}}", + "name": "Nome: {{name}}", + "cudaComputerCapability": "Capacidade de computação CUDA: {{cuda_compute}}" + }, + "copyInfo": { + "label": "Copiar informações da GPU" + } + } + }, + "otherProcesses": { + "title": "Outros processos" + } + }, + "enrichments": { + "title": "Enriquecimentos", + "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" + } + } +}