Added a new configuration file `.oxlintrc.json` to incorporate Oxlint into the project, allowing for improved linting of TypeScript and React code. Updated the linting scripts in `package.json` to run Oxlint alongside ESLint, ensuring a comprehensive linting process. This change enhances code quality and consistency across the codebase.
192 lines
13 KiB
TypeScript
192 lines
13 KiB
TypeScript
export const events = {
|
||
free: 'رایگان',
|
||
nextStep: 'مرحله بعد',
|
||
timeRange: '{start} تا {end}',
|
||
prevStep: 'مرحله قبل',
|
||
guest: 'مهمان',
|
||
host: 'میزبان',
|
||
capacity: 'ظرفیت',
|
||
title: 'عنوان',
|
||
address: 'آدرس',
|
||
reviews: 'نظرات',
|
||
eventEnded: 'اتمام رویداد',
|
||
invalidDate: 'تاریخ نامعتبر است',
|
||
uploadFailed: 'آپلود ناموفق بود',
|
||
personCount: '{count} نفر',
|
||
guestAccessLoadFailed: 'دریافت اطلاعات مهمانان ناموفق بود.',
|
||
guestAccessTitle: 'مهمانان ویژه',
|
||
guestAccessLoading: 'در حال دریافت اطلاعات مهمانان…',
|
||
guestListsConnected: 'لیستهای متصل',
|
||
guestListsCount: '{count} لیست',
|
||
guestListFallback: 'لیست مهمان',
|
||
guestListNotifiedAt: 'اعلان ارسال شده · {date}',
|
||
guestListNotNotified: 'اعلانی ارسال نشده',
|
||
guestListsEmpty: 'لیست مهمانی به این رویداد متصل نشده است.',
|
||
invitedGuestsTitle: 'مهمانان دعوتشده',
|
||
invitedGuestsEmpty: 'مهمانی برای دعوت انتخاب نشده است.',
|
||
eventNotFound: 'رویداد یافت نشد',
|
||
hostProfileAria: 'پروفایل {name}',
|
||
wizardStep2Label: 'زمان و مکان',
|
||
wizardStep2Hint: 'زمانبندی و محل برگزاری رویداد',
|
||
wizardStep3Hint: 'ظرفیت، قیمت و هزینهٔ کنسلی',
|
||
postersRequiredTitle: 'هر دو پوستر الزامی است',
|
||
postersRequiredDescription: 'پوستر عمودی (۹:۱۶) و پوستر مربعی (۱:۱) را آپلود کنید و سپس پیشنویس را ذخیره کنید.',
|
||
mediaSectionDescription: 'پوستر عمودی و پوستر مربعی هر دو الزامیاند. تصاویر گالری اختیاریاند و کراپ نمیشوند.',
|
||
shortDescriptionLabel: 'معرفی کوتاه',
|
||
categoryPlaceholder: 'یک دستهبندی را انتخاب کنید',
|
||
addressVisibilityAttendeesOnly: 'فقط برای رزروکنندگان تأییدشده',
|
||
addressVisibilityPublic: 'نمایش برای همه',
|
||
startsAtDateLabel: 'تاریخ شروع',
|
||
startsAtTimeLabel: 'ساعت شروع',
|
||
endsAtDateLabel: 'تاریخ پایان',
|
||
endsAtTimeLabel: 'ساعت پایان',
|
||
addressVisibilityLabel: 'نمایش آدرس دقیق',
|
||
generalAreaLabel: 'منطقه کلی ',
|
||
generalAreaPlaceholder: 'مثلاً: مشهد، خیابان هفتتیر',
|
||
mapTitle: 'موقعیت روی نقشه',
|
||
mapLocked: 'موقعیت بهخاطر رزرو فعال مهمانها قفل شده است.',
|
||
mapHint: 'روی نقشه کلیک کنید تا موقعیت انتخاب شود؛ آدرس بهصورت خودکار پر میشود و قابل ویرایش است.',
|
||
mapModalHint: 'برای تعیین نقطهٔ دقیق، نقشه را باز کنید؛ آدرس پس از انتخاب پر میشود و قابل ویرایش است.',
|
||
mapSelectModalTitle: 'انتخاب مکان از روی نقشه',
|
||
mapLocationSelected: 'موقعیت انتخاب شد',
|
||
mapKeyMissing: 'کلید نقشه (MAP_API_KEY) تنظیم نشده است',
|
||
mapLoading: 'در حال بارگذاری نقشه…',
|
||
mapAddressNotFound: 'آدرسی برای این نقطه پیدا نشد',
|
||
genderRestrictionLabel: 'محدودیت جنسی',
|
||
ageRestrictionLabel: 'محدودیت سنی',
|
||
cancellationFeeLabel: 'لغو لحظه آخری — ۱ دقیقه تا ۱۲ ساعت مانده',
|
||
cancellationFee12To24HoursLabel: 'لغو در آستانه برگزاری — ۱۲ تا ۲۴ ساعت مانده',
|
||
cancellationFeeMoreThan24HoursLabel: 'لغو زودهنگام — بیش از ۲۴ ساعت مانده',
|
||
discoverableLabel: 'نمایش در جستجوی عمومی',
|
||
waitlistAutoOfferLabel: 'پیشنهاد خودکار رزرو به افراد لیست انتظار',
|
||
addQuestion: 'افزودن سوال',
|
||
faqSectionDescription: 'اگر مهمانها معمولاً سؤال مشخصی دارند، همینجا پاسخ آن را اضافه کن. این بخش اختیاری است.',
|
||
questionLabel: 'سوال',
|
||
imageReadFailed: 'خواندن تصویر ناموفق بود',
|
||
portraitPosterEmpty: 'افزودن پوستر عمودی',
|
||
portraitPosterHint: 'نسبت ۹:۱۶',
|
||
squarePosterEmpty: 'افزودن پوستر مربعی',
|
||
squarePosterHint: 'نسبت ۱:۱',
|
||
galleryTitle: 'تصاویر گالری',
|
||
galleryHint: 'بدون کراپ و بدون قفل نسبت. برای صفحهٔ رویداد استفاده میشود.',
|
||
ariaRemoveGalleryImage: 'حذف تصویر گالری',
|
||
addImage: 'افزودن تصویر',
|
||
noAspectLimit: 'بدون محدودیت نسبت',
|
||
preparingImage: 'در حال آمادهسازی تصویر…',
|
||
uploading: 'در حال آپلود...',
|
||
cancelCurrentUpload: 'لغو عملیات',
|
||
confirmUpload: 'تایید و آپلود',
|
||
cropPortraitTitle: 'برش پوستر عمودی (۹:۱۶)',
|
||
cropSquareTitle: 'برش پوستر مربعی (۱:۱)',
|
||
cropSquareFromPortraitHint: 'همین عکس را مربعی ببر، یا عکس دیگری برای کارت مربعی انتخاب کن.',
|
||
cropPortraitHint: 'پوستر کارتهای عمودی با نسبت ۹:۱۶ برش داده میشود.',
|
||
pickOtherSquarePoster: 'انتخاب عکس دیگر برای پوستر مربعی',
|
||
change: 'تغییر',
|
||
editEventTitle: 'ویرایش',
|
||
invalidEventId: 'شناسه رویداد نامعتبر است',
|
||
eventLoadFailed: 'بارگذاری رویداد ناموفق بود',
|
||
eventUpdated: 'رویداد بهروزرسانی شد',
|
||
eventUpdateFailed: 'ذخیره تغییرات ناموفق بود',
|
||
createEventTitle: 'رویداد جدید',
|
||
createEventSuccess: 'رویداد ساخته شد؛ میزبان باید آن را منتشر کند',
|
||
createEventFailed: 'ساخت رویداد ناموفق بود',
|
||
createEventHostRequired: 'یک میزبان تأییدشده انتخاب کنید',
|
||
createEventHostSectionTitle: 'میزبان رویداد',
|
||
createEventHostSectionDescription:
|
||
'رویداد به نام این میزبان ساخته میشود، از قبل تأیید میشود و پیامک اطلاعرسانی برای او ارسال میگردد. انتشار با خود میزبان است.',
|
||
createEventHostPickerLabel: 'انتخاب میزبان تأییدشده',
|
||
createEventHostPickerPlaceholder: 'میزبان را انتخاب کنید',
|
||
createEventHostSearchPlaceholder: 'جستجو با موبایل، نام یا نام خانوادگی',
|
||
createEventHostSearchEmpty: 'میزبان تأییدشدهای پیدا نشد',
|
||
createEventHostSearchFailed: 'دریافت لیست میزبانها ناموفق بود',
|
||
reservedCapacityLabel: 'ظرفیت رزروشده (خارج از قبیله)',
|
||
createEventSubmit: 'ساخت رویداد تأییدشده',
|
||
createEventApprovedHint: 'پس از ساخت، وضعیت پیشنویس تأییدشده است و فقط میزبان میتواند آن را منتشر کند.',
|
||
editStatusBlocked: 'این رویداد در وضعیت «{status}» دیگر قابل ویرایش نیست.',
|
||
capacityBelowOccupied: 'ظرفیت نمیتواند کمتر از صندلیهای اشغالشده ({min}) باشد',
|
||
basicInfoCardTitle: 'اطلاعات پایه',
|
||
basicInfoCardDescription: 'عنوان، دستهبندی و توضیحات اصلی رویداد',
|
||
slugLockedHint: 'پس از انتشار، تغییر اسلاگ تا تایید ادمین روی لینک عمومی اعمال نمیشود.',
|
||
slugFormatHint: 'فقط حروف کوچک انگلیسی، عدد و خط تیره',
|
||
slugFieldLabel: 'اسلاگ',
|
||
pricingCardTitle: 'قیمت و ظرفیت',
|
||
isFreeLabel: 'رویداد رایگان',
|
||
priceTomanLabel: 'قیمت (تومان)',
|
||
autoCreateGroupAfterEndLabel: 'ساخت خودکار گروه چت بعد از پایان رویداد',
|
||
sendReviewSmsAfterEndLabel: 'ارسال پیامک درخواست نظر بعد از پایان رویداد',
|
||
editLockedWithBookings:
|
||
'این رویداد {count} رزرو فعال دارد؛ زمان، مکان، قیمت، هزینهٔ کنسلی، محدودیت جنسی/سنی و تنظیمات رفتاری قفل شدهاند.',
|
||
editMediaCardTitle: 'پوستر و تصاویر',
|
||
editFaqCardTitle: 'سوالات متداول',
|
||
reservedCapacityEditHint: 'ظرفیت رزرو شده: {count} نفر (مهمانهای خارج از قبیله). تغییر این عدد از صفحه مدیریت ایونت انجام میشود.',
|
||
revisionApproveSuccess: 'ویرایش تایید و روی رویداد اعمال شد',
|
||
revisionRejectSuccess: 'ویرایش رد شد؛ نسخهٔ عمومی قبلی باقی ماند',
|
||
revisionPendingCardTitle: 'ویرایش در انتظار تایید',
|
||
revisionApprove: 'تایید و اعمال ویرایش',
|
||
revisionReject: 'رد ویرایش',
|
||
revisionRejectReasonLabel: 'دلیل رد',
|
||
revisionLoadFailed: 'بارگذاری ویرایش ناموفق بود',
|
||
genderOpen: 'آزاد برای عموم',
|
||
genderFemaleOnly: 'خانمها',
|
||
genderMaleOnly: 'آقایان',
|
||
age15_19: '۱۵-۱۹ سال',
|
||
age20_24: '۲۰-۲۴ سال',
|
||
age25Plus: '+۲۵',
|
||
remainingCapacity: '{count} نفر باقیمانده',
|
||
eventIsFreeTitle: 'این ایونت رایگان است',
|
||
percentOff: '{value}٪ تخفیف',
|
||
amountOff: '{value} تخفیف',
|
||
discountTypePercent: 'درصدی',
|
||
discountTypeFixed: 'مبلغی (تومان)',
|
||
bearerPlatform: 'پلتفرم',
|
||
discountsLoadFailed: 'دریافت کدهای تخفیف ناموفق بود.',
|
||
discountValueRequired: 'مقدار تخفیف را وارد کنید',
|
||
discountPercentRange: 'درصد تخفیف باید بین ۱ تا ۹۹ باشد',
|
||
discountCountRequired: 'تعداد کد را وارد کنید',
|
||
discountCreateFailed: 'ساخت کد تخفیف ناموفق بود',
|
||
discountCreatedCount: '{count} کد تخفیف ساخته شد',
|
||
discountToggleAfterEnd: 'بعد از پایان رویداد نمیتوان وضعیت کد را تغییر داد',
|
||
discountToggleFailed: 'تغییر وضعیت کد ناموفق بود',
|
||
discountDeleteAfterEnd: 'بعد از پایان رویداد نمیتوان کد را حذف کرد',
|
||
discountDeleteUsed: 'کد استفادهشده قابل حذف نیست',
|
||
discountDeleteFailed: 'حذف کد ناموفق بود',
|
||
discountDeleted: 'کد تخفیف حذف شد',
|
||
codesCopied: 'کدها کپی شد',
|
||
copyFailed: 'کپی ناموفق بود',
|
||
freeEventNoDiscounts: 'برای ایونت رایگان امکان تعریف کد تخفیف وجود ندارد.',
|
||
activeCodes: 'کدهای فعال',
|
||
redemptionCount: 'دفعات استفاده',
|
||
totalDiscount: 'مجموع تخفیف',
|
||
platformDiscountShare: 'سهم پلتفرم از تخفیف',
|
||
createDiscountTitle: 'ساخت کد تخفیف',
|
||
createDiscountIntro: 'میتوانید یک یا چند کد یکتا بسازید و در اختیار مهمانان بگذارید. کد در صفحه پرداخت اعمال میشود.',
|
||
createDiscountEnded: 'این ایونت به پایان رسیده است و امکان ساخت کد تخفیف تازه وجود ندارد.',
|
||
discountTypeLabel: 'نوع تخفیف',
|
||
discountPercentValueLabel: 'درصد تخفیف (۱ تا ۹۹)',
|
||
discountFixedValueLabel: 'مبلغ تخفیف (تومان)',
|
||
uniqueCodeCountLabel: 'تعداد کد یکتا',
|
||
bearerLabel: 'هزینه تخفیف بر عهده',
|
||
bearerPlatformHint: 'در حالت پلتفرم، تخفیف ابتدا از کمیسیون کسر میشود.',
|
||
advancedSettingsOpen: 'تنظیمات پیشرفته (محدودیت استفاده)',
|
||
advancedSettingsClose: 'بستن تنظیمات پیشرفته',
|
||
maxUsesLabel: 'حداکثر دفعات استفاده (اختیاری)',
|
||
maxUsesPerUserLabel: 'حداکثر استفاده هر کاربر (اختیاری)',
|
||
unlimitedPlaceholder: 'نامحدود',
|
||
codesCreatedCount: '{count} کد ساخته شد',
|
||
copyAll: 'کپی همه',
|
||
definedCodesTitle: 'کدهای تعریفشده',
|
||
noDiscountCodes: 'هنوز کد تخفیفی برای این ایونت ساخته نشده است.',
|
||
platformCostChip: 'هزینه پلتفرم',
|
||
createdLabel: 'ساخت',
|
||
eventEndedShort: 'رویداد پایان یافته',
|
||
availableToGuests: 'در دسترس مهمانان',
|
||
deactivated: 'غیرفعال شده',
|
||
redeemedCodesTitle: 'کدهای استفادهشده ({count})',
|
||
payableAmount: 'پرداختی: {amount}',
|
||
discountUpdateFailed: 'بهروزرسانی کد تخفیف ناموفق بود',
|
||
categoriesListFailed: 'دریافت لیست دستهبندیها ناموفق بود',
|
||
categoryCreateFailed: 'ایجاد دستهبندی ناموفق بود',
|
||
categoryUpdateFailed: 'ویرایش دستهبندی ناموفق بود',
|
||
categoryDeleteFailed: 'حذف دستهبندی ناموفق بود',
|
||
} as const
|