{
  "title": "Invitation Codes",
  "description": "Generate invitation codes to replace open registration, with pre-assigned roles and class bindings.",
  "roles": {
    "student": "Student",
    "teacher": "Teacher",
    "parent": "Parent",
    "admin": "Admin"
  },
  "stats": {
    "total": "Total Codes",
    "unused": "Unused",
    "used": "Used",
    "expired": "Expired"
  },
  "generate": {
    "title": "Generate Invitation Codes",
    "description": "Batch generate invitation codes with role, email restriction, class binding, or expiry.",
    "count": "Count",
    "countDescription": "1-100 codes per batch",
    "role": "Role",
    "email": "Restrict to Email (optional)",
    "emailDescription": "Leave empty for any email; if set, only this email can use the code",
    "classId": "Class ID (optional)",
    "classIdDescription": "When set, students will be auto-enrolled into this class on registration",
    "expiresAt": "Expiry (optional)",
    "expiresAtDescription": "Leave empty for permanent validity; supports ISO strings (e.g., 2026-12-31T23:59:59Z)",
    "notes": "Notes (optional)",
    "notesDescription": "Visible to admins only; useful for recording the batch purpose",
    "submit": "Generate Codes",
    "generating": "Generating...",
    "success": "Successfully generated {count} invitation codes",
    "failed": "Failed to generate"
  },
  "columns": {
    "code": "Code",
    "role": "Role",
    "email": "Restricted Email",
    "classId": "Class",
    "expiresAt": "Expires At",
    "status": "Status",
    "createdAt": "Created At",
    "usedBy": "Used By",
    "usedAt": "Used At",
    "actions": "Actions"
  },
  "status": {
    "unused": "Unused",
    "used": "Used",
    "expired": "Expired"
  },
  "actions": {
    "copy": "Copy",
    "copied": "Copied",
    "copyFailed": "Copy failed",
    "delete": "Delete",
    "deleteConfirmTitle": "Delete this invitation code?",
    "deleteConfirmDescription": "Used codes cannot be deleted (kept as audit records). Only unused or expired codes can be deleted.",
    "cancel": "Cancel",
    "deleting": "Deleting...",
    "confirmDelete": "Confirm Delete",
    "deleted": "Invitation code deleted",
    "deleteFailedUsed": "Used invitation codes cannot be deleted"
  },
  "empty": {
    "title": "No invitation codes yet",
    "description": "Click \"Generate Codes\" to create a batch, or instruct users to enter a code during registration."
  },
  "generatedList": {
    "title": "Generated Codes (This Batch)",
    "description": "Save these code strings securely. After closing this dialog, the full codes will no longer be displayed.",
    "copyAll": "Copy All",
    "close": "Close",
    "batchId": "Batch ID"
  },
  "errors": {
    "loadFailed": "Failed to load invitation codes",
    "permissionDenied": "You do not have permission to access this page"
  }
}
