i18n Unused Key Analysis Report

Generated by: `web-frontend/scripts/i18n/analyze-unused.py`

Last updated: March 7, 2026 Reading time: 21 minutes File size: 43.3 KB

Summary

Bucket Count Action
âś… Definitely unused 592 DELETE from all locale files
⚠️ Possibly dynamic 144 Keep — used via template literal
🔍 Needs manual check 36 Verify before deleting
âś“ Found used (excluded) 58 No action needed

Dynamic Prefixes Detected (4.1)

Keys whose prefix matches a dynamic t() call are classified as possibly dynamic.

  • /events/
  • /partners/
  • /partners/topics/
  • Excited to attend
  • I'm attending
  • No users found with role
  • auth:forgot.errors
  • auth:reset.passwordStrength
  • batchImport.status
  • common:role
  • company.batchImport.status
  • dashboard.eventType
  • detail.overviewTab.tierBenefits
  • errors
  • event.batchImport.status
  • filters.role
  • language
  • organizer:speakerStatus
  • portal.topics.status
  • publishing.controls.phase
  • register.passwordStrength
  • role
  • session.batchImport.status
  • sessionEdit.speakers.roles
  • slotAssignment.conflicts.severity
  • slotAssignment.preferences.times
  • tasks.dueDateTypes
  • tasks.workflowStates
  • tiers
  • topicBacklog
  • userDetail.eventsTable.statusValues
  • verify.errors
  • workflow.states

âś… Definitely Unused Keys

No direct or indirect reference found in production source files. Safe to delete from all locale files (EN + all 8 non-EN locales).

Delete Commands

Use jq to delete keys. Example:

bash
# From web-frontend/ directory:
# jq 'del(.path.to.key)' public/locales/en/namespace.json > /tmp/ns.json
# mv /tmp/ns.json public/locales/en/namespace.json
# Repeat for all 9 locales.

admin.json

  • userSync.button.sync — “Sync from Cognito”
  • userSync.button.syncing — “Syncing…”
  • userSync.counts — “Cognito: {{cognito}} | Database: {{database}}”
  • userSync.reconciliation.error — “Sync failed: {{message}}”
  • userSync.reconciliation.success — “Sync complete! Created {{created}} user(s), deactivated {{deactivated}} user(s)”
  • userSync.report.created — “Users Created”
  • userSync.report.deactivated — “Users Deactivated”
  • userSync.report.duration — “Duration”
  • userSync.report.errors — “Errors”
  • userSync.report.title — “Synchronization Report”
  • userSync.status.checking — “Checking…”
  • userSync.status.error — “Error”
  • userSync.status.inSync — “In Sync”
  • userSync.status.outOfSync — “Out of Sync”
  • userSync.title — “User Synchronization”
  • userSync.warning — “{{missing}} user(s) missing in database, {{orphaned}} user(s) orphaned”

auth.json

  • register.errors.emailExists — “An account with this email already exists.”
  • register.success — “Account created successfully! Please check your email.”
  • signup.backToLogin — “Back to Login”
  • signup.notAvailable — “User registration is not yet available. Please contact an administrator to creat…”
  • signup.title — “Sign Up”
  • verify.contactSupport — “Need help? Contact support”
  • verify.goToDashboard — “Go to Dashboard”
  • verify.resendSuccess — “Verification email sent again”

