/**
 * Announcement module i18n (en)
 *
 * Note: This file is merged into `announcement.*` namespace at i18n bootstrap.
 */
export default {
  common: {
    empty: '-'
  },
  create: {
    title: 'Create Platform Announcement'
  },
  edit: {
    title: 'Edit Platform Announcement',
    notEditable: 'This announcement is published or revoked and cannot be edited.',
    readonlyFieldsHint:
      'Current API only supports editing title, content and audience. Other fields are read-only.'
  },
  list: {
    total: '{total} announcement(s)'
  },
  action: {
    create: 'Create',
    refresh: 'Refresh',
    detail: 'Detail',
    edit: 'Edit',
    publish: 'Publish',
    revoke: 'Revoke',
    delete: 'Delete',
    save: 'Save',
    back: 'Back'
  },
  search: {
    status: 'Status',
    statusPlaceholder: 'All statuses',
    keyword: 'Keyword',
    keywordPlaceholder: 'Title/Content',
    dateRange: 'Date Range',
    dateRangeStart: 'Start date',
    dateRangeEnd: 'End date'
  },
  table: {
    title: 'Title',
    type: 'Type',
    priority: 'Priority',
    status: 'Status',
    effectiveRange: 'Effective Range',
    publishedAt: 'Published At',
    actions: 'Actions',
    effectiveOpenEnded: 'Open-ended'
  },
  form: {
    title: 'Title',
    titlePlaceholder: 'Enter announcement title',
    type: 'Type',
    typePlaceholder: 'Select announcement type',
    priority: 'Priority',
    effectiveFrom: 'Effective From',
    effectiveFromPlaceholder: 'Select start time',
    effectiveTo: 'Effective To',
    effectiveToPlaceholder: 'Select end time (optional)',
    target: 'Audience',
    targetTypePlaceholder: 'Select audience type',
    content: 'Content'
  },
  status: {
    draft: 'Draft',
    published: 'Published',
    revoked: 'Revoked',
    unknown: 'Unknown'
  },
  type: {
    system: 'System',
    billing: 'Billing/Subscription',
    operation: 'Operations',
    platformUpdate: 'Platform Update',
    security: 'Security Notice',
    compliance: 'Compliance Notice',
    tenantInternal: 'Tenant Internal',
    tenantFinance: 'Tenant Finance',
    tenantOperation: 'Tenant Operations',
    unknown: 'Unknown Type'
  },
  targetType: {
    all: 'All Users',
    rules: 'Rules',
    roles: 'Roles',
    users: 'Users',
    manual: 'Manual'
  },
  audience: {
    placeholder: 'Audience selector will be integrated in a later release.',
    rulesPlaceholder: 'Enter rules JSON (e.g. {"roles":["roleId"]})',
    usersPlaceholder: 'Enter user IDs separated by commas'
  },
  draft: {
    notSaved: 'Not saved',
    savedAt: 'Saved · {time}',
    readOnly: 'Read-only state, auto-save stopped'
  },
  validation: {
    titleRequired: 'Please enter a title',
    titleMax: 'Title cannot exceed 128 characters',
    contentRequired: 'Please enter content',
    typeRequired: 'Please select a type',
    priorityRequired: 'Please enter priority',
    priorityRange: 'Priority must be between 1 and 5',
    effectiveFromRequired: 'Please select effective start time',
    effectiveToAfter: 'End time must be later than start time',
    targetTypeRequired: 'Please select audience type',
    targetRulesRequired: 'Please complete rule conditions',
    targetUsersRequired: 'Please select at least one user',
    targetRulesInvalid: 'Invalid rules JSON format'
  },
  message: {
    loadFailed: 'Failed to load announcement',
    createSuccess: 'Created successfully',
    createFailed: 'Create failed, please retry',
    updateSuccess: 'Updated successfully',
    updateFailed: 'Update failed, please retry',
    publishConfirm: 'Publish this announcement?',
    publishSuccess: 'Published successfully',
    publishFailed: 'Publish failed, please retry',
    revokeConfirm: 'Revoke this announcement?',
    revokeSuccess: 'Revoked successfully',
    revokeFailed: 'Revoke failed, please retry',
    deleteNotSupported: 'Delete is not supported for platform announcements',
    rowVersionMissing: 'Missing row version, operation cancelled',
    validationFailed: 'Please complete required fields',
    missingId: 'Missing announcement ID',
    targetParseFailed: 'Failed to parse audience parameters',
    concurrencyConflict: 'Concurrency conflict: {message}',
    refreshAndRetry: 'Data has been modified by another user, please refresh and retry',
    cannotEditPublished: 'Cannot edit announcement with status {status}',
    invalidId: 'Invalid announcement ID'
  },
  detail: {
    id: 'Announcement ID',
    status: 'Status',
    type: 'Type',
    priority: 'Priority',
    effectiveFrom: 'Effective From',
    effectiveTo: 'Effective To',
    publishedAt: 'Published At',
    revokedAt: 'Revoked At',
    targetType: 'Audience',
    targetParameters: 'Audience Parameters',
    publisherScope: 'Publisher Scope',
    content: 'Content',
    contentPlaceholder: 'No content',
    contentHint: 'Rich text preview will be integrated with a safe renderer (DOMPurify).',
    readStats: 'Read Stats',
    readStatsPlaceholder: 'Read stats API is not integrated yet.'
  }
}
