Localize the admin all-applications page.
Move the final dashboard page (admin all-apps) onto a dashboard.adminApps dictionary: status-count cards, search, table/cards, lifecycle & migration statuses, plan/expiry, and the migrate modal — completing full fa-IR/en-US coverage across the entire app. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1017,6 +1017,39 @@ const en: Dictionary = {
|
||||
insufficientRenew: 'Insufficient wallet balance. Top up your wallet or pay via invoice.',
|
||||
cycles: { hourly: 'Hourly', monthly: 'Monthly', yearly: 'Yearly' },
|
||||
},
|
||||
adminApps: {
|
||||
title: 'All Applications',
|
||||
count: '{n} application(s)',
|
||||
matching: ' matching "{q}"',
|
||||
lifecycle: { active: 'Active', suspended: 'Suspended — Unpaid', pending_deletion: 'Pending Deletion', deleted: 'Deleted' },
|
||||
cycles: { hourly: 'Hourly', monthly: 'Monthly', yearly: 'Yearly' },
|
||||
expired: 'Expired', dayShort: 'd', hourShort: 'h', minShort: 'm',
|
||||
countRunning: 'Running', countDeploying: 'Deploying', countPending: 'Pending',
|
||||
countStopped: 'Stopped', countFailed: 'Failed', countSuspended: 'Suspended', countPendingDel: 'Pending Del.',
|
||||
searchPlaceholder: 'Search by app name, user name, email, or user ID…',
|
||||
noAppsFound: 'No applications found', noResultsFor: 'No results for "{q}". Try a different search.',
|
||||
noAppsYet: 'No applications yet', noAppsByUser: 'No applications have been created by any user.',
|
||||
colApplication: 'Application', colOwner: 'Owner', colStatus: 'Status', colService: 'Service', colCluster: 'Cluster',
|
||||
colMigration: 'Migration', colPlanExpiry: 'Plan / Expiry', colActions: 'Actions',
|
||||
unknownCluster: 'Unknown cluster', notAssigned: 'Not assigned', noPlan: 'No plan', deletePrefix: 'Delete: {date}',
|
||||
cluster: 'Cluster', plan: 'Plan', unknown: 'Unknown', na: 'N/A',
|
||||
view: 'View', migrate: 'Migrate', notAssignedTooltip: 'Application is not assigned to a cluster',
|
||||
deleteAppTitle: 'Delete Application', deleteAppConfirm: 'Are you sure you want to delete "{name}"?',
|
||||
replicas: '{n} replica(s)',
|
||||
migrateApplication: 'Migrate Application',
|
||||
moveTo: 'Move {name} to a healthy target cluster with logs, retry, and rollback.',
|
||||
targetCluster: 'Target Cluster', currentCluster: 'Current cluster',
|
||||
unknownClusterShort: 'Unknown cluster ({id})',
|
||||
selectHealthyCluster: 'Select healthy cluster',
|
||||
currentExcludedNote: 'The current cluster is excluded. Migration is blocked for unhealthy, inactive, or maintenance clusters.',
|
||||
noOtherCluster: 'No other cluster is available as a migration target.',
|
||||
latestMigration: 'Latest migration', queued: 'queued', attempts: 'attempts',
|
||||
noEvents: 'No events yet.', retryMigration: 'Retry migration',
|
||||
startMigration: 'Start Migration', queueing: 'Queueing...',
|
||||
appDeleted: 'Application deleted', migrationQueued: 'Migration job queued', migrationQueueFailed: 'Failed to queue migration',
|
||||
migrationRetryQueued: 'Migration retry queued', migrationRetryFailed: 'Failed to retry migration',
|
||||
migrationStatus: { completed: 'completed', failed: 'failed', rolled_back: 'rolled back', running: 'running', rolling_back: 'rolling back', queued: 'queued' },
|
||||
},
|
||||
appDetail: {
|
||||
productTypeApp: 'Application',
|
||||
cycles: { hourly: 'Hourly', monthly: 'Monthly', yearly: 'Yearly' },
|
||||
|
||||
Reference in New Issue
Block a user