common.json

  • actions.create — “Create”
  • actions.filter — “Filter”
  • actions.reset — “Reset”
  • actions.search — “Search”
  • actions.submit — “Submit”
  • app.title — “BATbern Event Management Platform”
  • archive.card.andMore — “and {{count}} more”
  • archive.card.sessions — “Presentations”
  • archive.filters.activeCount_one — “{{count}} active filter”
  • archive.filters.activeCount_other — “{{count}} active filters”
  • archive.sort.newest — “Newest first”
  • archive.sort.oldest — “Oldest first”
  • company.badges.partner — “Partner”
  • company.batchImport.button — “Batch Import”
  • company.batchImport.errors.importFailed — “Failed to import {{name}}: {{error}}”
  • company.batchImport.importButton — “Import All”
  • company.batchImport.invalidJson — “Invalid JSON file. Please check the format.”
  • company.delete.success — “Company deleted successfully”
  • company.detail.overviewText — “This overview section can display additional company information, recent updates…”
  • company.detail.tabs.activity — “Activity”
  • company.detail.tabs.overview — “”
  • company.detail.tabs.statistics — “Statistics”
  • company.errors.loadFailed — “Failed to load company”
  • company.fields.canton — “Canton”
  • company.fields.city — “City”
  • company.fields.country — “Country”
  • company.fields.sector — “Sector (Optional)”
  • company.filters.partnerOnly — “Partner Companies Only”
  • company.form.errors.cantonRequired — “Canton is required”
  • company.form.errors.cityRequired — “City is required”
  • company.form.errors.countryRequired — “Country is required”
  • company.form.errors.descriptionMaxLength — “Description must be at most {{max}} characters”
  • company.form.errors.displayNameMaxLength — “Display name must be at most {{max}} characters”
  • company.form.errors.industryRequired — “Industry is required”
  • company.form.errors.invalidSwissUID — “Invalid Swiss UID format (CHE-XXX.XXX.XXX)”
  • company.form.errors.invalidWebsite — “Invalid website URL”
  • company.form.errors.nameMaxLength — “Name must be at most {{max}} characters”
  • company.form.errors.nameMinLength — “Name must be at least {{min}} characters”
  • company.form.errors.nameRequired — “Company name is required”
  • company.form.required — “Required”
  • company.industries.cloudComputing — “Cloud Computing”
  • company.industries.consulting — “Consulting”
  • company.industries.devOps — “DevOps”
  • company.industries.education — “Education”
  • company.industries.financialServices — “Financial Services”
  • company.industries.healthcare — “Healthcare”
  • company.industries.manufacturing — “Manufacturing”
  • company.industries.other — “Other”
  • company.industries.technology — “Technology”
  • company.placeholders.canton — “BE, ZH, GE, etc.”
  • company.sectors.government — “Government”
  • company.sectors.nonprofit — “Non-profit”
  • company.sectors.private — “Private”
  • company.sectors.public — “Public”
  • company.sectors.selectSector — “Select Sector”
  • company.stats.userCount — “{{count}} user”
  • company.stats.userCount_one — “{{count}} user”
  • company.stats.userCount_other — “{{count}} users”
  • emailTemplates.cannotDeleteLayout — “Layout templates cannot be deleted.”
  • emailTemplates.cannotDeleteSystem — “System templates cannot be deleted.”
  • emailTemplates.title — “Email Templates”
  • emailTemplates.validation.allFieldsRequired — “Template key, subject, and HTML body are required.”
  • event.batchImport.button — “Import Historical Events”
  • event.batchImport.errors.importFailed — “Failed to import event {{number}}: {{error}}”
  • event.batchImport.importButton — “Import All”
  • event.batchImport.invalidJson — “Invalid JSON file. Please check the format.”
  • menu.profileSettings — “Profile Settings”
  • menu.signOut — “Sign Out”
  • navigation.closeMenu — “Close menu”
  • navigation.content — “Content Search”
  • navigation.logout — “Logout”
  • navigation.presentationMode — “Presentation Mode”
  • session.batchImport.button — “Import Sessions”
  • speakerPortal.content.characterCount — “{{current}} / {{max}}”
  • speakerPortal.content.event — “Event”
  • speakerPortal.content.linkExpired — “Link Has Expired”
  • speakerPortal.content.loading — “Loading content…”
  • speakerPortal.content.optional — “optional”
  • speakerPortal.content.sessionNotAssigned — “Session Not Assigned”
  • speakerPortal.content.sessionNotAssignedMessage — “Your session has not been assigned yet. Please contact the organizer to have you…”
  • speakerPortal.content.title — “Submit Your Content”
  • speakerPortal.upload.currentFile — “Current file”
  • speakerPortal.upload.download — “Download”
  • speakerPortal.upload.dragDropMessage — “Drag and drop your file here, or click to browse”
  • speakerPortal.upload.dragDropTitle — “Upload Presentation”
  • speakerPortal.upload.errors.fileTooLarge — “File is too large. Maximum size is 50MB.”
  • speakerPortal.upload.errors.invalidType — “Invalid file type. Only PPTX, PDF, and KEY files are allowed.”
  • speakerPortal.upload.errors.uploadFailed — “Upload failed. Please try again.”
  • speakerPortal.upload.removeFile — “Remove file”
  • speakerPortal.upload.replace — “Replace”
  • speakerPortal.upload.supportedFormats — “Supported formats: PPTX, PDF, KEY (max 50MB)”
  • speakerPortal.upload.uploadComplete — “Upload complete”
  • speakerPortal.upload.uploadProgress — “{{percent}}% uploaded”

