Localize the managed-service detail page.

Move the service detail view (header actions, renewal banner, config,
deployment history, DB/Redis/RabbitMQ connection panels, renew modal)
onto a dashboard.serviceDetail dictionary with localized product-type and
deploy-status labels, locale-aware dates and RTL-aware layout.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
keyhan
2026-06-11 22:48:47 +03:30
parent deef498f65
commit 8d423f8224
4 changed files with 228 additions and 86 deletions
+68
View File
@@ -949,6 +949,74 @@ const en: Dictionary = {
insufficientBalance: 'Insufficient wallet balance',
serviceDesc: 'Service: {name} ({cycle})',
},
serviceDetail: {
productTypes: {
managed_database: 'Managed Database',
managed_redis: 'Managed Redis',
managed_rabbitmq: 'Managed RabbitMQ',
},
deploy: 'Deploy',
redeploy: 'Redeploy',
redeployTitle: 'Re-run Helm install for this service',
restart: 'Restart',
deleteServiceTitle: 'Delete service?',
deleteServiceMessage: 'Delete “{name}” permanently?',
provisioningStarted: 'Provisioning started',
provisioningFailed: 'Failed to start provisioning',
reprovisioningStarted: 'Re-provisioning started',
reprovisionFailed: 'Failed to re-provision service',
serviceRestarted: 'Service restarted',
restartFailed: 'Failed to restart service',
serviceRenewed: 'Service renewed',
renewalFailed: 'Renewal failed',
deletedWithCredit: 'Service deleted. Prepaid resources are on your dashboard.',
deleted: 'Service deleted',
deleteFailed: 'Failed to delete',
paymentRequired: 'Payment required',
renewToRestore: 'Renew to restore this service.',
renew: 'Renew',
planExpires: 'Plan expires: {date}',
configuration: 'Configuration',
serviceType: 'Service type',
databaseEngine: 'Database engine',
storage: 'Storage',
redisVersion: 'Redis version',
rabbitmqVersion: 'RabbitMQ version',
cpu: 'CPU',
memory: 'Memory',
billing: 'Billing',
deployMarker: 'Deploy marker',
deploymentHistory: 'Deployment History',
noDeployments: 'No deployments yet',
noDeploymentsHint: 'Click Deploy to provision this service',
provision: 'Provision',
connection: 'Connection',
internalCluster: 'Internal cluster',
host: 'Host',
port: 'Port',
database: 'Database',
username: 'Username',
password: 'Password',
useExternalNote: 'Use external access below for internet-facing connections.',
hideSecrets: 'Hide secrets',
showSecrets: 'Show secrets',
redisInternal: 'Redis (internal)',
rabbitmqInternal: 'RabbitMQ (internal)',
url: 'URL',
amqpPort: 'AMQP Port',
managementPort: 'Management Port',
amqpUrl: 'AMQP URL',
managementUrl: 'Management URL',
deployToLoadCreds: 'Deploy the service to load live credentials.',
loadingLogs: 'Loading logs...',
serviceStopped: 'Service is stopped.',
deployToSeeLogs: 'Deploy or re-provision the service to see workload logs.',
renewService: 'Renew service',
wallet: 'Wallet',
payFromWallet: 'Pay from wallet',
insufficientRenew: 'Insufficient wallet balance. Top up your wallet or pay via invoice.',
cycles: { hourly: 'Hourly', monthly: 'Monthly', yearly: 'Yearly' },
},
},
};