121 lines
4.2 KiB
JSON
121 lines
4.2 KiB
JSON
{
|
|
"metadata": {
|
|
"title": "FieldOps — Operator",
|
|
"description": "Industrial operator console.",
|
|
"appName": "FieldOps Operator"
|
|
},
|
|
"common": {
|
|
"enter": "Sign in",
|
|
"entering": "Signing in…",
|
|
"cancel": "Cancel",
|
|
"confirm": "Confirm",
|
|
"status": {
|
|
"open": "Open",
|
|
"claimed": "In progress",
|
|
"resolved": "Resolved"
|
|
},
|
|
"timeAgo": {
|
|
"now": "just now",
|
|
"minutesAgo": "{mins}m ago",
|
|
"hoursAgo": "{hours}h ago",
|
|
"daysAgo": "{days}d ago"
|
|
}
|
|
},
|
|
"errors": {
|
|
"title500": "500",
|
|
"message500": "An unexpected error occurred.",
|
|
"retry": "Try again",
|
|
"title404": "404",
|
|
"message404": "Page not found.",
|
|
"backHome": "Back to home"
|
|
},
|
|
"auth": {
|
|
"pickerTitle": "Who are you?",
|
|
"pickerSubtitle": "Choose your profile to continue.",
|
|
"noOperators": "No operators found. Run pnpm db:seed.",
|
|
"back": "Back",
|
|
"operatorSelected": "Selected operator",
|
|
"invalidPin": "Incorrect PIN or account locked. Please try again.",
|
|
"unexpectedError": "Unexpected error. Please try again.",
|
|
"deleteDigit": "Delete",
|
|
"switchOperator": "Switch"
|
|
},
|
|
"session": {
|
|
"badgeInTitle": "Which workstation are you at?",
|
|
"badgeInSubtitle": "Register your workstation to start.",
|
|
"loadingStations": "Loading workstations…",
|
|
"noStations": "No workstations configured.",
|
|
"starting": "Registering…",
|
|
"atStation": "At workstation",
|
|
"badgeOut": "Badge out",
|
|
"badgeInPrompt": "Register your workstation to start working.",
|
|
"badgeInButton": "Badge in",
|
|
"endError": "Could not badge out. Please try again."
|
|
},
|
|
"home": {
|
|
"operator": "Operator",
|
|
"myRequests": "My requests",
|
|
"requestMaintenance": "Request maintenance",
|
|
"noRequests": "No requests yet.",
|
|
"defects": "Quality defects",
|
|
"defectsWithCount": "{count, plural, one {# defect to handle} other {# defects to handle}}",
|
|
"noDefects": "No defects to handle"
|
|
},
|
|
"sync": {
|
|
"deadLetters": "{count, plural, one {# request failed — contact your supervisor.} other {# requests failed — contact your supervisor.}}",
|
|
"pending": "{count, plural, one {# request pending} other {# requests pending}}",
|
|
"synced": "All synced",
|
|
"requestFailed": "Request {id}… failed — contact your supervisor.",
|
|
"close": "Close"
|
|
},
|
|
"maintenance": {
|
|
"newTitle": "New maintenance request",
|
|
"workstationLabel": "Workstation",
|
|
"workstationRequired": "*",
|
|
"workstationLoading": "Loading workstations…",
|
|
"workstationPlaceholder": "Select a workstation…",
|
|
"noSession": "Badge in to a workstation before requesting maintenance.",
|
|
"photoLabel": "Photo (optional)",
|
|
"photoPreview": "Preview",
|
|
"photoButton": "Take / choose photo",
|
|
"descriptionLabel": "Description",
|
|
"descriptionRequired": "*",
|
|
"descriptionPlaceholder": "Describe the problem…",
|
|
"photoError": "Could not process the photo. Please try again.",
|
|
"saveError": "Error saving request. Please try again.",
|
|
"submit": "Submit request",
|
|
"submitting": "Saving…",
|
|
"sentTitle": "Request submitted",
|
|
"pendingTitle": "Request queued",
|
|
"sentMessage": "The maintenance team has been notified and will handle the issue.",
|
|
"pendingMessage": "Will be sent as soon as the connection is restored.",
|
|
"backHome": "Back to home"
|
|
},
|
|
"quality": {
|
|
"title": "Defects at my station",
|
|
"subtitle": "Workstation {code}",
|
|
"empty": "No defects at your station. ✓",
|
|
"noSession": "Badge in to a workstation to see quality defects.",
|
|
"photo": "Defect photo",
|
|
"rfs": "RFS",
|
|
"location": "Location",
|
|
"raised": "Raised by {email} · {time}",
|
|
"acknowledge": "Acknowledge",
|
|
"acknowledging": "Saving…",
|
|
"correct": "Mark corrected",
|
|
"correctDialogTitle": "Mark as corrected",
|
|
"correctNoteLabel": "Correction note (optional)",
|
|
"correctNotePlaceholder": "Describe what was corrected…",
|
|
"acknowledgedBy": "Acknowledged · {time}",
|
|
"backHome": "Back to home",
|
|
"updatesEvery": "Updates every 5s",
|
|
"soundOn": "🔔 Sound on",
|
|
"soundOff": "🔕 Sound off",
|
|
"status": {
|
|
"open": "New",
|
|
"acknowledged": "Correcting",
|
|
"corrected": "Corrected"
|
|
}
|
|
}
|
|
}
|