events.json

  • accessibility.closeMenu — “Close menu”
  • accessibility.error — “Error”
  • accessibility.loading — “Loading”
  • accessibility.openMenu — “Open menu”
  • accessibility.skipToContent — “Skip to content”
  • accessibility.success — “Success”
  • actions.back — “Back”
  • actions.deleteEvent — “Delete Event”
  • actions.exportData — “Export Data”
  • actions.manageSpeakers — “Manage Speakers”
  • actions.newEvent — “New Event”
  • actions.refresh — “Refresh”
  • actions.viewAnalytics — “View Analytics”
  • actions.viewTimeline — “View Timeline”
  • common.error — “Error”
  • common.next — “”
  • common.previous — “”
  • common.saveAndContinue — “Save & Continue”
  • common.settings — “Settings”
  • common.success — “Success”
  • confirmations.cannotDelete — “Cannot delete event - please cancel event instead”
  • confirmations.deleteImpact — “{{registrations}} registrations, {{speakers}} speakers, {{materials}} materials”
  • confirmations.deleteMessage — “Are you sure you want to delete this event?”
  • confirmations.deleteTitle — “Delete Event?”
  • confirmations.discard — “Discard”
  • confirmations.keepEditing — “Keep Editing”
  • criticalTasks.actions — “Actions”
  • criticalTasks.assignToTeam — “Assign to Team”
  • criticalTasks.assignedTo — “Assigned To”
  • criticalTasks.confirm — “Confirm”
  • criticalTasks.contact — “Contact”
  • criticalTasks.critical — “Critical”
  • criticalTasks.dueDate — “Due Date”
  • criticalTasks.extendDeadline — “Extend Deadline”
  • criticalTasks.markComplete — “Mark Complete”
  • criticalTasks.noTasks — “No critical tasks”
  • criticalTasks.priority — “Priority”
  • criticalTasks.title — “Critical Tasks”
  • criticalTasks.warning — “Warning”
  • dashboard.actions.analytics — “Analytics”
  • dashboard.actions.eventTypesHelp — “Configure event type templates (Admin)”
  • dashboard.actions.speakers — “Speakers”
  • dashboard.actions.topics — “Topic Selection”
  • dashboard.actions.viewDetails — “View Details”
  • dashboard.activityAction.event_created — “created event”
  • dashboard.activityAction.event_published — “published event”
  • dashboard.activityAction.event_updated — “updated event”
  • dashboard.activityAction.materials_uploaded — “uploaded materials”
  • dashboard.activityAction.notification_sent — “sent notification”
  • dashboard.activityAction.speaker_assigned — “assigned speaker”
  • dashboard.activityAction.speaker_invited — “invited speaker”
  • dashboard.activityAction.task_completed — “completed task”
  • dashboard.activityAction.workflow_advanced — “advanced workflow”
  • dashboard.activityCount — “{{count}} activity”
  • dashboard.activityCount_plural — “{{count}} activities”
  • dashboard.areYouSure — “Are you sure you want to perform this action?”
  • dashboard.assignedTo — “Assigned to {{name}}”
  • dashboard.confirmAction — “Confirm Action”
  • dashboard.criticalTasks — “Critical Tasks”
  • dashboard.dueDate — “Due Date”
  • dashboard.eventCount — “{{count}} event”
  • dashboard.eventCount_plural — “{{count}} events”
  • dashboard.filter.activeFilters_plural — “{{count}} filters active”
  • dashboard.filter.status — “Filter by status”
  • dashboard.greatJob — “Great job!”
  • dashboard.lastUpdated — “Last updated”
  • dashboard.loadingEvents — “Loading events…”
  • dashboard.noCriticalTasks — “No critical tasks”
  • dashboard.noEvents — “No events found”
  • dashboard.noRecentActivity — “No recent activity”
  • dashboard.taskCount — “{{count}} task”
  • dashboard.taskCount_plural — “{{count}} tasks”
  • dashboard.teamActivity — “Team Activity”
  • dashboard.today — “Today”
  • dashboard.viewAll — “View All”
  • dashboard.workflowProgress — “Workflow Progress”
  • eventPage.overview.changeTopic — “Change Topic”
  • eventPage.overview.noTopicSelected — “No topic selected yet”
  • eventPage.overview.pending — “pending”
  • eventPage.overview.sendNotification — “Send Notification”
  • eventPage.overview.viewTimeline — “View Timeline”
  • eventPage.tabs.overview — “Overview”
  • eventPage.tabs.speakers — “Speakers”
  • eventPage.tabs.team — “Team”
  • eventTypes.AFTERNOON — “Afternoon”
  • eventTypes.EVENING — “Evening”
  • eventTypes.FULL_DAY — “Full Day”
  • filters.allStatuses — “All Statuses”
  • filters.allTypes — “All Types”
  • filters.allYears — “All Years”
  • filters.clear — “Clear Filters”
  • filters.eventType — “Event Type”
  • filters.search — “Search”
  • filters.searchPlaceholder — “Search events…”
  • filters.year — “Year”
  • form.close — “Close”
  • form.delete — “Delete”
  • form.eventInformation — “Event Information”
  • form.noVenue — “No venue selected”
  • form.saveAndCreate — “Save & Create”
  • form.theme — “Theme”
  • messages.draftSaved — “Draft saved”
  • messages.eventCreated — “Event created”
  • messages.eventDeleted — “Event deleted”
  • messages.eventUpdated — “Event updated”
  • messages.loading — “Loading…”
  • messages.noResults — “No results found”
  • messages.tryAgain — “Try again”
  • metrics.assigned — “assigned”
  • metrics.budget — “Budget”
  • metrics.confirmed — “confirmed”
  • metrics.keyMetrics — “Key Metrics”
  • metrics.materials — “Materials”
  • metrics.pending — “pending”
  • metrics.registrations — “Registrations”
  • metrics.speakers — “Speakers”
  • metrics.topics — “Topics”
  • navigation.createEvent — “Create Event”
  • navigation.eventTimeline — “Timeline”
  • newsletter.account.description — “Receive event announcements and updates”
  • newsletter.account.label — “Subscribe to BATbern newsletter”
  • notifications.active — “Active”
  • notifications.activeAutomations — “Active Automations”
  • notifications.inactive — “Inactive”
  • notifications.manageNotifications — “Manage Notifications”
  • notifications.notificationRules — “Notification Rules”
  • notifications.recipients — “Recipients”
  • notifications.ruleName — “Rule Name”
  • notifications.sendManualNotification — “Send Manual Notification”
  • notifications.trigger — “Trigger”
  • pagination.next — “”
  • pagination.previous — “”
  • pagination.showing — “Showing {{from}}-{{to}} of {{total}} items”
  • public.program.downloadError — “Failed to download material. Please try again.”
  • public.sessionTypes.break — “break”
  • public.sessionTypes.keynote — “keynote”
  • public.sessionTypes.lunch — “lunch”
  • public.sessionTypes.networking — “networking”
  • public.sessionTypes.panel_discussion — “panel discussion”
  • public.sessionTypes.presentation — “presentation”
  • public.sessionTypes.workshop — “workshop”
  • public.sessions.timeTBD — “Time TBD”
  • publishing.configure — “Configure Publishing”
  • publishing.controls.accessibility.publishingMode — “Publishing Mode”
  • publishing.controls.newsletterDialog.close — “Close”
  • publishing.controls.newsletterDialog.contentPreview — “Newsletter content preview for {{phase}} phase…”
  • publishing.controls.newsletterDialog.sendTest — “Send Test Email”
  • publishing.controls.newsletterDialog.subject — “Subject: New {{phase}} published for {{eventCode}}”
  • publishing.controls.newsletterDialog.title — “Newsletter Preview”
  • publishing.controls.previewNewsletter — “Preview Newsletter”
  • publishing.controls.publish — “Publish”
  • publishing.controls.scheduleDialog.cancel — “Cancel”
  • publishing.controls.scheduleDialog.confirm — “Confirm Schedule”
  • publishing.controls.scheduleDialog.dateLabel — “Schedule Date & Time”
  • publishing.controls.scheduleDialog.title — “Schedule Publishing”
  • publishing.controls.schedulePublish — “Schedule Publish”
  • publishing.currentPhase — “Current Phase”
  • publishing.immediate — “Immediate”
  • publishing.preview.accessibility.desktopPreview — “Desktop preview”
  • publishing.preview.accessibility.devicePreviewMode — “device preview mode”
  • publishing.preview.accessibility.eventContentPreview — “Event content preview”
  • publishing.preview.accessibility.mobilePreview — “Mobile preview”
  • publishing.preview.accessibility.printPreview — “Print preview”
  • publishing.preview.accessibility.refreshPreview — “Refresh preview”
  • publishing.preview.desktop — “Desktop”
  • publishing.preview.deviceDimensions — “Device: {{device}} ({{width}} x {{height}})”
  • publishing.preview.loadFailed — “Failed to load preview. Please try again.”
  • publishing.preview.mobile — “Mobile”
  • publishing.preview.previewMode — “Preview Mode: {{mode}} | Phase: {{phase}}”
  • publishing.preview.print — “Print”
  • publishing.preview.refresh — “Refresh”
  • publishing.preview.refreshing — “Refreshing preview…”
  • publishing.preview.retry — “Retry”
  • publishing.preview.switchedTo — “Switched to {{device}} preview”
  • publishing.previewPublicPage — “Preview Public Page”
  • publishing.progressive — “Progressive”
  • publishing.qualityChecks — “Quality Checks”
  • publishing.republish — “Republish”
  • publishing.strategy — “Strategy”
  • publishing.tab.notice — “The publishing components are now integrated. Backend API integration is in prog…”
  • publishing.tab.title — “Publishing Controls (Story 5.7)”
  • publishing.timeline.agenda — “Agenda”
  • publishing.timeline.autoPublishIn — “Auto-publish in {{days}} days”
  • publishing.timeline.autoPublishScheduled — “Auto-publish scheduled”
  • publishing.timeline.days — “{{count}} days”
  • publishing.timeline.now — “Now”
  • publishing.timeline.phasesPublished — “{{completed}} of {{total}} phases published ({{percent}}%)”
  • publishing.timeline.publishedOn — “Published on {{date}}”
  • publishing.timeline.scheduled — “Scheduled: {{date}}”
  • publishing.timeline.speakers — “Speakers”
  • publishing.timeline.topic — “Topic”
  • publishing.timeline.updates — “Updates”
  • publishing.title — “Publishing”
  • publishing.versionControl.cdnInvalidationId — “CDN Invalidation ID: {{id}}”
  • publishing.versionControl.rollbackDialog.cancel — “Cancel”
  • publishing.versionControl.rollbackDialog.confirm — “Confirm Rollback”
  • publishing.versionControl.rollbackDialog.confirming — “Rolling back…”
  • publishing.versionControl.rollbackDialog.message — “Are you sure you want to rollback to this version?”
  • publishing.versionControl.rollbackDialog.phaseLabel — “Phase:”
  • publishing.versionControl.rollbackDialog.publishedLabel — “Published:”
  • publishing.versionControl.rollbackDialog.publisherLabel — “Publisher:”
  • publishing.versionControl.rollbackDialog.title — “Confirm Rollback”
  • publishing.versionControl.rollbackDialog.versionLabel — “Version:”
  • publishing.versionControl.rollbackDialog.warning — “This action will invalidate the CloudFront CDN cache and may take a few minutes …”
  • slotAssignment.dragInstructions — “Drag speakers to time slots to assign”
  • slotAssignment.loading — “Loading…”
  • slotAssignment.modals.autoAssign.algorithms.preferenceFirst — “Preference-First”
  • slotAssignment.modals.autoAssign.algorithms.timeBalance — “Time Balance”
  • slotAssignment.preferences.close — “Close”
  • slotAssignment.preferences.equipment.whiteboard — “Whiteboard”
  • slotAssignment.preferences.preferredTime — “Preferred Time of Day”
  • slotAssignment.timeline.room — “{{room}}”
  • slotPreview.duration — “Duration”
  • slotPreview.exampleTimeline — “Example Timeline”
  • sorting.ascending — “Ascending”
  • sorting.date — “Date”
  • sorting.descending — “Descending”
  • sorting.sort — “Sort”
  • sorting.status — “Status”
  • sorting.title — “Title”
  • sorting.workflowProgress — “Workflow Progress”
  • speakers.autoAssignConfirmMessage — “This will automatically assign speakers to optimal time slots based on topic exp…”
  • speakers.autoAssignConfirmTitle — “Auto-Assign Speakers”
  • speakers.company — “Company”
  • speakers.editSlot — “Edit Slot”
  • speakers.loadError — “Failed to load sessions. Please try again.”
  • speakers.manageMaterials — “Manage Materials”
  • speakers.manageSpeakerAssignments — “Manage Speaker Assignments”
  • speakers.noSpeakers — “No speakers assigned”
  • speakers.slotLabel — “Slot {{number}}”
  • speakers.speakersAndSessions — “Speakers & Sessions”
  • speakers.title — “Speakers & Sessions”
  • speakers.viewDetails — “View Details”
  • speakers.viewFullAgenda — “View Full Agenda”
  • team.assignRole — “Assign Role”
  • team.coOrganizers — “Co-Organizers”
  • team.contentReviewer — “Content Reviewer”
  • team.leadOrganizer — “Lead Organizer”
  • team.manageTeam — “Manage Team”
  • team.moderator — “Moderator”
  • team.title — “Team Assignments”
  • teamActivity.activityTypes.event_created — “Event Created”
  • teamActivity.activityTypes.event_published — “Event Published”
  • teamActivity.activityTypes.event_updated — “Event Updated”
  • teamActivity.activityTypes.materials_uploaded — “Materials Uploaded”
  • teamActivity.activityTypes.notification_sent — “Notification Sent”
  • teamActivity.activityTypes.speaker_assigned — “Speaker Assigned”
  • teamActivity.activityTypes.speaker_invited — “Speaker Invited”
  • teamActivity.activityTypes.task_completed — “Task Completed”
  • teamActivity.activityTypes.workflow_advanced — “Workflow Advanced”
  • teamActivity.filterByAction — “Filter by Action”
  • teamActivity.filterByEvent — “Filter by Event”
  • teamActivity.filterByUser — “Filter by User”
  • teamActivity.noActivity — “No activity available”
  • teamActivity.recentActivity — “Recent Activity”
  • teamActivity.reload — “Reload”
  • teamActivity.title — “Team Activity”
  • topicSelection.success — “Topic selected successfully”
  • validation.defaultCapacityRequired — “Default capacity is required”
  • validation.eventDateFuture — “Event date must be at least 30 days in the future”
  • validation.slotDurationRequired — “Slot duration is required”
  • validation.venueRequired — “Venue is required”
  • venue.addressLabel — “Venue Address”
  • venue.capacityLabel — “Venue Capacity”
  • venue.errors.addressRequired — “Venue address is required”
  • venue.errors.capacityMax — “Capacity cannot exceed 5000”
  • venue.errors.capacityPositive — “Capacity must be a positive number”
  • venue.errors.nameRequired — “Venue name is required”
  • venue.errors.updateFailed — “Failed to update venue”
  • venue.nameLabel — “Venue Name”
  • venue.sectionTitle — “Venue and Logistics”
  • venue.title — “Venue & Logistics”
  • workflow.actions.selectTopic — “Select Topic”
  • workflow.blocked — “Blocked”
  • workflow.blocker — “Blocker”
  • workflow.blockers_plural — “{{count}} blockers”
  • workflow.completed — “Completed”
  • workflow.inProgress — “In Progress”
  • workflow.pending — “Pending”
  • workflow.progress — “Progress”
  • workflow.step — “Step {{current}} of {{total}}”
  • workflow.stepName — “Step {{number}}: {{name}}”
  • workflow.warning — “Warning”

