Localize applications and services list pages.
Move the apps and managed-services list pages onto the i18n dictionaries (titles, table headers, lifecycle/expiry labels, delete confirmations, toast messages) and the locale-aware Link, reusing the shared status and lifecycle/expiry copy. Add RTL-aware table alignment and icon spacing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -206,6 +206,49 @@ const en: Dictionary = {
|
||||
replica: 'replica',
|
||||
replicaPlural: 'replicas',
|
||||
},
|
||||
apps: {
|
||||
title: 'My Applications',
|
||||
count: '{n} application(s)',
|
||||
newApplication: 'New Application',
|
||||
noApplications: 'No applications yet',
|
||||
emptyDesc: 'Deploy your first application to get started.',
|
||||
deployFirst: 'Deploy your first app',
|
||||
colApplication: 'Application',
|
||||
colRuntime: 'Runtime',
|
||||
colStatus: 'Status',
|
||||
colServiceStatus: 'Service Status',
|
||||
colExpiry: 'Expiry',
|
||||
colActions: 'Actions',
|
||||
view: 'View',
|
||||
lifecycle: {
|
||||
active: 'Active',
|
||||
suspended: 'Suspended — Unpaid',
|
||||
pending_deletion: 'Pending Deletion',
|
||||
deleted: 'Deleted',
|
||||
},
|
||||
expired: 'Expired',
|
||||
daysHours: '{d}d {h}h remaining',
|
||||
hours: '{h}h remaining',
|
||||
mins: '{m}m remaining',
|
||||
noPlan: 'No plan',
|
||||
deleteTitle: 'Delete Application',
|
||||
deleteMessage:
|
||||
'Permanently delete “{name}” and all its data?\n\nIf your plan still has time left, the prepaid resources will appear on your dashboard for use on a new app at no extra charge.',
|
||||
deleted: 'Application deleted',
|
||||
deletedWithCredit: 'Application deleted. Your prepaid resources are shown on the dashboard.',
|
||||
},
|
||||
services: {
|
||||
title: 'Databases & Services',
|
||||
subtitle: 'Standalone databases, Redis, and RabbitMQ — {n} service(s)',
|
||||
newService: 'New Service',
|
||||
noServices: 'No managed services yet',
|
||||
emptyDesc: 'Provision a database, Redis, or RabbitMQ without deploying a full application.',
|
||||
createFirst: 'Create your first service',
|
||||
deleteTitle: 'Delete service?',
|
||||
deleteMessage: 'Permanently delete “{name}”? This cannot be undone.',
|
||||
deleted: 'Service deleted',
|
||||
deletedWithCredit: 'Service deleted. Prepaid resources are on your dashboard.',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -205,6 +205,49 @@ const fa = {
|
||||
replica: 'نمونه',
|
||||
replicaPlural: 'نمونه',
|
||||
},
|
||||
apps: {
|
||||
title: 'اپلیکیشنهای من',
|
||||
count: '{n} اپلیکیشن',
|
||||
newApplication: 'اپلیکیشن جدید',
|
||||
noApplications: 'هنوز اپلیکیشنی نداری',
|
||||
emptyDesc: 'برای شروع، اولین اپلیکیشنت را منتشر کن.',
|
||||
deployFirst: 'اولین اپت را منتشر کن',
|
||||
colApplication: 'اپلیکیشن',
|
||||
colRuntime: 'محیط اجرا',
|
||||
colStatus: 'وضعیت',
|
||||
colServiceStatus: 'وضعیت سرویس',
|
||||
colExpiry: 'انقضا',
|
||||
colActions: 'عملیات',
|
||||
view: 'مشاهده',
|
||||
lifecycle: {
|
||||
active: 'فعال',
|
||||
suspended: 'معلق — پرداختنشده',
|
||||
pending_deletion: 'در انتظار حذف',
|
||||
deleted: 'حذفشده',
|
||||
},
|
||||
expired: 'منقضی شده',
|
||||
daysHours: '{d} روز و {h} ساعت باقیمانده',
|
||||
hours: '{h} ساعت باقیمانده',
|
||||
mins: '{m} دقیقه باقیمانده',
|
||||
noPlan: 'بدون پلن',
|
||||
deleteTitle: 'حذف اپلیکیشن',
|
||||
deleteMessage:
|
||||
'اپلیکیشن «{name}» و همهٔ دادههایش برای همیشه حذف شود؟\n\nاگر از پلنت زمان باقی مانده باشد، منابع پیشپرداختشده روی داشبوردت نمایش داده میشود تا بدون هزینهٔ اضافه روی اپ جدید استفاده کنی.',
|
||||
deleted: 'اپلیکیشن حذف شد',
|
||||
deletedWithCredit: 'اپلیکیشن حذف شد. منابع پیشپرداختت روی داشبورد نمایش داده میشود.',
|
||||
},
|
||||
services: {
|
||||
title: 'دیتابیسها و سرویسها',
|
||||
subtitle: 'دیتابیسهای مستقل، Redis و RabbitMQ — {n} سرویس',
|
||||
newService: 'سرویس جدید',
|
||||
noServices: 'هنوز سرویس مدیریتشدهای نداری',
|
||||
emptyDesc: 'بدون انتشار یک اپلیکیشن کامل، یک دیتابیس، Redis یا RabbitMQ بساز.',
|
||||
createFirst: 'اولین سرویست را بساز',
|
||||
deleteTitle: 'حذف سرویس؟',
|
||||
deleteMessage: 'سرویس «{name}» برای همیشه حذف شود؟ این عمل قابل بازگشت نیست.',
|
||||
deleted: 'سرویس حذف شد',
|
||||
deletedWithCredit: 'سرویس حذف شد. منابع پیشپرداختت روی داشبورد است.',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user