Localize database-config, snapshots panel and new-service wizard.
Add components.dbConfig / components.snapshots and dashboard.servicesNew dictionaries; move the managed-database config (engine, credentials, dump upload, storage), the snapshots panel and the three-step new-service wizard onto them. validateDbDumpStorage now takes a localized template. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -251,6 +251,69 @@ const fa = {
|
||||
mShort: 'د',
|
||||
sShort: 'ث',
|
||||
},
|
||||
dbConfig: {
|
||||
engine: 'موتور دیتابیس',
|
||||
version: 'نسخه',
|
||||
credentials: 'اطلاعات ورود دیتابیس',
|
||||
credentialsOptional: '(اختیاری — اگر خالی باشد خودکار ساخته میشود)',
|
||||
username: 'نام کاربری',
|
||||
usernamePlaceholder: 'appuser',
|
||||
password: 'رمز عبور',
|
||||
passwordPlaceholder: 'تولید خودکار',
|
||||
generatePassword: 'تولید رمز تصادفی',
|
||||
credentialsNote: 'برای دسترسی داخلی کلاستر استفاده میشود. پس از انتشار از دسترسی خارجی موقت یا دائمی زیر استفاده کن.',
|
||||
uploadDumpLabel: 'اختیاری: آپلود dump دیتابیس برای بازیابی هنگام ساخت',
|
||||
remove: 'حذف',
|
||||
uploadHint: 'یک SQL dump آپلود کن تا پس از ساخت دیتابیس بازیابی شود',
|
||||
uploadConstraints: 'اختیاری • حداکثر ۵۰۰ مگابایت • .sql, .gz, .dump',
|
||||
allowedFormats: 'مجاز: .sql، .gz، .dump',
|
||||
maxSize: 'حداکثر ۵۰۰ مگابایت',
|
||||
storageSize: 'اندازهٔ فضای ذخیرهٔ دیتابیس',
|
||||
suggestedFromDump: 'پیشنهادشده از dump (حداقل {gi} GiB)',
|
||||
minimumGb: 'حداقل {n} GB',
|
||||
mustFitDump: ' (باید dump آپلودشده را جا دهد)',
|
||||
expansionOnly: ' • فقط افزایش پس از ساخت مجاز است',
|
||||
storageTooSmallTitle: 'فضای ذخیره خیلی کم است',
|
||||
ok: 'باشه',
|
||||
storageTooSmallDetail: 'حجم dump دیتابیس شما حدود {dumpGi} GiB است. فضای ذخیرهٔ دیتابیس باید حداقل {need} GiB باشد (شما {selected} GiB انتخاب کردی). فضای ذخیره را افزایش بده و دوباره تلاش کن.',
|
||||
},
|
||||
snapshots: {
|
||||
title: 'اسنپشاتها',
|
||||
newSnapshot: 'اسنپشات جدید',
|
||||
creating: 'در حال ساخت…',
|
||||
hide: 'پنهان',
|
||||
show: 'نمایش',
|
||||
deployFirst: 'اول سرویس را منتشر کن',
|
||||
waitCurrent: 'منتظر پایان بکاپ فعلی بمان',
|
||||
infoNote: 'اسنپشاتهای دیتابیس یک SQL dump ذخیره میکنند که بعداً میتوانی دانلود کنی. وقتی پیشرفت به ۱۰۰٪ رسید از دکمهٔ دانلود استفاده کن. تا ۱۰ اسنپشات نگه داشته میشود؛ قدیمیترها خودکار حذف میشوند.',
|
||||
loadingBackups: 'در حال بارگذاری بکاپها…',
|
||||
noBackups: 'هنوز بکاپی نیست',
|
||||
noBackupsHint: 'برای ساخت اولین dump دیتابیس روی «اسنپشات جدید» بزن.',
|
||||
defaultLabel: 'بکاپ دیتابیس',
|
||||
auto: 'خودکار',
|
||||
manual: 'دستی',
|
||||
dumping: 'در حال dump…',
|
||||
preparing: 'آمادهسازی dump…',
|
||||
exporting: 'استخراج دیتابیس…',
|
||||
finalizing: 'نهاییسازی…',
|
||||
creatingDump: 'ساخت dump دیتابیس…',
|
||||
dump: 'dump',
|
||||
downloadTitle: 'دانلود dump دیتابیس',
|
||||
deleteTitle: 'حذف بکاپ',
|
||||
removeFailedTitle: 'حذف بکاپ ناموفق',
|
||||
maxKept: 'حداکثر ۱۰ بکاپ نگه داشته میشود.',
|
||||
backupReady: 'بکاپ آماده است — حالا میتوانی dump را دانلود کنی',
|
||||
backupFailed: 'بکاپ ناموفق بود',
|
||||
backupStarted: 'بکاپ آغاز شد — dump در حال انجام',
|
||||
createFailed: 'ساخت بکاپ ناموفق بود',
|
||||
backupDeleted: 'بکاپ حذف شد',
|
||||
deleteFailed: 'حذف بکاپ ناموفق بود',
|
||||
downloadStarted: 'دانلود آغاز شد',
|
||||
downloadFailed: 'دانلود dump دیتابیس ناموفق بود',
|
||||
deleteConfirmTitle: 'حذف بکاپ؟',
|
||||
deleteConfirmMessage: 'حذف «{label}»؟ فایل dump برای همیشه حذف میشود.',
|
||||
snapStatus: { completed: 'کامل', failed: 'ناموفق' },
|
||||
},
|
||||
},
|
||||
|
||||
nav: {
|
||||
@@ -801,6 +864,46 @@ const fa = {
|
||||
hours: 'ساعت',
|
||||
days: 'روز',
|
||||
},
|
||||
servicesNew: {
|
||||
steps: ['نوع سرویس', 'پیکربندی', 'بررسی و پرداخت'],
|
||||
title: 'سرویس مدیریتشدهٔ جدید',
|
||||
subtitle: 'دیتابیس، Redis یا RabbitMQ — مثل اپلیکیشنها صورتحساب میشود',
|
||||
typeDatabase: 'دیتابیس',
|
||||
typeDatabaseDesc: 'PostgreSQL، MySQL، MariaDB، MongoDB',
|
||||
typeRedis: 'Redis',
|
||||
typeRedisDesc: 'کش و ذخیرهٔ درونحافظهای',
|
||||
typeRabbitmq: 'RabbitMQ',
|
||||
typeRabbitmqDesc: 'بروکر پیام',
|
||||
serviceName: 'نام سرویس',
|
||||
serviceNamePlaceholder: 'my-database',
|
||||
nameHint: 'فقط حروف کوچک، اعداد و خط تیره',
|
||||
redisVersion: 'نسخهٔ Redis',
|
||||
rabbitmqVersion: 'نسخهٔ RabbitMQ',
|
||||
redisResources: 'منابع Redis',
|
||||
rabbitmqResources: 'منابع RabbitMQ',
|
||||
billingCycle: 'دورهٔ صورتحساب',
|
||||
cycles: { hourly: 'ساعتی', monthly: 'ماهانه', yearly: 'سالانه' },
|
||||
paymentMethod: 'روش پرداخت',
|
||||
wallet: 'کیفپول',
|
||||
insufficient: 'ناکافی',
|
||||
payNow: 'پرداخت',
|
||||
pricingUnavailable: 'قیمت در دسترس نیست',
|
||||
back: 'بازگشت',
|
||||
next: 'بعدی',
|
||||
payProvision: 'پرداخت و راهاندازی',
|
||||
provisioning: 'در حال راهاندازی سرویس',
|
||||
creatingService: 'ساخت سرویس',
|
||||
uploadingDump: 'آپلود dump دیتابیس',
|
||||
payment: 'پرداخت',
|
||||
deploying: 'انتشار',
|
||||
provisionedSuccess: 'سرویس با موفقیت راهاندازی شد',
|
||||
deployFailed: 'انتشار ناموفق بود',
|
||||
paySucceededDeployFailed: 'پرداخت موفق بود اما انتشار ناموفق شد',
|
||||
payProvisionFailed: 'پرداخت یا راهاندازی ناموفق بود',
|
||||
payFailed: 'پرداخت ناموفق بود',
|
||||
insufficientBalance: 'موجودی کیفپول کافی نیست',
|
||||
serviceDesc: 'سرویس: {name} ({cycle})',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user