organizer.json

  • analytics.labels.yourCompany — “Your Company”
  • dashboard.areYouSure — “Are you sure you want to perform this action?”
  • dashboard.assignedTo — “Assigned to {{name}}”
  • dashboard.confirmAction — “Confirm Action”
  • dashboard.criticalTasks — “Critical Tasks”
  • dashboard.dueDate — “Due Date”
  • dashboard.greatJob — “Great job!”
  • dashboard.noCriticalTasks — “No critical tasks”
  • dashboard.taskCount — “{{count}} task”
  • dashboard.taskCount_plural — “{{count}} tasks”
  • navigation.speakerOutreach — “Speaker Outreach”
  • speakerBrainstorm.form.unassigned — “Unassigned”
  • speakerContent.form.usernameHelp — “Enter the username of the speaker”
  • speakerOutreach.breadcrumbs.home — “Home”
  • speakerOutreach.breadcrumbs.speakerOutreach — “Speaker Outreach”
  • speakerOutreach.bulkAction.confirm — “Mark {{count}} speakers as contacted?”
  • speakerOutreach.bulkAction.title — “Mark Multiple as Contacted”
  • speakerOutreach.daysSinceAssignment — “Days Since Assignment”
  • speakerOutreach.emptyPool.addSpeakers — “Add Speakers to Pool”
  • speakerOutreach.emptyPool.hint — “Go back to the event planning stage to add potential speakers.”
  • speakerOutreach.emptyPool.message — “You need to add speakers to the pool before starting outreach.”
  • speakerOutreach.filterByOrganizer — “Filter by Organizer”
  • speakerOutreach.hideBrainstorm — “Hide Add Speakers”
  • speakerOutreach.lastContact — “Last Contact”
  • speakerOutreach.overdue — “Overdue”
  • speakerOutreach.showBrainstorm — “Add Speakers”
  • speakerOutreach.subtitle — “Track your speaker outreach activities and coordinate with other organizers”
  • speakerOutreach.title — “Speaker Outreach”
  • speakers.confirmInvite — “Send invitation to this speaker?”
  • speakers.inviting — “Sending…”
  • speakers.sendInvite — “Send Invite”

