{ "metadata": { "title": "FieldOps — Manutenção", "description": "Backoffice de manutenção industrial." }, "common": { "enter": "Entrar", "entering": "A entrar…", "cancel": "Cancelar", "confirm": "Confirmar", "loading": "A carregar…", "allAreas": "Todas", "status": { "open": "Aberto", "claimed": "Em curso", "resolved": "Resolvido" }, "timeAgo": { "now": "agora", "minutesAgo": "há {mins}m", "hoursAgo": "há {hours}h", "daysAgo": "há {days}d" } }, "auth": { "emailLabel": "Email", "emailPlaceholder": "admin@demo.local", "passwordLabel": "Password", "invalidCredentials": "Email ou password incorretos. Tente novamente.", "unexpectedError": "Erro inesperado. Tente novamente.", "title": "FieldOps", "subtitle": "Acesso à consola de manutenção" }, "maintenance": { "queueTitle": "Fila de manutenção", "openRequestsTitle": "{count} pedidos abertos", "reportLink": "Relatório de turno", "soundOn": "🔔 Som on", "soundOff": "🔕 Som off", "filterStatus": "Estado:", "filterArea": "Área:", "updatesEvery": "Atualiza a cada 5s", "emptyQueue": "Nenhum pedido com os filtros actuais.", "photo": "Foto", "reportedBy": "Reportado por {email} · {time}", "claimedBy": "Aceite por {email} · {time}", "resolvedBy": "Resolvido por {email} · {time}", "accept": "Aceitar", "markResolved": "Marcar resolvido", "resolveDialogTitle": "Marcar como resolvido", "resolveNoteLabel": "Nota de resolução (opcional)", "resolveNotePlaceholder": "Descreve o que foi feito…", "documentTitleWithCount": "({count}) FieldOps — Manutenção", "documentTitle": "FieldOps — Manutenção", "qualityLink": "Qualidade" }, "quality": { "consoleTitle": "Defeitos de qualidade", "newDefect": "Novo defeito", "queueTitle": "Defeitos lançados", "backToMaintenance": "Manutenção", "filterStatus": "Estado:", "updatesEvery": "Atualiza a cada 5s", "empty": "Nenhum defeito com os filtros atuais.", "photoAlt": "Foto do defeito", "location": "Localização", "rfs": "RFS", "createdBy": "Lançado por {email} · {time}", "acknowledgedBy": "Reconhecido por {email} · {time}", "correctedBy": "Corrigido por {email} · {time}", "documentTitle": "FieldOps — Qualidade", "status": { "open": "Por reconhecer", "acknowledged": "Em correção", "corrected": "Corrigido" }, "form": { "workstation": "Posto", "workstationPlaceholder": "Seleciona um posto…", "defectType": "Tipo de defeito", "defectTypePlaceholder": "Ex.: Aperto não conforme", "location": "Localização (opcional)", "locationPlaceholder": "Ex.: Banco dianteiro esquerdo", "rfs": "Código RFS (opcional)", "rfsPlaceholder": "Ex.: RFS-1042", "description": "Descrição", "descriptionPlaceholder": "Descreve o defeito detetado…", "photo": "Foto (opcional)", "photoButton": "Escolher foto", "photoChange": "Trocar foto", "submit": "Lançar defeito", "submitting": "A lançar…", "submitError": "Erro ao lançar defeito. Tenta de novo.", "photoError": "Não foi possível processar a foto." } }, "report": { "pageTitle": "FieldOps — Relatório de turno", "title": "Relatório de turno", "print": "Imprimir", "printHeader": "FieldOps — Relatório de manutenção", "backToQueue": "Fila", "today": "Hoje", "custom": "Personalizado", "customUntil": "até", "customApply": "Aplicar", "loading": "A carregar…", "emptyWindow": "Sem pedidos nesta janela.", "windowLabel": { "today": "Hoje — {range}", "manha": "Turno da Manhã — {range}", "tarde": "Turno da Tarde — {range}", "noite": "Turno da Noite — {range}", "custom": "Personalizado — {range}" }, "shiftButton": { "manha": "Manhã", "tarde": "Tarde", "noite": "Noite" }, "sections": { "summary": "Resumo", "byWorkstation": "Por posto", "byArea": "Por área", "stillOpen": "Em aberto à hora do relatório" }, "metrics": { "created": "Pedidos", "resolved": "Resolvidos", "open": "Em aberto", "responseAvg": "Resposta média", "resolutionAvg": "Resolução média", "responseMax": "Pior resposta", "openSub": "{open} aberto · {claimed} em curso", "requestsSub": "{count, plural, one {sobre # pedido} other {sobre # pedidos}}", "noData": "sem dados" }, "table": { "code": "Código", "name": "Nome", "area": "Área", "requests": "Pedidos" }, "stillOpenReportedBy": "Reportado por {email} · {date}", "allClear": "Nada em aberto neste turno. ✓", "duration": { "lessThan1Min": "< 1 min", "minutes": "{n} min", "hours": "{h} h", "hoursMinutes": "{h} h {m} min", "dash": "—" } } }