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:
@@ -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' },
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -948,6 +948,74 @@ const fa = {
|
||||
insufficientBalance: 'موجودی کیفپول کافی نیست',
|
||||
serviceDesc: 'سرویس: {name} ({cycle})',
|
||||
},
|
||||
serviceDetail: {
|
||||
productTypes: {
|
||||
managed_database: 'دیتابیس مدیریتشده',
|
||||
managed_redis: 'Redis مدیریتشده',
|
||||
managed_rabbitmq: 'RabbitMQ مدیریتشده',
|
||||
},
|
||||
deploy: 'انتشار',
|
||||
redeploy: 'انتشار مجدد',
|
||||
redeployTitle: 'اجرای مجدد Helm install برای این سرویس',
|
||||
restart: 'ریاستارت',
|
||||
deleteServiceTitle: 'حذف سرویس؟',
|
||||
deleteServiceMessage: 'حذف «{name}» بهصورت دائمی؟',
|
||||
provisioningStarted: 'راهاندازی آغاز شد',
|
||||
provisioningFailed: 'شروع راهاندازی ناموفق بود',
|
||||
reprovisioningStarted: 'راهاندازی مجدد آغاز شد',
|
||||
reprovisionFailed: 'راهاندازی مجدد سرویس ناموفق بود',
|
||||
serviceRestarted: 'سرویس ریاستارت شد',
|
||||
restartFailed: 'ریاستارت سرویس ناموفق بود',
|
||||
serviceRenewed: 'سرویس تمدید شد',
|
||||
renewalFailed: 'تمدید ناموفق بود',
|
||||
deletedWithCredit: 'سرویس حذف شد. منابع پیشپرداختت روی داشبورد است.',
|
||||
deleted: 'سرویس حذف شد',
|
||||
deleteFailed: 'حذف ناموفق بود',
|
||||
paymentRequired: 'پرداخت لازم است',
|
||||
renewToRestore: 'برای بازگرداندن این سرویس تمدید کن.',
|
||||
renew: 'تمدید',
|
||||
planExpires: 'انقضای پلن: {date}',
|
||||
configuration: 'پیکربندی',
|
||||
serviceType: 'نوع سرویس',
|
||||
databaseEngine: 'موتور دیتابیس',
|
||||
storage: 'فضای ذخیره',
|
||||
redisVersion: 'نسخهٔ Redis',
|
||||
rabbitmqVersion: 'نسخهٔ RabbitMQ',
|
||||
cpu: 'CPU',
|
||||
memory: 'حافظه',
|
||||
billing: 'صورتحساب',
|
||||
deployMarker: 'نشان دیپلوی',
|
||||
deploymentHistory: 'تاریخچهٔ دیپلوی',
|
||||
noDeployments: 'هنوز دیپلویی نیست',
|
||||
noDeploymentsHint: 'برای راهاندازی این سرویس روی «انتشار» بزن',
|
||||
provision: 'راهاندازی',
|
||||
connection: 'اتصال',
|
||||
internalCluster: 'کلاستر داخلی',
|
||||
host: 'هاست',
|
||||
port: 'پورت',
|
||||
database: 'دیتابیس',
|
||||
username: 'نام کاربری',
|
||||
password: 'رمز عبور',
|
||||
useExternalNote: 'برای اتصالهای اینترنتی از دسترسی خارجی زیر استفاده کن.',
|
||||
hideSecrets: 'پنهانکردن اسرار',
|
||||
showSecrets: 'نمایش اسرار',
|
||||
redisInternal: 'Redis (داخلی)',
|
||||
rabbitmqInternal: 'RabbitMQ (داخلی)',
|
||||
url: 'آدرس',
|
||||
amqpPort: 'پورت AMQP',
|
||||
managementPort: 'پورت مدیریت',
|
||||
amqpUrl: 'آدرس AMQP',
|
||||
managementUrl: 'آدرس مدیریت',
|
||||
deployToLoadCreds: 'برای بارگذاری اطلاعات ورود زنده، سرویس را منتشر کن.',
|
||||
loadingLogs: 'در حال بارگذاری لاگها…',
|
||||
serviceStopped: 'سرویس متوقف است.',
|
||||
deployToSeeLogs: 'برای دیدن لاگ workload، سرویس را منتشر یا راهاندازی مجدد کن.',
|
||||
renewService: 'تمدید سرویس',
|
||||
wallet: 'کیفپول',
|
||||
payFromWallet: 'پرداخت از کیفپول',
|
||||
insufficientRenew: 'موجودی کیفپول کافی نیست. کیفپول را شارژ کن یا از طریق فاکتور پرداخت کن.',
|
||||
cycles: { hourly: 'ساعتی', monthly: 'ماهانه', yearly: 'سالانه' },
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user