partners.json

  • card.analytics — “Analytics”
  • card.contact — “Primary Contact”
  • card.engagement — “Engagement”
  • card.engagementComingSoon — “Coming Soon (Epic 8)”
  • card.industry — “Industry”
  • card.lastEvent — “Last Event”
  • card.meetingPending — “Pending”
  • card.nextMeeting — “Next Meeting”
  • card.scheduleMeeting — “Schedule Meeting”
  • card.sendEmail — “Send Email”
  • card.topicVotes — “Topic Votes”
  • card.viewDetails — “View Details”
  • comingSoon.epic8 — “Coming Soon - Epic 8”
  • comingSoon.story283 — “Coming Soon - Story 2.8.3”
  • detail.activityTab.filterLabel — “Filter by Activity Type”
  • detail.activityTab.noActivity — “No activity to display”
  • detail.activityTab.title — “Activity”
  • detail.header.comingSoon — “Coming in Epic 8”
  • detail.header.exportData — “Export Data”
  • detail.header.scheduleMeeting — “Schedule Meeting”
  • detail.header.sendEmail — “Send Email”
  • detail.quickStats.activeVotes — “Active Votes”
  • detail.quickStats.eventsAttended — “Events Attended”
  • detail.quickStats.lastEvent — “last: {{event}}”
  • detail.quickStats.meetings — “Meetings”
  • detail.quickStats.meetingsSubtitle — “(seasonal)”
  • detail.quickStats.noEventsYet — “No events yet”
  • detail.quickStats.partnerSince — “Partner Since”
  • detail.quickStats.votesSubtitle — “(topics)”
  • empty.tryAdjustingFilters — “Try adjusting your search or filters”
  • error.tryAgain — “Please try again later”
  • meetings.createSuccess — “Meeting created successfully”
  • meetings.edit — “Edit Meeting”
  • meetings.fields.date — “Date”
  • meetings.loading — “Loading meetings…”
  • meetings.updateSuccess — “Meeting updated successfully”
  • modal.benefits.dedicatedManager — “Dedicated account manager”
  • modal.benefits.eventAccess — “Event access”
  • modal.benefits.logoPlacement — “Logo placement on website”
  • modal.benefits.newsletterMentions — “Newsletter mentions”
  • modal.benefits.priorityAccess — “Priority event access”
  • modal.benefits.quarterlyMeetings — “Quarterly strategic meetings”
  • modal.benefits.roiAnalytics — “ROI analytics dashboard”
  • modal.benefits.title — “Tier Benefits”
  • modal.companySearch.error — “Error searching companies”
  • modal.companySearch.minChars — “Type at least 2 characters to search”
  • modal.companySearch.noResults — “No companies found”
  • modal.companySearch.searching — “Searching companies…”
  • modal.fields.companyPlaceholder — “Search for company…”
  • modal.fields.endDate — “End Date”
  • modal.fields.partnershipTier — “Partnership Tier”
  • modal.messages.createError — “Failed to create partnership. Correlation ID: {{correlationId}}”
  • modal.messages.createSuccess — “Partnership created successfully”
  • modal.messages.updateError — “Failed to update partnership. Correlation ID: {{correlationId}}”
  • modal.messages.updateSuccess — “Partnership updated successfully”
  • modal.tierDescriptions.BRONZE — “Entry-level partnership with basic benefits”
  • modal.tierDescriptions.GOLD — “High-value partnership with major benefits”
  • modal.tierDescriptions.PLATINUM — “Premium partnership with enhanced benefits”
  • modal.tierDescriptions.SILVER — “Standard partnership with essential benefits”
  • modal.tierDescriptions.STRATEGIC — “Highest partnership tier with full access and dedicated support”
  • modal.tiers.BRONZE — “Bronze”
  • modal.tiers.GOLD — “Gold”
  • modal.tiers.PLATINUM — “Platinum”
  • modal.tiers.SILVER — “Silver”
  • modal.tiers.STRATEGIC — “Strategic”
  • pagination.partners_plural — “”
  • portal.analytics.comingSoon — “Analytics coming soon”
  • portal.analytics.loading — “Loading data…”
  • portal.analytics.table.date — “Date”
  • portal.analytics.table.event — “”
  • portal.analytics.table.percentage — “Percentage (%)”
  • portal.analytics.table.totalAttendees — “Total Attendees”
  • portal.analytics.table.yourAttendees — “Your Attendees”
  • portal.analytics.title — “Attendance Dashboard”
  • portal.nav.analytics — “Analytics”
  • portal.nav.myCompany — “My Company”
  • portal.nav.topics — “Topics”
  • portal.topics.comingSoon — “Topic voting coming soon”
  • portal.topics.loading — “Loading topics…”
  • portal.topics.organizer.saving — “Saving…”
  • screenReader.searchResults_plural — “{{count}} partners found”
  • statistics.activePartners — “Active Partners”
  • statistics.engagedComingSoon — “Coming Soon - Epic 8”
  • statistics.engagedPartners — “Engaged Partners”
  • statistics.tierDistribution — “Tier Distribution”
  • statistics.totalPartners — “Total Partners”
  • validation.startDateFuture — “Start date cannot be in the future”

