Localize shared modal, overlay and deployment-progress components.

Localize the confirm modal, delete button, deleting overlays/modal, the
build-progress modal, deployment progress bar/manager and the resource
upgrade modal via a shared components dictionary. Build-phase labels now
resolve from the dictionary; deleting overlays take name/kind and build
their own localized message (callers updated).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
keyhan
2026-06-11 13:23:44 +03:30
parent f8ee1ca168
commit e99ab789ba
14 changed files with 205 additions and 86 deletions
+44
View File
@@ -135,6 +135,50 @@ const fa = {
},
},
components: {
deleting: 'در حال حذف…',
deletingNamed: 'در حال حذف «{name}»…',
deletingService: 'در حال حذف سرویس…',
deletingApplication: 'در حال حذف اپلیکیشن…',
deletingModalBeingRemoved: '«{name}» برای همیشه حذف می‌شود.',
deletingModalDetailApp: 'این اپلیکیشن، دیپلوی‌ها و داده‌هایش از کلاستر حذف می‌شود. ممکن است یک دقیقه طول بکشد.',
deletingModalDetailService: 'این سرویس و داده‌هایش از کلاستر حذف می‌شود. ممکن است یک دقیقه طول بکشد.',
deletingModalWait: 'لطفاً صبر کن — این صفحه را نبند.',
buildPhases: {
uploading: 'آپلود سورس به کلاستر',
building: 'ساخت ایمیج داکر',
deploying: 'انتشار روی کوبرنتیز',
done: 'دیپلوی کامل شد',
failed: 'دیپلوی ناموفق بود',
cancelled: 'دیپلوی لغو شد',
},
startingDeployment: 'در حال شروع دیپلوی…',
deploymentCancelled: 'دیپلوی لغو شد',
cancelDeploymentFailed: 'لغو دیپلوی ناموفق بود',
minimizeHint: 'برای ادامهٔ کار حین دیپلوی، کوچک کن. بستن (×) دیپلوی را لغو می‌کند.',
continueInBackground: 'ادامه در پس‌زمینه',
minimizeAria: 'کوچک کن و در پس‌زمینه ادامه بده',
cancelDeploymentAria: 'لغو دیپلوی',
viewProgressFor: 'مشاهدهٔ پیشرفت دیپلوی برای {name}',
prevDeployment: 'دیپلوی قبلی',
nextDeployment: 'دیپلوی بعدی',
upgradeTitle: 'تأیید ارتقای منابع',
upgradeNeedsPay: 'این ارتقا نیازمند پرداخت برای بازهٔ باقی‌ماندهٔ صورت‌حساب است.',
upgradeNoCost: 'این تغییر هزینهٔ اضافه‌ای ندارد.',
currentHourlyCost: 'هزینهٔ ساعتی فعلی',
newHourlyCost: 'هزینهٔ ساعتی جدید',
remainingHoursInPeriod: 'ساعت‌های باقی‌مانده در بازه',
proratedAmountToPay: 'مبلغ تسهیم‌شده برای پرداخت',
walletBalance: 'موجودی کیف‌پول',
tomanPerHour: '{n} تومان/ساعت',
hoursUnit: '{n} ساعت',
tomanUnit: '{n} تومان',
walletShortBy: 'موجودی کیف‌پول {n} تومان کم است. می‌توانی مابه‌التفاوت را از طریق درگاه در صفحهٔ فاکتور پرداخت کنی.',
applying: 'در حال اعمال…',
createInvoicePay: 'ساخت فاکتور و پرداخت',
applyChanges: 'اعمال تغییرات',
},
nav: {
sectionAdmin: 'مدیریت',
sectionTechnical: 'فنی',