121 lines
4.3 KiB
JSON

{
"metadata": {
"title": "FieldOps — Operador",
"description": "Consola de operador industrial.",
"appName": "FieldOps Operador"
},
"common": {
"enter": "Entrar",
"entering": "A entrar…",
"cancel": "Cancelar",
"confirm": "Confirmar",
"status": {
"open": "Aberto",
"claimed": "Em curso",
"resolved": "Resolvido"
},
"timeAgo": {
"now": "agora",
"minutesAgo": "há {mins}m",
"hoursAgo": "há {hours}h",
"daysAgo": "há {days}d"
}
},
"errors": {
"title500": "500",
"message500": "Ocorreu um erro inesperado.",
"retry": "Tentar novamente",
"title404": "404",
"message404": "Página não encontrada.",
"backHome": "Voltar ao início"
},
"auth": {
"pickerTitle": "Quem és tu?",
"pickerSubtitle": "Escolhe o teu perfil para continuar.",
"noOperators": "Nenhum operador encontrado. Execute pnpm db:seed.",
"back": "Voltar",
"operatorSelected": "Operador selecionado",
"invalidPin": "PIN incorreto ou conta bloqueada. Tente novamente.",
"unexpectedError": "Erro inesperado. Tente novamente.",
"deleteDigit": "Apagar",
"switchOperator": "Trocar"
},
"session": {
"badgeInTitle": "Em que posto estás?",
"badgeInSubtitle": "Regista o teu posto para começar.",
"loadingStations": "A carregar postos…",
"noStations": "Nenhum posto configurado.",
"starting": "A registar…",
"atStation": "No posto",
"badgeOut": "Sair do posto",
"badgeInPrompt": "Regista o teu posto para começar a trabalhar.",
"badgeInButton": "Entrar no posto",
"endError": "Não foi possível sair do posto. Tenta de novo."
},
"home": {
"operator": "Operador",
"myRequests": "Os meus pedidos",
"requestMaintenance": "Pedir manutenção",
"noRequests": "Nenhum pedido ainda.",
"defects": "Defeitos de qualidade",
"defectsWithCount": "{count, plural, one {# defeito por tratar} other {# defeitos por tratar}}",
"noDefects": "Sem defeitos por tratar"
},
"sync": {
"deadLetters": "{count, plural, one {# pedido com erro — contacta o supervisor.} other {# pedidos com erro — contacta o supervisor.}}",
"pending": "{count, plural, one {# pedido por enviar} other {# pedidos por enviar}}",
"synced": "Tudo sincronizado",
"requestFailed": "Pedido {id}… falhou — contacta o supervisor.",
"close": "Fechar"
},
"maintenance": {
"newTitle": "Novo pedido de manutenção",
"workstationLabel": "Posto",
"workstationRequired": "*",
"workstationLoading": "A carregar postos…",
"workstationPlaceholder": "Seleciona um posto…",
"noSession": "Entra num posto antes de pedir manutenção.",
"photoLabel": "Foto (opcional)",
"photoPreview": "Pré-visualização",
"photoButton": "Tirar / escolher foto",
"descriptionLabel": "Descrição",
"descriptionRequired": "*",
"descriptionPlaceholder": "Descreve o problema…",
"photoError": "Não foi possível processar a foto. Tenta de novo.",
"saveError": "Erro ao guardar pedido. Tenta de novo.",
"submit": "Enviar pedido",
"submitting": "A guardar…",
"sentTitle": "Pedido enviado",
"pendingTitle": "Pedido em fila",
"sentMessage": "A equipa de manutenção foi notificada e irá tratar do problema.",
"pendingMessage": "Será enviado assim que a ligação for restabelecida.",
"backHome": "Voltar ao início"
},
"quality": {
"title": "Defeitos do meu posto",
"subtitle": "Posto {code}",
"empty": "Sem defeitos no teu posto. ✓",
"noSession": "Entra num posto para veres os defeitos de qualidade.",
"photo": "Foto do defeito",
"rfs": "RFS",
"location": "Localização",
"raised": "Lançado por {email} · {time}",
"acknowledge": "Tomei conhecimento",
"acknowledging": "A registar…",
"correct": "Marcar corrigido",
"correctDialogTitle": "Marcar como corrigido",
"correctNoteLabel": "Nota de correção (opcional)",
"correctNotePlaceholder": "Descreve o que foi corrigido…",
"acknowledgedBy": "Reconhecido · {time}",
"backHome": "Voltar ao início",
"updatesEvery": "Atualiza a cada 5s",
"soundOn": "🔔 Som on",
"soundOff": "🔕 Som off",
"status": {
"open": "Novo",
"acknowledged": "Em correção",
"corrected": "Corrigido"
}
}
}