registration.json

  • confirmation.alreadyConfirmed.backToHome — “Back to Home”
  • confirmation.alreadyConfirmed.message — “Your registration was previously confirmed. No further action is needed.”
  • confirmation.error.backToHome — “Back to Home”
  • confirmation.error.errors.default — “Failed to confirm registration. Please try again or contact support.”
  • confirmation.error.errors.expired — “Confirmation link has expired. Please register again.”
  • confirmation.error.errors.invalid — “Invalid confirmation link. Please check your email for the correct link.”
  • confirmation.error.subtitle — “Unable to confirm your registration”
  • confirmation.success.backToHome — “Back to Home”

userManagement.json

  • accessibility.closeModal — “Close modal”
  • accessibility.filterPanel — “Filter panel”
  • accessibility.openMenu — “Open menu”
  • accessibility.rowCount — “{{count}} users in table”
  • accessibility.sortAscending — “Sort ascending”
  • accessibility.sortDescending — “Sort descending”
  • accessibility.userTable — “User table”
  • actions.confirm — “”
  • back — “”
  • batchImport.button — “Import Speakers”
  • emptyState.action — “Add First User”
  • emptyState.description — “No users have been added yet.”
  • emptyState.title — “No Users”
  • error.deleteLastOrganizer — “Cannot delete the last organizer”
  • error.email.exists — “Email address already exists”
  • error.email.required — “Email is required”
  • error.name.tooLong — “Name must not exceed {{max}} characters”
  • error.name.tooShort — “Name must be at least {{min}} characters”
  • error.networkError — “Network error. Please check your connection.”
  • error.roles.minOrganizers — “There must be at least {{count}} organizers in the system”
  • error.roles.required — “At least one role is required”
  • error.unauthorized — “You are not authorized to perform this action”
  • filters.company.all — “All Companies”
  • filters.company.label — “Company”
  • filters.company.placeholder — “Select company…”
  • filters.title — “Filters”
  • modal.deleteConfirm.cannotDelete — “This user cannot be deleted”
  • modal.deleteConfirm.lastOrganizerWarning — “You cannot delete the last organizer. There must be at least {{count}} organizer…”
  • modal.deleteConfirm.userName — “User: {{name}}”
  • modal.editRoles.cannotRemove — “This role cannot be removed”
  • modal.editRoles.minimumOrganizers — “There must be at least {{count}} organizers in the system”
  • modal.editRoles.subtitle — “Manage roles for {{name}}”
  • modal.editRoles.updating — “Updating…”
  • modal.userDetail.accountCreated — “Account Created”
  • modal.userDetail.activityHistory — “Activity History”
  • modal.userDetail.companyAffiliation — “Company Affiliation”
  • modal.userDetail.contactInfo — “Contact Information”
  • modal.userDetail.lastLogin — “Last Login”
  • modal.userDetail.noActivity — “No activity available”
  • modal.userDetail.noCompany — “No company assigned”
  • modal.userDetail.profile — “Profile”
  • modal.userDetail.rolesAssigned — “Assigned Roles”
  • offline.indicator — “Offline”
  • offline.message — “You are offline. Some features may not be available.”
  • offline.viewingCache — “Viewing cached data”
  • pagination.goToPage — “Go to page”
  • pagination.next — “”
  • pagination.previous — “”
  • participantImport.button — “Import Participants”
  • participantImport.errorLoadingEvents — “Failed to load event participations”
  • participantImport.loadingEvents — “Loading events…”
  • participantImport.noParticipants — “This user has not participated in any events yet.”
  • participantImport.startImport — “Start Import”
  • success.rolesUpdated — “Roles updated successfully”
  • success.userCreated — “User created successfully”
  • success.userDeleted — “User deleted successfully”
  • success.userUpdated — “User updated successfully”
  • table.ascending — “Ascending”
  • table.descending — “Descending”
  • table.emptySearch — “No users match your search. Try clearing the filters.”
  • table.perPage — “per page”
  • table.showing — “Showing {{count}} users”
  • table.showingRange — “{{from}}-{{to}} of {{total}} users”
  • table.sortBy — “”
  • userDetail.bio — “Bio”
  • userDetail.eventsTable.loading — “Loading events…”

⚠️ Possibly Used Dynamically

Key prefix matches a dynamic t() template literal. Do NOT delete without confirming the dynamic pattern no longer references this key.

  • auth:errors.accountLocked
  • auth:errors.emailNotVerified
  • auth:errors.invalidCredentials
  • auth:errors.networkError
  • auth:forgot.errors.networkError
  • auth:register.passwordStrength.medium
  • auth:register.passwordStrength.strong
  • auth:register.passwordStrength.weak
  • auth:reset.passwordStrength.medium
  • auth:reset.passwordStrength.strong
  • auth:reset.passwordStrength.weak
  • auth:verify.errors.alreadyVerified
  • auth:verify.errors.expiredCode
  • auth:verify.errors.invalidCode
  • auth:verify.errors.networkError
  • auth:verify.errors.rateLimited
  • auth:verify.errors.tooManyAttempts
  • auth:verify.errors.userNotFound
  • common:company.batchImport.status.error
  • common:company.batchImport.status.pending
  • common:company.batchImport.status.skipped
  • common:company.batchImport.status.success
  • common:company.batchImport.status.updated
  • common:event.batchImport.status.error
  • common:event.batchImport.status.pending
  • common:event.batchImport.status.skipped
  • common:event.batchImport.status.success
  • common:language.de
  • common:language.en
  • common:language.select
  • common:session.batchImport.status.error
  • common:session.batchImport.status.pending
  • common:session.batchImport.status.skipped
  • common:session.batchImport.status.success
  • events:dashboard.eventType.AFTERNOON
  • events:dashboard.eventType.EVENING
  • events:dashboard.eventType.FULL_DAY
  • events:errors.FILE_TOO_LARGE
  • events:errors.INVALID_FILE_TYPE
  • events:errors.MULTIPLE_FILES
  • events:errors.correlationId
  • events:errors.deleteFailed
  • events:errors.imageInvalidType
  • events:errors.imageTooBig
  • events:errors.imageUploadFailed
  • events:errors.networkError
  • events:errors.retry
  • events:errors.serviceError
  • events:errors.validationError
  • events:publishing.controls.phase.agenda
  • events:publishing.controls.phase.speakers
  • events:publishing.controls.phase.topic
  • events:sessionEdit.speakers.roles.CO_SPEAKER
  • events:sessionEdit.speakers.roles.MODERATOR
  • events:sessionEdit.speakers.roles.PANELIST
  • events:sessionEdit.speakers.roles.PRIMARY_SPEAKER
  • events:slotAssignment.conflicts.severity.error
  • events:slotAssignment.conflicts.severity.warning
  • events:slotAssignment.preferences.times.afternoon
  • events:slotAssignment.preferences.times.any
  • events:slotAssignment.preferences.times.evening
  • events:slotAssignment.preferences.times.morning
  • events:tasks.dueDateTypes.absolute
  • events:tasks.dueDateTypes.immediate
  • events:tasks.dueDateTypes.relative_to_event
  • events:tasks.workflowStates.agenda_finalized
  • events:tasks.workflowStates.agenda_published
  • events:tasks.workflowStates.archived
  • events:tasks.workflowStates.event_live
  • events:tasks.workflowStates.post_event_wrap_up
  • events:tasks.workflowStates.speaker_brainstorming
  • events:tasks.workflowStates.speaker_outreach
  • events:tasks.workflowStates.topic_selection
  • organizer:speakerStatus.ACCEPTED
  • organizer:speakerStatus.CONFIRMED
  • organizer:speakerStatus.CONTACTED
  • organizer:speakerStatus.CONTENT_SUBMITTED
  • organizer:speakerStatus.DECLINED
  • organizer:speakerStatus.IDENTIFIED
  • organizer:speakerStatus.INVITED
  • organizer:speakerStatus.QUALITY_REVIEWED
  • organizer:speakerStatus.READY
  • organizer:speakerStatus.acceptanceRate
  • organizer:speakerStatus.invalidTransition
  • organizer:speakerStatus.statusChanged
  • organizer:topicBacklog.breadcrumbs.events
  • organizer:topicBacklog.breadcrumbs.home
  • organizer:topicBacklog.breadcrumbs.manageTopics
  • organizer:topicBacklog.createModal.create
  • organizer:topicBacklog.createModal.creating
  • organizer:topicBacklog.createModal.errors.categoryRequired
  • organizer:topicBacklog.createModal.errors.createFailed
  • organizer:topicBacklog.createModal.errors.descriptionRequired
  • organizer:topicBacklog.createModal.errors.titleRequired
  • organizer:topicBacklog.createModal.errors.titleTooLong
  • organizer:topicBacklog.createModal.fields.category
  • organizer:topicBacklog.createModal.fields.categoryHint
  • organizer:topicBacklog.createModal.fields.description
  • organizer:topicBacklog.createModal.fields.title
  • organizer:topicBacklog.createModal.title
  • organizer:topicBacklog.dialogs.delete.cannotDelete
  • organizer:topicBacklog.dialogs.delete.success
  • organizer:topicBacklog.editModal.errors.categoryRequired
  • organizer:topicBacklog.editModal.errors.titleRequired
  • organizer:topicBacklog.editModal.errors.titleTooLong
  • organizer:topicBacklog.editModal.errors.updateFailed
  • organizer:topicBacklog.editModal.fields.category
  • organizer:topicBacklog.editModal.fields.description
  • organizer:topicBacklog.editModal.fields.title
  • organizer:topicBacklog.editModal.save
  • organizer:topicBacklog.editModal.saving
  • organizer:topicBacklog.editModal.title
  • organizer:topicBacklog.pageDescription
  • organizer:topicBacklog.pageTitle
  • organizer:topicBacklog.viewMode.board
  • organizer:topicBacklog.viewMode.boardComingSoon
  • partners:detail.overviewTab.tierBenefits.accountManager
  • partners:detail.overviewTab.tierBenefits.eventAccess
  • partners:detail.overviewTab.tierBenefits.logoPlacement
  • partners:detail.overviewTab.tierBenefits.newsletterMentions
  • partners:detail.overviewTab.tierBenefits.priorityAccess
  • partners:detail.overviewTab.tierBenefits.quarterlyMeetings
  • partners:detail.overviewTab.tierBenefits.roiAnalytics
  • partners:tiers.bronze
  • partners:tiers.gold
  • partners:tiers.platinum
  • partners:tiers.silver
  • partners:tiers.strategic
  • userManagement:batchImport.status.error
  • userManagement:batchImport.status.pending
  • userManagement:batchImport.status.skipped
  • userManagement:batchImport.status.success
  • userManagement:batchImport.status.updated
  • userManagement:filters.role.all
  • userManagement:roles.attendee
  • userManagement:roles.multiple
  • userManagement:roles.organizer
  • userManagement:roles.partner
  • userManagement:roles.speaker
  • userManagement:userDetail.eventsTable.statusValues.ATTENDED
  • userManagement:userDetail.eventsTable.statusValues.CANCELLED
  • userManagement:userDetail.eventsTable.statusValues.CONFIRMED
  • userManagement:userDetail.eventsTable.statusValues.REGISTERED
  • userManagement:userDetail.eventsTable.statusValues.WAITLISTED

🔍 Needs Manual Check

Found via indirect patterns (local namespace inference, prop-drilling, or partial key match). Verify each before deleting.

  • common:company.backToList
  • common:company.editCompany
  • common:navigation.companies
  • common:navigation.dashboard
  • common:navigation.myCompany
  • common:navigation.myContent
  • common:navigation.myEvents
  • common:navigation.myRegistrations
  • common:navigation.partnerMeetings
  • common:navigation.partnerTopics
  • common:navigation.profile
  • common:navigation.publicSite
  • common:navigation.topics
  • common:navigation.users
  • common:status.didntReceive
  • events:eventPage.tabs.newsletter
  • events:eventPage.tabs.participants
  • events:eventPage.tabs.publishing
  • events:eventPage.tabs.settings
  • events:eventPage.tabs.venue
  • events:navigation.dashboard
  • events:pagination.page
  • events:topics.addTopic
  • events:topics.change
  • events:topics.noTopic
  • events:topics.noTopics
  • events:topics.removeTopic
  • events:topics.title
  • events:topics.viewTopic
  • userManagement:loading.delete
  • userManagement:loading.save
  • userManagement:loading.search
  • userManagement:loading.updating
  • userManagement:pagination.page
  • userManagement:search.clearFilters
  • userManagement:search.noResults