2a24798a59
CI/CD / CI · API (dotnet build + test) (push) Successful in 44s
CI/CD / CI · Admin API (dotnet build) (push) Successful in 31s
CI/CD / CI · Dashboard (tsc) (push) Successful in 1m11s
CI/CD / CI · Admin Web (tsc) (push) Successful in 38s
CI/CD / CI · Website (tsc) (push) Successful in 46s
CI/CD / CI · Koja (tsc) (push) Successful in 50s
CI/CD / Deploy · all services (push) Successful in 3m39s
Logs showed the raw User ID (ActorName was almost never stored) and an English role enum. Now: - AuditController resolves each entry's actor to the employee's CURRENT full name and localized role at read time (joins Employees with IgnoreQueryFilters, so it also names soft-deleted staff and fixes all historical rows — no migration). - The audit table renders "Full name (Role)" with the role localized (fa/en/ar); the name is a button that opens an employee-details dialog. - New EmployeeDetailsDialog: fetches the employee and shows name, role, phone, base salary, and an "Open in HR" link; handles removed staff gracefully. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2017 lines
92 KiB
JSON
2017 lines
92 KiB
JSON
{
|
||
"common": {
|
||
"save": "ذخیره",
|
||
"close": "بستن",
|
||
"cancel": "انصراف",
|
||
"confirm": "تأیید",
|
||
"delete": "حذف",
|
||
"search": "جستجو",
|
||
"loading": "در حال بارگذاری...",
|
||
"logout": "خروج",
|
||
"language": "زبان",
|
||
"comingSoon": "بهزودی",
|
||
"edit": "ویرایش"
|
||
},
|
||
"confirm": {
|
||
"title": "تأیید عملیات",
|
||
"confirm": "تأیید",
|
||
"cancel": "انصراف"
|
||
},
|
||
"notify": {
|
||
"saved": "ذخیره شد",
|
||
"errorGeneric": "خطایی رخ داد. دوباره تلاش کنید."
|
||
},
|
||
"errors": {
|
||
"planLimit": "به سقف پلن رسیدهاید. برای ادامه ارتقا دهید",
|
||
"notFound": "یافت نشد",
|
||
"unauthorized": "دسترسی ندارید",
|
||
"network": "خطای ارتباط با سرور",
|
||
"generic": "خطایی رخ داد. دوباره تلاش کنید.",
|
||
"OFFLINE_UNAVAILABLE": "برای این کار به اینترنت نیاز است. لطفاً پس از اتصال دوباره تلاش کنید."
|
||
},
|
||
"brand": {
|
||
"name": "میزی"
|
||
},
|
||
"languages": {
|
||
"fa": "فارسی",
|
||
"ar": "العربية",
|
||
"en": "English"
|
||
},
|
||
"auth": {
|
||
"title": "ورود به میزی",
|
||
"subtitle": "کد تأیید به موبایل شما ارسال میشود",
|
||
"redirecting": "قبلاً وارد شدهاید — در حال انتقال…",
|
||
"phone": "شماره موبایل",
|
||
"phonePlaceholder": "۰۹۱۲۱۲۳۴۵۶۷",
|
||
"sendOtp": "ارسال کد",
|
||
"otp": "کد تأیید",
|
||
"otpPlaceholder": "۶ رقم",
|
||
"verify": "ورود",
|
||
"resend": "ارسال مجدد",
|
||
"rateLimited": "تعداد درخواست کد بیش از حد است. حداکثر یک ساعت صبر کنید یا با پشتیبانی تماس بگیرید.",
|
||
"notFound": "حسابی با این شماره موبایل یافت نشد.",
|
||
"smsFailed": "ارسال پیامک ناموفق بود. دوباره تلاش کنید.",
|
||
"invalidOtp": "کد تأیید نادرست یا منقضی شده است.",
|
||
"register": "ثبتنام",
|
||
"registerSubtitle": "کافه خود را در میزی ثبت کنید",
|
||
"cafeName": "نام کافه یا رستوران",
|
||
"cafeNamePlaceholder": "مثال: کافه رویا",
|
||
"createAccount": "ایجاد حساب",
|
||
"alreadyHaveAccount": "حساب دارید؟",
|
||
"loginLink": "ورود",
|
||
"noAccount": "حساب ندارید؟",
|
||
"registerLink": "ثبتنام",
|
||
"alreadyRegistered": "این شماره قبلاً ثبتنام کرده است. لطفاً وارد شوید.",
|
||
"registrationExpired": "زمان ثبتنام منقضی شد. دوباره تلاش کنید.",
|
||
"chooseCafe": "انتخاب کافه",
|
||
"chooseCafeSubtitle": "این شماره به چند کافه دسترسی دارد. یکی را انتخاب کنید.",
|
||
"createNewCafe": "ایجاد کافه جدید",
|
||
"createNewCafeHint": "میخواهید کافه خودتان را با همین شماره راهاندازی کنید؟",
|
||
"tabOtp": "کد یکبارمصرف",
|
||
"tabPassword": "رمز عبور",
|
||
"username": "نام کاربری",
|
||
"usernamePlaceholder": "نام کاربری",
|
||
"password": "رمز عبور",
|
||
"passwordPlaceholder": "رمز عبور",
|
||
"invalidCredentials": "نام کاربری یا رمز عبور اشتباه است.",
|
||
"invalidKey": "کلید بازیابی نامعتبر است.",
|
||
"recoveryKey": "کلید بازیابی",
|
||
"keyHint": "کلید بازیابی را که از پشتیبانی میزی دریافت کردهاید وارد کنید.",
|
||
"useRecoveryKey": "دسترسی ندارید؟ ورود با کلید بازیابی",
|
||
"backToNormalLogin": "بازگشت به ورود عادی",
|
||
"kojaSlug": "آدرس پروفایل در کوجا",
|
||
"kojaSlugHint": "بازدیدکنندگان از این آدرس کافه شما را پیدا میکنند",
|
||
"kojaSlugPlaceholder": "مثال: cafe-roya"
|
||
},
|
||
"roles": {
|
||
"owner": "مالک",
|
||
"manager": "مدیر",
|
||
"cashier": "صندوقدار",
|
||
"waiter": "گارسون",
|
||
"chef": "آشپز",
|
||
"delivery": "پیک",
|
||
"unknown": "کاربر"
|
||
},
|
||
"branchSwitcher": {
|
||
"title": "شعبه فعال",
|
||
"allBranches": "همه شعب",
|
||
"selectBranch": "انتخاب شعبه"
|
||
},
|
||
"branchAccess": {
|
||
"title": "دسترسی شعب",
|
||
"staff": "کارکنان",
|
||
"noStaff": "کارمندی ثبت نشده است",
|
||
"selectStaff": "یک کارمند را برای مدیریت دسترسی انتخاب کنید",
|
||
"ownerNote": "مالک به همه شعب دسترسی دارد و نیازی به تعیین نقش شعبهای ندارد.",
|
||
"noAssignments": "هنوز نقشی برای شعبهای تعیین نشده است",
|
||
"loading": "در حال بارگذاری...",
|
||
"branch": "شعبه",
|
||
"role": "نقش",
|
||
"selectBranch": "انتخاب شعبه",
|
||
"add": "افزودن",
|
||
"remove": "حذف"
|
||
},
|
||
"access": {
|
||
"deniedTitle": "دسترسی به این صفحه ندارید",
|
||
"deniedBody": "نقش شما اجازه مشاهده این صفحه را ندارد. در صورت نیاز با مدیر یا مالک هماهنگ کنید."
|
||
},
|
||
"nav": {
|
||
"aria": "منوی اصلی",
|
||
"collapseSidebar": "جمع کردن نوار کناری",
|
||
"expandSidebar": "باز کردن نوار کناری",
|
||
"groups": {
|
||
"customers": "مشتریان و بازاریابی",
|
||
"management": "مدیریت کافه"
|
||
},
|
||
"home": "داشبورد",
|
||
"pos": "صندوق",
|
||
"tables": "میزها",
|
||
"crm": "مشتریان",
|
||
"coupons": "کوپنها",
|
||
"menu": "منو",
|
||
"inventory": "انبار",
|
||
"hr": "منابع انسانی",
|
||
"reports": "گزارشها",
|
||
"expenses": "هزینهها",
|
||
"shifts": "بستن شیفت",
|
||
"reviews": "نظرات",
|
||
"reservations": "رزرو",
|
||
"sms": "پیامک",
|
||
"taxes": "مالیات",
|
||
"branches": "شعب",
|
||
"subscription": "اشتراک و پلن",
|
||
"support": "پشتیبانی",
|
||
"settings": "تنظیمات",
|
||
"kds": "آشپزخانه",
|
||
"notifications": "اعلانها",
|
||
"queue": "نوبتدهی",
|
||
"discover": "کشف کافهها"
|
||
},
|
||
"dashboard": {
|
||
"cafeName": "کافه دمو",
|
||
"planPro": "پرو",
|
||
"online": "متصل",
|
||
"offline": "آفلاین",
|
||
"activePlan": "پلن فعال",
|
||
"editCafeSettings": "تنظیمات کافه",
|
||
"viewSubscription": "اشتراک و پلن",
|
||
"switchCafe": "تغییر کافه",
|
||
"currentCafe": "کافه فعلی",
|
||
"otherCafes": "کافههای دیگر",
|
||
"createNewCafe": "ایجاد کافه جدید",
|
||
"openMenu": "منو",
|
||
"switchCafeError": "تغییر کافه ناموفق بود. دوباره تلاش کنید."
|
||
},
|
||
"overview": {
|
||
"title": "خانه",
|
||
"greeting": "خوشآمدید",
|
||
"todayRevenue": "فروش امروز",
|
||
"todayOrders": "سفارشهای امروز",
|
||
"netIncome": "درآمد خالص",
|
||
"avgOrder": "میانگین سفارش",
|
||
"revenueChart": "روند فروش ۷ روز",
|
||
"tableStatus": "وضعیت میزها",
|
||
"tableFree": "آزاد",
|
||
"tableBusy": "اشغال",
|
||
"tableCleaning": "نظافت",
|
||
"tableTotal": "کل میزها",
|
||
"topProducts": "پرفروشترین آیتمها",
|
||
"vsYesterday": "نسبت به دیروز",
|
||
"noData": "دادهای موجود نیست",
|
||
"quickLinks": "دسترسی سریع",
|
||
"unit": "قلم"
|
||
},
|
||
"pos": {
|
||
"order": "سفارش",
|
||
"table": "میز",
|
||
"total": "مبلغ نهایی",
|
||
"subtotal": "جمع جزء",
|
||
"tax": "مالیات",
|
||
"discount": "تخفیف",
|
||
"confirmOrder": "ثبت و پرداخت",
|
||
"modeOrder": "ثبت سفارش",
|
||
"modePay": "پرداخت",
|
||
"takeOrder": "سفارشگیری",
|
||
"submitOrder": "ثبت سفارش",
|
||
"submitOrderAndPay": "ثبت سفارش و پرداخت",
|
||
"orderPaidNew": "سفارش ثبت و پرداخت شد",
|
||
"orderPaidAdd": "آیتمها ثبت و پرداخت شد",
|
||
"posDeviceSent": "مبلغ به دستگاه پوز ارسال شد",
|
||
"posDeviceError": "ارسال به دستگاه پوز ناموفق بود",
|
||
"posDeviceNotConfigured": "دستگاه پوز تنظیم نشده — فقط پرداخت در سیستم ثبت شد",
|
||
"posDeviceConnectionFailed": "اتصال به دستگاه پوز برقرار نشد",
|
||
"posDeviceTimeout": "زمان انتظار دستگاه پوز تمام شد",
|
||
"posDeviceRejected": "دستگاه پوز پرداخت را رد کرد",
|
||
"posDeviceNoBranch": "شعبه برای ارسال به پوز مشخص نیست",
|
||
"kitchenSlip": "فیش آشپزخانه (پیشنمایش و چاپ)",
|
||
"queueNumber": "نوبت {number}",
|
||
"orderPlaced": "سفارش ثبت شد — برای دریافت وجه به «پرداخت» بروید",
|
||
"guestName": "نام مهمان",
|
||
"guestNamePlaceholder": "مثلاً علی",
|
||
"needTableOrName": "میز، مشتری، یا نام مهمان را وارد کنید",
|
||
"openOrders": "سفارشهای باز",
|
||
"openOrdersHint": "سفارشهایی که هنوز پرداخت نشدهاند",
|
||
"noOpenOrders": "سفارش بازی برای پرداخت نیست",
|
||
"payOrder": "پرداخت",
|
||
"payFor": "پرداخت برای",
|
||
"selectOrderToPay": "یک سفارش از لیست انتخاب کنید",
|
||
"confirmPay": "دریافت وجه",
|
||
"confirmPayCash": "دریافت وجه (نقد)",
|
||
"confirmPayCard": "دریافت وجه (کارت)",
|
||
"confirmPayCredit": "دریافت وجه (اعتبار)",
|
||
"confirmPaySplit": "دریافت وجه (ترکیبی)",
|
||
"previewBill": "پیشنمایش و چاپ صورتحساب",
|
||
"paySuccess": "پرداخت ثبت شد",
|
||
"payError": "خطا در ثبت پرداخت",
|
||
"payNeedsOpenShift": "ابتدا صندوق این شعبه را باز کنید (شیفت)",
|
||
"cancelOrder": "لغو سفارش (بدون پرداخت)",
|
||
"cancelOrderConfirm": "مشتری بدون پرداخت رفته است؟ سفارش لغو میشود و میز آزاد میشود.",
|
||
"cancelOrderSuccess": "سفارش لغو شد",
|
||
"cancelOrderError": "لغو سفارش ناموفق بود",
|
||
"cancelReasonPlaceholder": "دلیل لغو (اختیاری)",
|
||
"cancelOrderHasPayments": "ابتدا پرداختهای ثبتشده را بازگردانید، سپس سفارش را لغو کنید",
|
||
"itemsCount": "قلم",
|
||
"applyCoupon": "اعمال کوپن",
|
||
"couponPlaceholder": "کد کوپن",
|
||
"couponCode": "کد کوپن",
|
||
"selectTable": "میز",
|
||
"emptyCart": "سبد خالی است",
|
||
"cash": "نقد",
|
||
"card": "کارت",
|
||
"clearCart": "پاک کردن",
|
||
"allCategories": "همه",
|
||
"searchItems": "جستجوی آیتم",
|
||
"searchItemsPlaceholder": "نام آیتم را جستجو کنید…",
|
||
"searchNoResults": "آیتمی با این عبارت یافت نشد",
|
||
"reservationBanner": "رزرو: {name} — آیتمها را اضافه کنید و «ثبت و پرداخت» بزنید",
|
||
"orderSuccess": "سفارش ثبت شد",
|
||
"orderError": "خطا در ثبت سفارش",
|
||
"orderInvalid": "سفارش نامعتبر است (منو یا میز را بررسی کنید)",
|
||
"orderNotOpen": "این سفارش دیگر باز نیست",
|
||
"orderValidation": "اطلاعات سفارش نامعتبر است",
|
||
"nothingPending": "آیتم جدیدی برای ارسال به آشپزخانه نیست",
|
||
"couponApplied": "کوپن «{code}» اعمال شد — {amount} تخفیف",
|
||
"couponActive": "کوپن {code}",
|
||
"couponRemoved": "کوپن حذف شد",
|
||
"removeCoupon": "حذف",
|
||
"couponInvalid": "کد کوپن نامعتبر است",
|
||
"couponExpired": "این کوپن منقضی شده است",
|
||
"couponNotStarted": "این کوپن هنوز فعال نیست",
|
||
"couponLimitReached": "سقف استفاده از این کوپن پر شده",
|
||
"couponMinOrder": "حداقل مبلغ سفارش برای این کوپن رعایت نشده",
|
||
"couponCartEmpty": "ابتدا آیتم به سبد اضافه کنید",
|
||
"couponRequired": "کد کوپن را وارد کنید",
|
||
"guestPhone": "موبایل مهمان",
|
||
"guestPhonePlaceholder": "09121234567",
|
||
"selectTableBoard": "انتخاب میز",
|
||
"loadingTables": "بارگذاری میزها...",
|
||
"selectBranchForTables": "ابتدا شعبه را انتخاب کنید",
|
||
"noTablesOnBoard": "میزی برای این شعبه ثبت نشده. از بخش میزها میز اضافه کنید.",
|
||
"tablesLoadError": "بارگذاری میزها ناموفق بود",
|
||
"retryTables": "تلاش مجدد",
|
||
"manageTablesLink": "رفتن به مدیریت میزها",
|
||
"sessionActive": "سفارش فعال روی میز",
|
||
"addToOrder": "به سفارش میز اضافه شد",
|
||
"void": "ابطال",
|
||
"voidItem": "ابطال آیتم",
|
||
"voided": "ابطال شده",
|
||
"itemNotePlaceholder": "یادداشت برای آشپزخانه/بار (اختیاری)",
|
||
"confirmVoid": "آیا مطمئن هستید که میخواهید این آیتم را ابطال کنید؟",
|
||
"voidError": "خطا در ابطال آیتم",
|
||
"transferTable": "انتقال میز",
|
||
"selectTargetTable": "میز مقصد را انتخاب کنید",
|
||
"transferSuccess": "سفارش با موفقیت منتقل شد",
|
||
"transferError": "خطا در انتقال میز",
|
||
"tableNotAvailable": "میز در حال نظافت است",
|
||
"tableOccupied": "میز مشغول است",
|
||
"searchOpenOrder": "میز، نام، موبایل یا شناسه سفارش...",
|
||
"paidSoFar": "پرداختشده",
|
||
"remaining": "مانده",
|
||
"loyaltyBalance": "امتیاز مشتری: {points}",
|
||
"loyaltyUseMax": "حداکثر",
|
||
"loyaltyRedeemHint": "هر ۱ امتیاز = ۱۰۰ ت تخفیف روی همین پرداخت",
|
||
"loyaltyRedeemApplied": "تخفیف امتیاز",
|
||
"loyaltyNoCustomer": "برای استفاده از امتیاز، مشتری را به سفارش وصل کنید",
|
||
"loyaltyInsufficient": "امتیاز کافی نیست",
|
||
"splitPayments": "پرداخت ترکیبی",
|
||
"addPaymentRow": "ردیف پرداخت",
|
||
"credit": "اعتبار",
|
||
"paySelectTable": "انتخاب میز (اشغال)",
|
||
"payPickByName": "یا از نام / لیست سفارشهای باز",
|
||
"payOpenOrdersHint": "میز اشغال را بزنید، از منوی میز انتخاب کنید، یا نام/موبایل را جستجو کنید",
|
||
"allTables": "همه میزها",
|
||
"noOrderOnTable": "سفارش بازی روی این میز نیست",
|
||
"noOpenOrdersOnTable": "سفارش بازی برای این میز نیست",
|
||
"customerSection": "مشتری",
|
||
"existingCustomer": "مشتری موجود",
|
||
"newCustomer": "مهمان جدید",
|
||
"customerSearchPlaceholder": "نام، موبایل یا کد ملی...",
|
||
"customerSearchHint": "حداقل ۲ حرف برای جستجو",
|
||
"customerNotFound": "مشتری یافت نشد — مهمان جدید ثبت کنید",
|
||
"customerSaved": "مشتری در CRM ذخیره شد",
|
||
"customerSaveError": "خطا در ذخیره مشتری",
|
||
"customerPhoneExists": "این موبایل قبلاً ثبت شده — از جستجو انتخاب کنید",
|
||
"newCustomerHint": "میتوانید فقط برای این سفارش نام بزنید یا با «افزودن مشتری» در CRM ذخیره کنید",
|
||
"offlineQueueNotice": "آفلاین ‐ سفارش در صف ذخیره شد و پس از اتصال ارسال میشود",
|
||
"orderTypePicker": "سفارش چطور ثبت میشود؟",
|
||
"orderTypeTable": "میز",
|
||
"orderTypeTableDesc": "مهمان روی میز مینشیند",
|
||
"orderTypeCounter": "پیشخوان",
|
||
"orderTypeCounterDesc": "بدون تخصیص میز",
|
||
"orderTypeTakeaway": "بیرونبر",
|
||
"orderTypeTakeawayDesc": "سفارش برای بیرون",
|
||
"counterBadge": "پیشخوان",
|
||
"takeawayBadge": "بیرونبر",
|
||
"assignTable": "تخصیص میز",
|
||
"newOrder": "سفارش جدید"
|
||
},
|
||
"print": {
|
||
"printReceipt": "چاپ رسید",
|
||
"printKitchen": "ارسال به آشپزخانه",
|
||
"success": "رسید با موفقیت چاپ شد",
|
||
"notConfigured": "آدرس پرینتر تنظیم نشده است",
|
||
"connectionFailed": "خطا در اتصال به پرینتر",
|
||
"testPrint": "تست پرینت",
|
||
"printerSettings": "تنظیمات پرینتر",
|
||
"receiptPrinter": "پرینتر رسید",
|
||
"kitchenPrinter": "پرینتر آشپزخانه",
|
||
"paperWidth": "عرض کاغذ",
|
||
"autoCut": "برش خودکار",
|
||
"port": "پورت",
|
||
"receiptHeader": "سرتیتر رسید",
|
||
"receiptFooter": "پاورقی رسید",
|
||
"wifiOnReceipt": "رمز WiFi روی رسید",
|
||
"saveSettings": "ذخیره تنظیمات",
|
||
"settingsSaved": "تنظیمات پرینتر ذخیره شد",
|
||
"noBranchForPrinter": "برای تنظیم پرینتر ابتدا یک شعبه در سیستم ثبت کنید.",
|
||
"testPageHint": "یک رسید تست به پرینترهای ذخیرهشده ارسال میشود. ابتدا IP و پورت را در تنظیمات پرینتر وارد کنید.",
|
||
"testPrintReceipt": "چاپ تست رسید",
|
||
"testPrintKitchen": "چاپ تست آشپزخانه",
|
||
"configurePrinters": "رفتن به تنظیمات پرینتر",
|
||
"posDeviceSection": "دستگاه پوز (کارتخوان)",
|
||
"posDeviceHint": "هنگام پرداخت کارتی، مبلغ به آدرس HTTP دستگاه ارسال میشود (POST /pay).",
|
||
"posDeviceIp": "آدرس IP دستگاه پوز",
|
||
"testSent": "تست به پرینتر ارسال شد.",
|
||
"stations": {
|
||
"title": "ایستگاههای چاپ آشپزخانه و بار",
|
||
"subtitle": "برای هر بخش آمادهسازی یک پرینتر جدا بگذارید و دستههای منو را به آن وصل کنید.",
|
||
"help": "یک ایستگاه (مثلاً آشپزخانه یا بار) با پرینتر مخصوص خودش بسازید، سپس در «منو» برای هر دسته ایستگاه چاپ را انتخاب کنید — غذا ← آشپزخانه، نوشیدنی ← بار. آیتمهای دستههایی که ایستگاه ندارند روی پرینتر آشپزخانهٔ شعبه چاپ میشوند. فاکتور مشتری همیشه روی پرینتر فاکتور چاپ میشود.",
|
||
"add": "افزودن ایستگاه",
|
||
"name": "نام ایستگاه",
|
||
"namePlaceholder": "مثلاً آشپزخانه، بار",
|
||
"printerIp": "آیپی پرینتر",
|
||
"noPrinter": "بدون پرینتر — از پرینتر آشپزخانه استفاده میشود",
|
||
"categoryCount": "{count} دسته",
|
||
"test": "تست",
|
||
"empty": "هنوز ایستگاهی ندارید. «آشپزخانه» و «بار» را اضافه کنید تا آیتمهایشان جدا چاپ شود.",
|
||
"deleteConfirm": "ایستگاه «{name}» حذف شود؟ دستههای آن به پرینتر آشپزخانه برمیگردند.",
|
||
"saveError": "ذخیرهٔ ایستگاه ناموفق بود."
|
||
}
|
||
},
|
||
"receipt": {
|
||
"table": "میز",
|
||
"order": "سفارش",
|
||
"guest": "مهمان",
|
||
"total": "مجموع",
|
||
"print": "چاپ",
|
||
"close": "بستن",
|
||
"thankYou": "ممنون از انتخاب شما",
|
||
"kitchenTitle": "فیش آشپزخانه / بار",
|
||
"billTitle": "صورتحساب مشتری",
|
||
"kitchenFooter": "— برای آشپزخانه —",
|
||
"payment": {
|
||
"cash": "نقد",
|
||
"card": "کارت",
|
||
"credit": "اعتبار"
|
||
}
|
||
},
|
||
"crm": {
|
||
"title": "مشتریان",
|
||
"searchPlaceholder": "نام، موبایل یا کد ملی...",
|
||
"addCustomer": "مشتری جدید",
|
||
"name": "نام",
|
||
"phone": "موبایل",
|
||
"nationalId": "کد ملی",
|
||
"birthDate": "تاریخ تولد (شمسی)",
|
||
"group": "گروه",
|
||
"loyaltyPoints": "امتیاز",
|
||
"noCustomers": "مشتریای یافت نشد",
|
||
"groups": {
|
||
"Regular": "عادی",
|
||
"Vip": "ویژه",
|
||
"New": "جدید",
|
||
"Employee": "کارمند"
|
||
},
|
||
"wizard": {
|
||
"titleCreate": "ثبت مشتری جدید",
|
||
"titleEdit": "ویرایش مشتری",
|
||
"stepOf": "مرحله {current} از {total}",
|
||
"steps": {
|
||
"contact": "تماس",
|
||
"profile": "اطلاعات تکمیلی",
|
||
"loyalty": "گروه و امتیاز",
|
||
"confirm": "بازبینی"
|
||
},
|
||
"back": "قبلی",
|
||
"next": "بعدی",
|
||
"birthHint": "فرمت شمسی، مثلاً 1400/01/01",
|
||
"referredBy": "معرف (اختیاری)",
|
||
"loyaltyCreateHint": "امتیاز وفاداری پس از ثبت، از طریق سفارشها قابل تنظیم است.",
|
||
"errors": {
|
||
"duplicatePhone": "این شماره موبایل قبلاً ثبت شده است.",
|
||
"generic": "ذخیره انجام نشد. دوباره تلاش کنید."
|
||
}
|
||
},
|
||
"deleted": "مشتری حذف شد",
|
||
"deleteConfirmTitle": "حذف مشتری",
|
||
"deleteConfirmDesc": "آیا از حذف «{name}» مطمئن هستید؟"
|
||
},
|
||
"coupons": {
|
||
"title": "کوپنها",
|
||
"addCoupon": "کوپن جدید",
|
||
"code": "کد",
|
||
"type": "نوع",
|
||
"value": "مقدار",
|
||
"usage": "استفاده",
|
||
"active": "فعال",
|
||
"inactive": "غیرفعال",
|
||
"types": {
|
||
"Percentage": "درصد",
|
||
"FixedAmount": "مبلغ ثابت",
|
||
"FreeItem": "آیتم رایگان"
|
||
},
|
||
"noCoupons": "کوپنی ثبت نشده",
|
||
"deleted": "کوپن حذف شد",
|
||
"deleteConfirmTitle": "حذف کوپن",
|
||
"deleteConfirmDesc": "آیا از حذف کوپن «{code}» مطمئن هستید؟"
|
||
},
|
||
"hr": {
|
||
"title": "منابع انسانی",
|
||
"tabs": {
|
||
"attendance": "حضور و غیاب",
|
||
"leave": "مرخصی",
|
||
"payroll": "حقوق",
|
||
"access": "دسترسی شعب",
|
||
"credentials": "رمز ورود",
|
||
"team": "کارکنان"
|
||
},
|
||
"myAttendance": "حضور من",
|
||
"clockIn": "ورود",
|
||
"clockOut": "خروج",
|
||
"approve": "تأیید",
|
||
"noLeave": "درخواست مرخصی در انتظار نیست",
|
||
"paid": "پرداخت شده",
|
||
"markPaid": "ثبت پرداخت",
|
||
"employeeCount": "تعداد کارمندان",
|
||
"monthYear": "ماه حقوق",
|
||
"credentials": {
|
||
"title": "مدیریت رمز ورود کارمندان",
|
||
"subtitle": "برای هر کارمند میتوانید نام کاربری و رمز عبور تعریف کنید تا بدون نیاز به کد OTP وارد شوند.",
|
||
"selectEmployee": "ابتدا یک کارمند انتخاب کنید",
|
||
"username": "نام کاربری",
|
||
"usernamePlaceholder": "مثال: ali_barista",
|
||
"password": "رمز عبور (حداقل ۸ کاراکتر)",
|
||
"passwordPlaceholder": "رمز عبور جدید",
|
||
"set": "ذخیره رمز ورود",
|
||
"remove": "حذف رمز ورود",
|
||
"removeConfirm": "آیا مطمئنید؟ کارمند دیگر نمیتواند با رمز عبور وارد شود.",
|
||
"saved": "رمز ورود ذخیره شد.",
|
||
"removed": "رمز ورود حذف شد.",
|
||
"usernameTaken": "این نام کاربری قبلاً استفاده شده است."
|
||
},
|
||
"addEmployee": "افزودن کارمند",
|
||
"noEmployees": "هنوز کارمندی ثبت نشده است.",
|
||
"employeeCreated": "کارمند اضافه شد",
|
||
"employeeDetails": "مشخصات کارمند",
|
||
"employeeNotFound": "این کاربر دیگر فعال نیست.",
|
||
"openInHr": "مشاهده در منابع انسانی",
|
||
"save": "ذخیره",
|
||
"cancel": "انصراف",
|
||
"fields": {
|
||
"name": "نام",
|
||
"phone": "موبایل",
|
||
"role": "نقش",
|
||
"branch": "شعبه",
|
||
"branchOptional": "اختیاری",
|
||
"noBranch": "بدون شعبه",
|
||
"baseSalary": "حقوق پایه (تومان)",
|
||
"optional": "اختیاری",
|
||
"enableLogin": "ایجاد نام کاربری و رمز ورود",
|
||
"username": "نام کاربری",
|
||
"password": "رمز عبور",
|
||
"passwordHint": "حداقل ۸ کاراکتر"
|
||
},
|
||
"roles": {
|
||
"Owner": "مالک",
|
||
"Manager": "مدیر",
|
||
"Cashier": "صندوقدار",
|
||
"Waiter": "گارسون",
|
||
"Chef": "آشپز",
|
||
"Delivery": "پیک"
|
||
}
|
||
},
|
||
"reviews": {
|
||
"title": "نظرات مشتریان",
|
||
"summary": "میانگین امتیاز",
|
||
"reviewCount": "{count} نظر",
|
||
"empty": "هنوز نظری ثبت نشده است.",
|
||
"ownerReply": "پاسخ کافه",
|
||
"reply": "پاسخ دادن",
|
||
"replyPlaceholder": "پاسخ خود را بنویسید..."
|
||
},
|
||
"sms": {
|
||
"title": "پیامک بازاریابی",
|
||
"message": "متن پیام",
|
||
"messagePlaceholder": "متن پیامک را بنویسید...",
|
||
"targetGroup": "گروه هدف",
|
||
"allCustomers": "همه مشتریان",
|
||
"send": "ارسال",
|
||
"usage": "ارسالشده این ماه",
|
||
"unlimited": "نامحدود",
|
||
"sent": "ارسال شد",
|
||
"failed": "ناموفق",
|
||
"charCount": "{count} حرف",
|
||
"smsPartsHint": "{parts} پیامک",
|
||
"balance": "اعتبار حساب شما",
|
||
"balanceAmount": "{amount} ریال",
|
||
"balanceNotConfigured": "سرویس پیامک راهاندازی نشده",
|
||
"sender": "خط فرستنده",
|
||
"recipientsCount": "{count} مخاطب",
|
||
"sendConfirm": "ارسال به {count} نفر؟",
|
||
"sending": "در حال ارسال...",
|
||
"byoHint": "پیامک با حساب و خط اختصاصی خود شما ارسال میشود — هزینه ارسال مستقیماً با اپراتور پیامک شماست.",
|
||
"notConfiguredOwner": "برای ارسال پیامک ابتدا کلید API و شماره خط کاوهنگار خود را در تنظیمات بالا ثبت کنید.",
|
||
"notConfiguredStaff": "سرویس پیامک هنوز توسط مدیر کافه راهاندازی نشده است.",
|
||
"settings": {
|
||
"title": "تنظیمات سرویس پیامک",
|
||
"hint": "از پنل کاوهنگار (kavenegar.com) کلید API بسازید و همراه شماره خط خود وارد کنید.",
|
||
"apiKey": "کلید API کاوهنگار",
|
||
"apiKeyPlaceholder": "API Key",
|
||
"senderNumber": "شماره خط ارسال",
|
||
"senderPlaceholder": "10004346...",
|
||
"configured": "سرویس پیامک فعال است.",
|
||
"notConfigured": "هنوز راهاندازی نشده.",
|
||
"save": "ذخیره",
|
||
"saving": "در حال بررسی…",
|
||
"saved": "تنظیمات پیامک ذخیره شد.",
|
||
"saveFailed": "کلید API نامعتبر است یا ذخیره ناموفق بود."
|
||
}
|
||
},
|
||
"reports": {
|
||
"title": "گزارشها و تحلیل",
|
||
"subtitle": "خلاصه فروش بر اساس گزارش روزانه",
|
||
"exportCsv": "دانلود CSV",
|
||
"fromDate": "از تاریخ",
|
||
"toDate": "تا تاریخ",
|
||
"branch": "شعبه",
|
||
"allBranches": "همه شعبهها",
|
||
"preset": {
|
||
"7d": "۷ روز",
|
||
"30d": "۳۰ روز",
|
||
"90d": "۹۰ روز"
|
||
},
|
||
"kpiTotalRevenue": "کل فروش",
|
||
"kpiTotalOrders": "تعداد سفارش",
|
||
"kpiAvgOrder": "میانگین سفارش",
|
||
"kpiNetIncome": "درآمد خالص",
|
||
"kpiTotalExpenses": "جمع هزینهها",
|
||
"vsPrevious": "نسبت به دوره قبل",
|
||
"revenueChartTitle": "روند فروش روزانه",
|
||
"paymentMixTitle": "روش پرداخت",
|
||
"branchCompareTitle": "مقایسه شعب",
|
||
"topProductsTitle": "پرفروشترین محصولات",
|
||
"colProduct": "نام محصول",
|
||
"colQuantity": "تعداد",
|
||
"colRevenue": "درآمد",
|
||
"revenue": "درآمد",
|
||
"cash": "نقد",
|
||
"card": "کارت",
|
||
"credit": "اعتبار",
|
||
"noData": "دادهای نیست",
|
||
"loading": "در حال بارگذاری...",
|
||
"csvDate": "تاریخ",
|
||
"csvBranch": "شعبه",
|
||
"csvTotalRevenue": "کل فروش",
|
||
"csvTotalOrders": "تعداد سفارش",
|
||
"csvAvgOrder": "میانگین سفارش",
|
||
"csvCash": "نقد",
|
||
"csvCard": "کارت",
|
||
"csvCredit": "اعتبار",
|
||
"csvNetIncome": "درآمد خالص",
|
||
"csvVoids": "ابطالها",
|
||
"csvVoidAmount": "مبلغ ابطال",
|
||
"csvExpenses": "هزینهها",
|
||
"tabs": {
|
||
"performance": "عملکرد و سود",
|
||
"corrections": "اصلاح سند",
|
||
"auditLog": "گزارش عملیات"
|
||
},
|
||
"dailyBreakdownTitle": "ریز روزانه — فروش، هزینه و سود",
|
||
"colDate": "تاریخ",
|
||
"colOrders": "سفارشها",
|
||
"colExpenses": "هزینهها",
|
||
"colNet": "سود خالص",
|
||
"corrections": {
|
||
"date": "تاریخ",
|
||
"branch": "شعبه",
|
||
"allBranches": "همه شعبهها",
|
||
"hint": "برای اصلاح پرداختِ ثبتشده اشتباه، سفارش را پیدا کنید و «اصلاح سند» را بزنید.",
|
||
"loadFailed": "بارگذاری سفارشها ناموفق بود.",
|
||
"retry": "تلاش دوباره",
|
||
"empty": "در این روز سفارش بستهشدهای نیست.",
|
||
"colOrder": "سفارش",
|
||
"colTime": "ساعت",
|
||
"colStatus": "وضعیت",
|
||
"colTotal": "مبلغ",
|
||
"colPayments": "پرداختها",
|
||
"table": "میز",
|
||
"statusPaid": "تسویهشده",
|
||
"statusCancelled": "لغوشده",
|
||
"correctAction": "اصلاح سند",
|
||
"prevPage": "قبلی",
|
||
"nextPage": "بعدی",
|
||
"dialogTitle": "اصلاح سند پرداخت",
|
||
"orderTotal": "مبلغ سفارش",
|
||
"voidSection": "پرداختهای اشتباه (برای ابطال انتخاب کنید)",
|
||
"replacementSection": "پرداختهای جایگزین",
|
||
"addReplacement": "افزودن",
|
||
"noReplacements": "اگر فقط ابطال میکنید، چیزی اضافه نکنید.",
|
||
"method": "روش پرداخت",
|
||
"amount": "مبلغ (تومان)",
|
||
"removeReplacement": "حذف ردیف",
|
||
"reason": "دلیل اصلاح (الزامی)",
|
||
"reasonPlaceholder": "مثلاً: بهاشتباه نقد ثبت شده بود، پرداخت با کارت بود",
|
||
"paidAfter": "جمع پرداختی پس از اصلاح",
|
||
"shortBy": "کسری نسبت به مبلغ سفارش",
|
||
"overBy": "مازاد نسبت به مبلغ سفارش",
|
||
"cancel": "انصراف",
|
||
"submit": "ثبت اصلاح",
|
||
"saved": "اصلاح سند ثبت شد.",
|
||
"saveFailed": "ثبت اصلاح ناموفق بود."
|
||
},
|
||
"auditLog": {
|
||
"category": "دسته",
|
||
"allCategories": "همه",
|
||
"categories": {
|
||
"Payment": "پرداخت",
|
||
"Order": "سفارش",
|
||
"Register": "صندوق",
|
||
"Staff": "کارکنان"
|
||
},
|
||
"fromDate": "از تاریخ",
|
||
"toDate": "تا تاریخ",
|
||
"branch": "شعبه",
|
||
"allBranches": "همه شعبهها",
|
||
"loadFailed": "بارگذاری گزارش عملیات ناموفق بود.",
|
||
"retry": "تلاش دوباره",
|
||
"empty": "موردی ثبت نشده است.",
|
||
"colTime": "زمان",
|
||
"colCategory": "دسته",
|
||
"colActor": "کاربر",
|
||
"colSummary": "شرح",
|
||
"details": "جزئیات",
|
||
"systemActor": "سیستم",
|
||
"unknownActor": "کاربر نامشخص",
|
||
"prevPage": "قبلی",
|
||
"nextPage": "بعدی"
|
||
}
|
||
},
|
||
"shifts": {
|
||
"title": "شیفت صندوق",
|
||
"subtitle": "باز و بستن صندوق روزانه",
|
||
"branch": "شعبه",
|
||
"openShift": "باز کردن شیفت",
|
||
"shiftOpen": "شیفت باز است",
|
||
"startShift": "شروع شیفت",
|
||
"closeShift": "بستن شیفت",
|
||
"confirmClose": "تأیید بستن",
|
||
"openingCash": "موجودی اول صندوق",
|
||
"expectedCash": "مبلغ مورد انتظار",
|
||
"countedCash": "نقد شمارششده",
|
||
"opened": "شیفت باز شد",
|
||
"closed": "شیفت بسته شد"
|
||
},
|
||
"expenses": {
|
||
"title": "هزینهها",
|
||
"subtitle": "ثبت و پیگیری هزینههای شعبه",
|
||
"addExpense": "ثبت هزینه",
|
||
"listTitle": "لیست هزینهها",
|
||
"branch": "شعبه",
|
||
"fromDate": "از تاریخ",
|
||
"toDate": "تا تاریخ",
|
||
"periodTotal": "جمع دوره",
|
||
"category": "دسته",
|
||
"amount": "مبلغ",
|
||
"note": "توضیح",
|
||
"notePlaceholder": "اختیاری",
|
||
"linkOpenShift": "کسر از صندوق باز (برداشت نقدی)",
|
||
"noOpenShift": "صندوق باز نیست — هزینه بدون ارتباط با شیفت ثبت میشود",
|
||
"colDate": "تاریخ",
|
||
"colCategory": "دسته",
|
||
"colNote": "توضیح",
|
||
"colAmount": "مبلغ",
|
||
"loading": "در حال بارگذاری...",
|
||
"empty": "هزینهای ثبت نشده",
|
||
"rowCount": "{count} ردیف",
|
||
"categories": {
|
||
"Supplies": "ملزومات",
|
||
"Utilities": "آب و برق و گاز",
|
||
"Salary": "حقوق",
|
||
"Rent": "اجاره",
|
||
"Maintenance": "تعمیرات",
|
||
"Other": "سایر"
|
||
}
|
||
},
|
||
"queue": {
|
||
"title": "نوبتدهی روزانه",
|
||
"subtitle": "شماره نوبت هر روز از ۱ شروع میشود (بر اساس تاریخ ایران)",
|
||
"nowServing": "نوبت فعلی",
|
||
"lastIssued": "آخرین شماره",
|
||
"waitingCount": "{count} نفر در صف",
|
||
"issueNext": "شماره جدید",
|
||
"callNext": "فراخوانی نوبت بعدی",
|
||
"customerLabelPlaceholder": "نام مهمان (اختیاری)",
|
||
"dailyResetHint": "هر شب نیمهشب بهوقت ایران شمارهها صفر میشوند.",
|
||
"empty": "امروز هنوز نوبتی صادر نشده.",
|
||
"issuedOnOrder": "نوبت {number}",
|
||
"openDisplay": "نمایشگر TV",
|
||
"displayMode": "نمایش تمامصفحه",
|
||
"exitDisplay": "بازگشت به پنل",
|
||
"displayWaitingLabel": "در صف",
|
||
"displayUpNext": "نوبتهای بعدی",
|
||
"status": {
|
||
"Waiting": "در انتظار",
|
||
"Called": "فراخوانده",
|
||
"Done": "انجام شد",
|
||
"Cancelled": "لغو"
|
||
}
|
||
},
|
||
"kds": {
|
||
"title": "نمایشگر آشپزخانه",
|
||
"pending": "در انتظار",
|
||
"preparing": "در حال آمادهسازی",
|
||
"ready": "آماده",
|
||
"table": "میز",
|
||
"noOrders": "سفارشی نیست",
|
||
"loading": "در حال بارگذاری...",
|
||
"live": "زنده",
|
||
"polling": "بهروزرسانی دورهای",
|
||
"allStations": "همه",
|
||
"defaultStation": "آشپزخانه",
|
||
"advance": "مرحله بعد",
|
||
"status": {
|
||
"Pending": "در انتظار",
|
||
"Confirmed": "تأیید شده",
|
||
"Preparing": "در حال آمادهسازی",
|
||
"Ready": "آماده",
|
||
"Delivered": "تحویل شده",
|
||
"Cancelled": "لغو شده"
|
||
},
|
||
"advanceTo": {
|
||
"Confirmed": "تأیید سفارش",
|
||
"Preparing": "شروع آمادهسازی",
|
||
"Ready": "آماده شد",
|
||
"Delivered": "تحویل شد"
|
||
}
|
||
},
|
||
"tables": {
|
||
"title": "مدیریت میزها",
|
||
"addTable": "افزودن میز",
|
||
"number": "شماره میز",
|
||
"capacity": "ظرفیت",
|
||
"floor": "طبقه",
|
||
"floorPlan": "نقشه سالن",
|
||
"empty": "میزی ثبت نشده است.",
|
||
"emptyBranch": "برای این شعبه میزی ثبت نشده است.",
|
||
"allBranches": "همه شعب",
|
||
"branchFilter": "فیلتر شعبه",
|
||
"branch": "شعبه",
|
||
"branchUnassigned": "بدون شعبه",
|
||
"branchHint": "میزها متعلق به کافه شماست؛ شعبه فقط برای صندوق و گزارش است.",
|
||
"tableLabel": "میز {number}",
|
||
"meta": "ظرفیت {capacity} · طبقه {floor}",
|
||
"status": {
|
||
"Free": "آزاد",
|
||
"Busy": "مشغول",
|
||
"Reserved": "رزرو",
|
||
"Cleaning": "نظافت",
|
||
"free": "آزاد",
|
||
"occupied": "مشغول",
|
||
"reserved": "رزرو",
|
||
"cleaning": "نظافت"
|
||
},
|
||
"markCleaning": "نیاز به نظافت",
|
||
"markReady": "آماده پذیرش",
|
||
"activeOrder": "سفارش فعال",
|
||
"reserved": "رزرو شده",
|
||
"printQr": "چاپ QR",
|
||
"qrMenuUrl": "لینک منوی مهمان",
|
||
"openQrUrl": "باز کردن",
|
||
"copyQrUrl": "کپی لینک",
|
||
"qrUrlCopied": "لینک کپی شد",
|
||
"qrUrlCopyFailed": "کپی لینک ناموفق بود",
|
||
"reprintHint": "QR گم شده؟ همان دکمه — کد ثابت است.",
|
||
"deactivate": "غیرفعال",
|
||
"inactive": "غیرفعال",
|
||
"edit": "ویرایش",
|
||
"editTable": "ویرایش میز",
|
||
"reactivate": "فعالسازی مجدد",
|
||
"saveTable": "ذخیره میز",
|
||
"media": "تصویر و ویدیو میز",
|
||
"section": "بخش",
|
||
"sections": "بخشها",
|
||
"addSection": "افزودن بخش",
|
||
"noSection": "بدون بخش",
|
||
"noSectionsYet": "هنوز بخشی تعریف نشده است.",
|
||
"sectionTableCount": "{count} میز",
|
||
"sectionHasTables": "این بخش دارای میز است و قابل حذف نیست",
|
||
"tableHasOpenOrder": "این میز دارای سفارش باز است",
|
||
"deleteTable": "حذف میز",
|
||
"deleteTableConfirm": "این میز برای همیشه حذف شود؟ (فقط وقتی سفارش باز ندارد)",
|
||
"deleteError": "حذف میز ناموفق بود",
|
||
"createError": "افزودن میز ناموفق بود",
|
||
"cleaningError": "تغییر وضعیت نظافت ناموفق بود"
|
||
},
|
||
"menuAdmin": {
|
||
"title": "مدیریت منو",
|
||
"subtitle": "تصویر، قیمت و تخفیف هر آیتم",
|
||
"categories": "دستهها",
|
||
"items": "آیتمها",
|
||
"addCategory": "دسته جدید",
|
||
"addItem": "افزودن",
|
||
"name": "نام",
|
||
"nameEn": "نام انگلیسی (برای مهمان خارجی)",
|
||
"price": "قیمت (ت)",
|
||
"category": "دسته",
|
||
"available": "موجود",
|
||
"unavailable": "ناموجود",
|
||
"discountPercent": "تخفیف (٪)",
|
||
"discountBadge": "تخفیف",
|
||
"uploadImage": "آپلود تصویر",
|
||
"imageReady": "تصویر آماده است",
|
||
"empty": "هنوز آیتمی نیست.",
|
||
"editItem": "ویرایش",
|
||
"editCategory": "ویرایش دسته",
|
||
"categoryIcon": "آیکون (ایموجی)",
|
||
"categoryImage": "تصویر دسته",
|
||
"iconTabPreset": "آیکون آماده",
|
||
"iconTabEmoji": "ایموجی",
|
||
"iconTabImage": "تصویر آپلود",
|
||
"iconStyleLabel": "سبک طراحی",
|
||
"iconPreview": "پیشنمایش:",
|
||
"clearIconPreset": "حذف آیکون",
|
||
"clearIconEmoji": "حذف ایموجی",
|
||
"categoryIconCustom": "یا ایموجی دلخواه",
|
||
"iconPresetGroupDrinks": "نوشیدنی",
|
||
"iconPresetGroupFood": "غذا",
|
||
"iconStyles": {
|
||
"flat": "فلت",
|
||
"modern": "مدرن",
|
||
"real": "واقعی",
|
||
"minimal": "مینیمال",
|
||
"outline": "خطی",
|
||
"soft": "نرم",
|
||
"bold": "پررنگ",
|
||
"gradient": "گرادیان",
|
||
"pastel": "پاستلی",
|
||
"duotone": "دو رنگ"
|
||
},
|
||
"iconEmojiGroups": {
|
||
"hotDrinks": "نوشیدنی گرم",
|
||
"coldDrinks": "نوشیدنی سرد",
|
||
"breakfast": "صبحانه",
|
||
"mains": "غذای اصلی",
|
||
"pastaPizza": "پاستا و پیتزا",
|
||
"desserts": "دسر و شیرینی",
|
||
"salads": "سالاد و سبزی",
|
||
"seafoodGrill": "گریل و دریایی",
|
||
"snacks": "اسنک و فستفود",
|
||
"vegan": "گیاهی",
|
||
"specials": "ویژه و پرومو",
|
||
"general": "عمومی"
|
||
},
|
||
"iconPresets": {
|
||
"drinks-hot": "قهوه گرم",
|
||
"drinks-cold": "نوشیدنی سرد",
|
||
"drinks-tea": "چای",
|
||
"drinks-juice": "آبمیوه",
|
||
"drinks-milkshake": "شیر و اسموتی",
|
||
"drinks-alcohol": "شراب",
|
||
"drinks-beer": "آبجو",
|
||
"breakfast": "صبحانه",
|
||
"food-mains": "غذای اصلی",
|
||
"food-fastfood": "فستفود",
|
||
"food-rice": "برنج و پلو",
|
||
"pasta-pizza": "پاستا و پیتزا",
|
||
"dessert": "دسر",
|
||
"ice-cream": "بستنی",
|
||
"bakery": "نان و شیرینی",
|
||
"salad": "سالاد",
|
||
"grill": "گریل",
|
||
"seafood": "دریایی",
|
||
"snacks": "ساندویچ",
|
||
"snacks-sweet": "شیرینی خشک",
|
||
"appetizers": "پیشغذا",
|
||
"vegan": "گیاهی",
|
||
"fruits": "میوه",
|
||
"specials": "ویژه",
|
||
"chef-special": "پیشنهاد سرآشپز",
|
||
"generic": "عمومی"
|
||
},
|
||
"media": "تصویر و ویدیو",
|
||
"tabCatalog": "کاتالوگ",
|
||
"tabBranch": "تنظیمات شعبه",
|
||
"selectBranchForOverrides": "برای تنظیم منوی شعبه، یک شعبه از بالا انتخاب کنید.",
|
||
"allItems": "همه آیتمها",
|
||
"searchItemsPlaceholder": "جستجوی آیتمها…",
|
||
"itemCount": "{count} آیتم",
|
||
"noItemsInCategory": "هنوز آیتمی در این دسته نیست",
|
||
"noItemsMatchSearch": "آیتمی با این عبارت یافت نشد",
|
||
"outOfStock": "ناموجود",
|
||
"newItem": "آیتم جدید",
|
||
"newCategory": "دسته جدید",
|
||
"editCategoryTitle": "ویرایش دسته",
|
||
"printStation": "ایستگاه چاپ",
|
||
"printStationNone": "پرینتر آشپزخانه (پیشفرض)",
|
||
"close": "بستن",
|
||
"saving": "در حال ذخیره…",
|
||
"model3d": "مدل سهبعدی",
|
||
"nameEnOptional": "نام انگلیسی (اختیاری)",
|
||
"addItemSuccess": "آیتم اضافه شد",
|
||
"updateItemSuccess": "آیتم بهروز شد",
|
||
"addCategorySuccess": "دسته اضافه شد",
|
||
"updateCategorySuccess": "دسته بهروز شد",
|
||
"deleteItemConfirmTitle": "حذف آیتم",
|
||
"deleteItemConfirmDesc": "آیا از حذف «{name}» مطمئن هستید؟ این عمل قابل بازگشت نیست.",
|
||
"deleteItemSuccess": "آیتم حذف شد",
|
||
"deleteCategoryConfirmTitle": "حذف دستهبندی",
|
||
"deleteCategoryConfirmDesc": "آیا از حذف دسته «{name}» مطمئن هستید؟",
|
||
"deleteCategorySuccess": "دسته حذف شد"
|
||
},
|
||
"branchMenu": {
|
||
"title": "منوی شعبه",
|
||
"name": "نام",
|
||
"masterPrice": "قیمت اصلی",
|
||
"branchPrice": "قیمت شعبه",
|
||
"availability": "وضعیت",
|
||
"available": "فعال",
|
||
"unavailable": "غیرفعال",
|
||
"resetOverride": "بازنشانی",
|
||
"savePrice": "ذخیره",
|
||
"actions": "عملیات",
|
||
"priceOverridePro": "قیمتگذاری اختصاصی برای پلن Pro",
|
||
"overrideActive": "تنظیمات شعبه فعال",
|
||
"confirmReset": "آیا میخواهید تنظیمات این آیتم را به حالت پیشفرض برگردانید؟",
|
||
"loading": "در حال بارگذاری..."
|
||
},
|
||
"media": {
|
||
"uploadImage": "آپلود تصویر",
|
||
"uploadVideo": "آپلود ویدیو",
|
||
"removeImage": "حذف تصویر",
|
||
"removeVideo": "حذف ویدیو",
|
||
"upload3dTitle": "نمای سهبعدی (اختیاری)",
|
||
"upload3dHint": "فایل GLB تا {maxMb} مگابایت — با لمس، مهمان میتواند آیتم را بچرخاند",
|
||
"upload3dPhotoCount": "علاوه بر عکس کاور: یک مدل GLB کافی است. برای چرخش ۳۶۰° با عکس (آینده): {min} تا {ideal} عکس از زوایای مختلف",
|
||
"upload3d": "آپلود مدل ۳D",
|
||
"remove3d": "حذف مدل",
|
||
"upload3dReady": "مدل ۳D آماده نمایش در منوی QR است",
|
||
"ai3dTitle": "تولید مدل ۳D با هوش مصنوعی",
|
||
"ai3dHint": "از عکس محصول، مدل GLB برای منوی QR ساخته میشود (پلن کسبوکار و بالاتر).",
|
||
"ai3dGenerate": "ساخت ۳D با AI",
|
||
"ai3dGenerating": "در حال ساخت…",
|
||
"ai3dUsage": "سهمیه ماهانه: {used} از {limit}",
|
||
"ai3dSuccess": "مدل ۳D ساخته شد.",
|
||
"ai3dFailed": "ساخت مدل ۳D ناموفق بود.",
|
||
"ai3dLimitReached": "سهمیه ماهانه AI (۱۰۰ بار) تمام شده است.",
|
||
"ai3dNoImage": "ابتدا عکس محصول را آپلود کنید."
|
||
},
|
||
"taxes": {
|
||
"title": "مالیات و عوارض",
|
||
"subtitle": "نرخ مالیات برای دستههای منو",
|
||
"addTax": "افزودن مالیات",
|
||
"name": "نام (مثلاً مالیات بر ارزش افزوده)",
|
||
"rate": "نرخ (٪)",
|
||
"hint": "مالیات پیشفرض روی دستههای جدید اعمال میشود. ارسال به تاراز از تنظیمات.",
|
||
"empty": "مالیاتی تعریف نشده.",
|
||
"default": "پیشفرض",
|
||
"setDefault": "پیشفرض کن",
|
||
"delete": "حذف",
|
||
"deleteConfirm": "«{name}» از لیست حذف شود؟ دستههای منو که به این مالیات وصل بودند به مالیات پیشفرض بعدی (یا بدون مالیات) منتقل میشوند.",
|
||
"required": "اجباری",
|
||
"optional": "اختیاری",
|
||
"ownerOnly": "فقط مالک کافه میتواند مالیات را تغییر دهد."
|
||
},
|
||
"branches": {
|
||
"label": "شعبه"
|
||
},
|
||
"inventory": {
|
||
"title": "انبار",
|
||
"subtitle": "مواد اولیه، رسپی هر آیتم منو و کسر خودکار پس از سفارش",
|
||
"description": "موجودی مواد را ثبت و تنظیم کنید.",
|
||
"tabMaterials": "مواد",
|
||
"tabRecipes": "رسپی منو",
|
||
"addIngredient": "ماده جدید",
|
||
"name": "نام",
|
||
"unit": "واحد",
|
||
"unitHint": "گرم، میلیلیتر، عدد...",
|
||
"unitCustom": "واحد دیگر (دستی)",
|
||
"unitCustomPlaceholder": "مثلاً فنجان، شات",
|
||
"unitsHelp": "واحد برای موجودی و رسپی: عدد (لیوان)، گرم، میلیلیتر و... — مقدار فعلی با +/- زیر هر کارت تغییر میکند.",
|
||
"units": {
|
||
"piece": "عدد (شمارشی)",
|
||
"gram": "گرم",
|
||
"kilogram": "کیلوگرم",
|
||
"milliliter": "میلیلیتر",
|
||
"liter": "لیتر",
|
||
"cc": "سیسی",
|
||
"pack": "بسته",
|
||
"can": "قوطی",
|
||
"bag": "کیسه"
|
||
},
|
||
"editIngredient": "ویرایش ماده",
|
||
"updated": "ماده بهروز شد",
|
||
"quantityEditHint": "موجودی فقط با فیلد +/- در همین کارت",
|
||
"quantity": "موجودی فعلی",
|
||
"parLevel": "سطح پر (مثلاً ۵۰۰ گرم)",
|
||
"unitCost": "قیمت واحد (تومان)",
|
||
"warningPercent": "درصد هشدار کمبود",
|
||
"reorderLevel": "حد مطلق هشدار",
|
||
"reorder": "حد هشدار",
|
||
"warningAt": "هشدار زیر",
|
||
"stockValue": "ارزش موجودی",
|
||
"lowStock": "کمبود",
|
||
"lowStockAlert": "مواد زیر سطح هشدار — موجودی را شارژ کنید",
|
||
"adjust": "اعمال",
|
||
"adjustDelta": "+/- مقدار",
|
||
"adjustNote": "تنظیم دستی",
|
||
"adjusted": "موجودی بهروز شد",
|
||
"created": "ماده ثبت شد",
|
||
"empty": "مادهای ثبت نشده.",
|
||
"defaultUnit": "عدد",
|
||
"selectMenuItem": "آیتم منو",
|
||
"selectMenuItemPlaceholder": "انتخاب کنید...",
|
||
"recipeLines": "مواد مصرفی برای هر واحد فروش",
|
||
"perUnit": "مقدار",
|
||
"pickIngredient": "ماده",
|
||
"addLine": "افزودن",
|
||
"saveRecipe": "ذخیره رسپی",
|
||
"recipeSaved": "رسپی ذخیره شد",
|
||
"materialCostPerUnit": "هزینه مواد هر واحد",
|
||
"recipeHint": "مثال: اسپرسو = ۱۰ گرم پودر قهوه برای هر فنجان؛ با ۱۰ سفارش، ۱۰۰ گرم کم میشود.",
|
||
"totalPaid": "مبلغ پرداختی (تومان)",
|
||
"impliedUnitCost": "قیمت واحد محاسبهشده",
|
||
"purchaseNote": "خرید / ورود به انبار",
|
||
"purchaseHint": "برای ورود موجودی (+) مبلغ پرداختی را وارد کنید — در هزینهها و گزارش ثبت میشود.",
|
||
"purchaseRequired": "برای افزایش موجودی، مبلغ پرداختی و شعبه لازم است.",
|
||
"purchasesThisMonth": "خرید مواد این ماه",
|
||
"purchaseCount": "{count} خرید",
|
||
"viewInExpenses": "مشاهده در هزینهها",
|
||
"selectBranchForPurchases": "برای ثبت خرید انبار، ابتدا شعبه را از نوار بالا انتخاب کنید.",
|
||
"deleted": "ماده حذف شد",
|
||
"deleteConfirmTitle": "حذف ماده",
|
||
"deleteConfirmDesc": "آیا از حذف «{name}» مطمئن هستید؟ این عمل قابل بازگشت نیست."
|
||
},
|
||
"qr": {
|
||
"brand": "میزی",
|
||
"notFound": "میز یافت نشد",
|
||
"loadError": "خطا در بارگذاری",
|
||
"tableLabel": "میز {number}",
|
||
"hint": "برای سفارش، اپلیکیشن میزی را باز کنید یا به صندوق مراجعه کنید.",
|
||
"discoverCta": "کافهیاب میزی"
|
||
},
|
||
"qrMenu": {
|
||
"loading": "در حال بارگذاری...",
|
||
"welcome": "خوش آمدید",
|
||
"tableLabel": "میز",
|
||
"tableNotFound": "میز یافت نشد یا منو در دسترس نیست",
|
||
"tableCleaning": "میز در حال نظافت است — لطفاً کارکنان را مطلع کنید",
|
||
"loadError": "خطا در بارگذاری منو",
|
||
"scanAgain": "لطفاً دوباره کد QR را اسکن کنید",
|
||
"addToCart": "افزودن",
|
||
"viewCart": "مشاهده سبد خرید",
|
||
"cartTitle": "سبد خرید",
|
||
"placeOrder": "ثبت سفارش",
|
||
"orderPlaced": "سفارش ثبت شد!",
|
||
"orderNumber": "شماره سفارش: {number}",
|
||
"orderHint": "کارکنان به زودی سفارش شما را آماده میکنند",
|
||
"guestName": "نام شما (اختیاری)",
|
||
"guestPhone": "شماره موبایل (اختیاری)",
|
||
"itemNote": "یادداشت (مثلاً بدون گوجه، کمشکر)",
|
||
"addMoreItems": "افزودن آیتم دیگر",
|
||
"orderError": "خطا در ثبت سفارش. دوباره امتحان کنید",
|
||
"orderSaveError": "سفارش ثبت شد اما ذخیره محلی ناموفق بود. صفحه را رفرش نکنید.",
|
||
"rateLimited": "درخواستهای زیاد — لطفاً چند دقیقه صبر کنید",
|
||
"captchaRequired": "لطفاً تأیید امنیتی را تکمیل کنید",
|
||
"cafeUnavailable": "این کافه موقتاً در دسترس نیست",
|
||
"subtotal": "جمع کل",
|
||
"searchPlaceholder": "جستجو در منو...",
|
||
"allCategories": "همه",
|
||
"searchNoResults": "آیتمی با این عبارت پیدا نشد",
|
||
"clearSearch": "پاک کردن جستجو",
|
||
"emptyCategory": "آیتمی در این دسته نیست",
|
||
"view3d": "۳D",
|
||
"view3dHint": "با انگشت بچرخانید — مدل بهصورت زنده میچرخد",
|
||
"close3d": "بستن",
|
||
"emptyMenu": "منوی این شعبه خالی است یا در دسترس نیست",
|
||
"guestQrBadge": "سفارش QR مهمان",
|
||
"tabMenu": "منو",
|
||
"tabOrders": "سفارشهای من",
|
||
"callWaiter": "صدا کردن گارسون",
|
||
"callWaiterSent": "گارسون در راه است!",
|
||
"callWaiterCooldown": "لطفاً ۶۰ ثانیه صبر کنید",
|
||
"callWaiterError": "خطا — دوباره امتحان کنید",
|
||
"myOrders": "سفارشهای این میز",
|
||
"noOrders": "هنوز سفارشی ثبت نکردهاید",
|
||
"tracking": {
|
||
"back": "بازگشت به منو",
|
||
"orderNumber": "شماره سفارش",
|
||
"table": "میز",
|
||
"loadError": "پیگیری سفارش ممکن نیست",
|
||
"currentStep": "در حال انجام",
|
||
"readyHint": "سفارش شما آماده است — از میز یا پیشخوان تحویل بگیرید",
|
||
"status": {
|
||
"pending": "در انتظار تأیید کافه",
|
||
"seen": "کافه سفارش را دید",
|
||
"preparing": "آشپزخانه شروع به آمادهسازی کرد",
|
||
"ready": "آماده تحویل",
|
||
"done": "تحویل شد",
|
||
"cancelled": "لغو شد"
|
||
},
|
||
"steps": {
|
||
"submitted": "ثبت سفارش",
|
||
"seen": "دیده شد توسط رستوران",
|
||
"preparing": "در حال آمادهسازی",
|
||
"ready": "آماده",
|
||
"done": "تحویل شده",
|
||
"cancelled": "لغو شده"
|
||
}
|
||
}
|
||
},
|
||
"notifications": {
|
||
"title": "اعلانها",
|
||
"pageTitle": "اعلانها",
|
||
"empty": "اعلانی نیست",
|
||
"emptyUnread": "اعلان خواندهنشدهای نیست",
|
||
"markAllRead": "خواندن همه",
|
||
"unreadCount": "{count} اعلان خواندهنشده",
|
||
"filterLabel": "فیلتر اعلانها",
|
||
"filterAll": "همه",
|
||
"filterUnread": "خواندهنشده",
|
||
"loading": "در حال بارگذاری...",
|
||
"refreshing": "بهروزرسانی...",
|
||
"backToList": "بازگشت به لیست"
|
||
},
|
||
"reservations": {
|
||
"title": "رزرو میز",
|
||
"guest": "مهمان",
|
||
"phone": "موبایل",
|
||
"date": "تاریخ",
|
||
"time": "ساعت",
|
||
"party": "نفر",
|
||
"table": "میز",
|
||
"tableOptional": "بدون میز مشخص",
|
||
"tableNumber": "میز {number}",
|
||
"notes": "یادداشت",
|
||
"confirm": "تأیید",
|
||
"cancel": "لغو",
|
||
"create": "ثبت رزرو",
|
||
"newReservation": "رزرو دستی",
|
||
"newReservationHint": "میز و زمان را مشخص کنید. هنگام حضور مهمان از «ثبت سفارش و پرداخت» در صندوق استفاده کنید.",
|
||
"openPos": "ثبت سفارش و پرداخت",
|
||
"markCompleted": "پایان ویزیت",
|
||
"empty": "رزروی نیست",
|
||
"status": {
|
||
"Pending": "در انتظار",
|
||
"Confirmed": "تأیید شده",
|
||
"Cancelled": "لغو شده",
|
||
"Seated": "نشسته",
|
||
"Completed": "انجام شده"
|
||
},
|
||
"deleted": "رزرو حذف شد",
|
||
"deleteConfirmTitle": "حذف رزرو",
|
||
"deleteConfirmDesc": "آیا از حذف رزرو «{name}» مطمئن هستید؟"
|
||
},
|
||
"branchesPage": {
|
||
"title": "شعب",
|
||
"subtitle": "مدیریت شعب کافه؛ هر شعبه با موبایل ورود جدا و زیر اشتراک کافه اصلی",
|
||
"listTitle": "لیست شعب",
|
||
"newName": "نام شعبه",
|
||
"loginPhone": "موبایل ورود شعبه",
|
||
"managerName": "نام مسئول شعبه",
|
||
"managerNamePlaceholder": "اختیاری — پیشفرض نام شعبه",
|
||
"addSection": "شعبه جدید",
|
||
"add": "افزودن شعبه",
|
||
"empty": "هنوز شعبهای ثبت نشده.",
|
||
"created": "شعبه و حساب ورود اضافه شد.",
|
||
"createError": "خطا در افزودن شعبه (موبایل تکراری یا سقف پلن)",
|
||
"branchSelectHint": "در صندوق و نوبتدهی شعبه فعال را انتخاب کنید.",
|
||
"masterPlanHint": "اشتراک و مالیات فقط از حساب مالک کافه تنظیم میشود.",
|
||
"ownerOnly": "فقط مالک کافه میتواند شعب را مدیریت کند.",
|
||
"delete": "حذف شعبه",
|
||
"deleteTitle": "حذف شعبه؟",
|
||
"deleteWarning": "میزها، پرسنل، تنظیمات منوی شعبه و دادههای وابسته حذف میشوند. تا ۷ روز میتوانید شعبه را بازیابی کنید؛ پس از آن حذف دائمی انجام میشود.",
|
||
"deleteConfirm": "بله، حذف شعبه",
|
||
"deleteScheduled": "شعبه برای حذف ثبت شد. تا ۷ روز امکان بازیابی دارید.",
|
||
"deleteError": "حذف شعبه انجام نشد (شاید آخرین شعبه فعال باشد).",
|
||
"restore": "بازیابی",
|
||
"restored": "شعبه بازیابی شد.",
|
||
"restoreError": "بازیابی انجام نشد.",
|
||
"pendingTitle": "در انتظار حذف دائمی",
|
||
"pendingHint": "شعب زیر غیرفعالاند. پس از پایان مهلت، بهطور کامل پاک میشوند.",
|
||
"purgeInDays": "حذف دائمی تا {days} روز دیگر",
|
||
"purgeInOneDay": "حذف دائمی تا فردا",
|
||
"purgeToday": "حذف دائمی امروز",
|
||
"review": "بررسی",
|
||
"reviewTitle": "جزئیات شعبه",
|
||
"location": "موقعیت"
|
||
},
|
||
"subscription": {
|
||
"title": "اشتراک و پلن",
|
||
"subtitle": "پلن فعلی، مصرف و ارتقا",
|
||
"currentPlan": "پلن فعلی",
|
||
"expires": "انقضا",
|
||
"noExpiry": "—",
|
||
"refresh": "بروزرسانی",
|
||
"ordersToday": "سفارش امروز",
|
||
"customers": "مشتریان",
|
||
"smsUsage": "پیامک این ماه",
|
||
"paymentSuccess": "پرداخت موفق بود. پلن شما بهروز شد.",
|
||
"paymentFailed": "پرداخت ناموفق بود.",
|
||
"loading": "در حال بارگذاری...",
|
||
"ownerOnly": "فقط مالک کافه میتواند اشتراک را مدیریت کند. شعب زیر پوشش پلن کافه اصلی هستند.",
|
||
"paymentMethod": "روش پرداخت",
|
||
"planExpired": "اشتراک منقضی شده",
|
||
"featureMenu3d": "منوی سهبعدی",
|
||
"featureDiscover": "پروفایل کشف (هوش مصنوعی)",
|
||
"featureOn": "فعال",
|
||
"featureOff": "غیرفعال — ارتقا دهید",
|
||
"featureMenu3dUpgrade": "منوی ۳D در پلن حرفهای و بالاتر فعال است.",
|
||
"featureMenuAi3d": "تولید ۳D با AI",
|
||
"featureMenuAi3dUpgrade": "تولید ۳D با هوش مصنوعی در پلن کسبوکار و سازمانی (۱۰۰ بار در ماه) فعال است.",
|
||
"checkout": {
|
||
"title": "پیشفاکتور و پرداخت",
|
||
"subtitle": "جزئیات سفارش را بررسی و پرداخت کنید",
|
||
"backToPlans": "بازگشت به پلنها",
|
||
"invalidPlan": "پلن انتخابشده برای خرید آنلاین معتبر نیست.",
|
||
"invoiceLabel": "پیشفاکتور",
|
||
"invoiceNo": "شماره فاکتور",
|
||
"issuedAt": "تاریخ صدور",
|
||
"billingPeriod": "مدت اشتراک",
|
||
"monthsCount": "{count} ماه",
|
||
"description": "شرح",
|
||
"qty": "تعداد",
|
||
"unitPrice": "قیمت واحد",
|
||
"amount": "مبلغ",
|
||
"planLine": "اشتراک پلن {plan}",
|
||
"subtotal": "جمع جزء",
|
||
"total": "مبلغ قابل پرداخت",
|
||
"secureNote": "پرداخت از طریق درگاه امن بانکی انجام میشود.",
|
||
"payTotal": "پرداخت {total}",
|
||
"redirecting": "در حال انتقال به درگاه...",
|
||
"paymentFailed": "پرداخت ناموفق بود. لطفاً دوباره امتحان کنید.",
|
||
"queuedNotice": "شما اشتراک فعالی دارید. این خرید در صف قرار میگیرد و از {date} آغاز میشود."
|
||
},
|
||
"queued": {
|
||
"title": "اشتراکهای در صف",
|
||
"subtitle": "این اشتراکها پس از پایان اشتراک فعلی بهصورت خودکار فعال میشوند.",
|
||
"months": "{count} ماه",
|
||
"window": "از {from} تا {to}",
|
||
"cancel": "لغو",
|
||
"cancelled": "اشتراک در صف لغو شد",
|
||
"cancelConfirmTitle": "لغو اشتراک در صف",
|
||
"cancelConfirmDesc": "اشتراک {plan} که قرار بود از {from} آغاز شود لغو شود؟ اشتراک فعلی شما دستنخورده میماند."
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "تنظیمات",
|
||
"subtitle": "کافه، پرینتر و یکپارچهسازیها",
|
||
"terminals": {
|
||
"title": "ترمینالهای فعال",
|
||
"hint": "پلن شما حداکثر {max} ترمینال همزمان دارد.",
|
||
"thisDevice": "این دستگاه",
|
||
"empty": "ترمینالی ثبت نشده",
|
||
"revoke": "حذف",
|
||
"revoked": "ترمینال حذف شد",
|
||
"loading": "در حال بارگذاری…"
|
||
},
|
||
"nav": {
|
||
"aria": "منوی تنظیمات",
|
||
"shop": "کافه و فروشگاه",
|
||
"shopGeneral": "پروفایل و اتصالها",
|
||
"shopAppearance": "ظاهر و رنگبندی",
|
||
"shopNotifications": "اعلانها و صدا",
|
||
"printer": "پرینتر",
|
||
"printerSettings": "تنظیمات پرینتر",
|
||
"printerStations": "پرینتر آشپزخانه و بار",
|
||
"printTest": "صفحه تست چاپ",
|
||
"shopDiscover": "کشف و AI",
|
||
"team": "تیم و کارمندان",
|
||
"customRoles": "نقشهای سفارشی"
|
||
},
|
||
"notifPrefs": {
|
||
"soundSection": "صدا",
|
||
"soundEnabled": "پخش صدا برای اعلانهای جدید",
|
||
"soundEnabledHint": "هنگام رسیدن سفارش جدید، درخواست میز یا هشدار، صدا پخش میشود.",
|
||
"soundChoice": "صدای اعلان",
|
||
"preview": "پیشنمایش",
|
||
"volume": "بلندی صدا",
|
||
"soundClassic": "کلاسیک",
|
||
"soundDing": "دینگ",
|
||
"soundBell": "زنگ",
|
||
"soundChime": "ناقوس",
|
||
"soundMarimba": "ماریمبا",
|
||
"soundAlert": "هشدار",
|
||
"desktopSection": "اعلانهای دسکتاپ",
|
||
"desktopHint": "نمایش پاپآپ ویندوز/دسکتاپ حتی وقتی داشبورد در تب دیگری باز است یا کوچک شده.",
|
||
"enableDesktop": "فعالسازی اعلانهای دسکتاپ",
|
||
"desktopEnabled": "پاپآپ دسکتاپ",
|
||
"desktopEnabledHint": "فقط وقتی این تب فعال نیست نمایش داده میشود.",
|
||
"desktopGranted": "اعلانهای دسکتاپ فعال شد",
|
||
"desktopDenied": "دسترسی توسط مرورگر رد شد",
|
||
"desktopBlocked": "اعلانها برای این سایت مسدود شدهاند. از تنظیمات سایت در مرورگر اجازه دهید و سپس صفحه را دوباره بارگذاری کنید.",
|
||
"desktopUnsupported": "این مرورگر از اعلانهای دسکتاپ پشتیبانی نمیکند.",
|
||
"desktopFocusNote": "پاپآپ آزمایشی فقط زمانی نمایش داده میشود که ابتدا به پنجره دیگری بروید.",
|
||
"sendTest": "ارسال اعلان آزمایشی",
|
||
"testTitle": "میزی",
|
||
"testBody": "این یک اعلان آزمایشی است.",
|
||
"testToast": "اعلان آزمایشی ارسال شد",
|
||
"inAppSection": "درونبرنامه",
|
||
"tabBadge": "شمارش خواندهنشده روی تب مرورگر",
|
||
"tabBadgeHint": "تعداد اعلانهای خواندهنشده را در عنوان تب و فاویکون نشان میدهد.",
|
||
"toast": "نوتیف درونبرنامه",
|
||
"toastHint": "نمایش یک بنر کوچک داخل داشبورد برای اعلانهای جدید."
|
||
},
|
||
"customRoles": {
|
||
"title": "نقشهای سفارشی",
|
||
"subtitle": "نقشهایی با دسترسی دلخواه برای کارمندان تعریف کنید",
|
||
"newRole": "نقش جدید",
|
||
"editRole": "ویرایش نقش",
|
||
"name": "نام نقش",
|
||
"namePlaceholder": "مثلاً: باریستا، مسئول طبقه",
|
||
"description": "توضیح (اختیاری)",
|
||
"descriptionPlaceholder": "توضیح مختصر درباره این نقش",
|
||
"color": "رنگ",
|
||
"permissions": "دسترسیها",
|
||
"empty": "هنوز نقش سفارشی تعریف نشده است",
|
||
"saveError": "ذخیره نقش ناموفق بود",
|
||
"deleteConfirm": "نقش «{name}» حذف شود؟ این کارمندان به دسترسی پیشفرض نقش اصلی خود بازمیگردند.",
|
||
"groupAdmin": "مدیریت کافه",
|
||
"groupBranches": "شعب",
|
||
"groupMenu": "منو",
|
||
"groupInventory": "انبار و موجودی",
|
||
"groupTaxes": "مالیات",
|
||
"groupStaff": "پرسنل و منابع انسانی",
|
||
"groupTables": "میز و رزرو",
|
||
"groupOrders": "سفارش و فروش",
|
||
"groupRegister": "صندوق و وجه نقد",
|
||
"groupQueueKitchen": "صف و آشپزخانه",
|
||
"groupDelivery": "تحویل و پیک",
|
||
"groupCustomers": "مشتریان",
|
||
"groupCoupons": "کوپنها",
|
||
"groupMarketing": "بازاریابی و نظرات",
|
||
"groupReports": "گزارش و مالی",
|
||
"groupExpenses": "هزینهها",
|
||
"perm": {
|
||
"ViewCafeSettings": "مشاهده تنظیمات کافه",
|
||
"ManageCafeSettings": "ویرایش تنظیمات کافه",
|
||
"ManageDiscoverProfile": "پروفایل عمومی و کوجا",
|
||
"ViewBilling": "مشاهده صورتحساب",
|
||
"ManageBilling": "مدیریت اشتراک و پرداخت",
|
||
"ManageRoles": "مدیریت نقشها",
|
||
"ViewPrintSettings": "مشاهده تنظیمات چاپ",
|
||
"ManagePrintSettings": "ویرایش تنظیمات چاپ",
|
||
"ViewBranches": "مشاهده شعب",
|
||
"CreateBranch": "ایجاد شعبه",
|
||
"EditBranch": "ویرایش شعبه",
|
||
"DeleteBranch": "حذف شعبه",
|
||
"ViewMenu": "مشاهده منو",
|
||
"CreateMenuItem": "افزودن آیتم منو",
|
||
"EditMenuItem": "ویرایش آیتم منو",
|
||
"DeleteMenuItem": "حذف آیتم منو",
|
||
"ViewInventory": "مشاهده انبار",
|
||
"CreateInventory": "افزودن به انبار",
|
||
"EditInventory": "ویرایش انبار و موجودی",
|
||
"DeleteInventory": "حذف از انبار",
|
||
"ViewTaxes": "مشاهده مالیات",
|
||
"CreateTax": "ایجاد مالیات",
|
||
"EditTax": "ویرایش مالیات",
|
||
"DeleteTax": "حذف مالیات",
|
||
"ViewStaff": "مشاهده کارمندان",
|
||
"CreateStaff": "افزودن کارمند",
|
||
"EditStaff": "ویرایش کارمند",
|
||
"DeleteStaff": "حذف کارمند",
|
||
"ManageStaff": "تخصیص نقش شعبه",
|
||
"ManageStaffCredentials": "مدیریت اطلاعات ورود",
|
||
"ViewAttendance": "مشاهده حضور و غیاب",
|
||
"ManageAttendance": "مدیریت حضور و غیاب",
|
||
"ViewSchedules": "مشاهده شیفتها",
|
||
"ManageSchedules": "مدیریت شیفتها",
|
||
"ViewLeave": "مشاهده درخواست مرخصی",
|
||
"ReviewLeave": "تأیید مرخصی",
|
||
"ViewSalaries": "مشاهده حقوق",
|
||
"ManageSalaries": "مدیریت حقوق و دستمزد",
|
||
"ViewTables": "مشاهده میزها",
|
||
"ManageTables": "مدیریت میز و بخشها",
|
||
"ViewReservations": "مشاهده رزروها",
|
||
"CreateReservation": "ایجاد رزرو",
|
||
"EditReservation": "ویرایش رزرو",
|
||
"DeleteReservation": "حذف رزرو",
|
||
"ViewOrders": "مشاهده سفارشها",
|
||
"ProcessOrders": "ثبت سفارش",
|
||
"EditOrder": "ویرایش سفارش",
|
||
"VoidOrder": "ابطال / لغو سفارش",
|
||
"RefundOrder": "استرداد وجه سفارش",
|
||
"ApplyDiscount": "اعمال تخفیف",
|
||
"CompOrder": "سفارش رایگان (مهمان)",
|
||
"HandlePayments": "دریافت پرداخت",
|
||
"UpdateOrderStatus": "تغییر وضعیت سفارش",
|
||
"OperateRegister": "باز / بستن صندوق",
|
||
"OpenCashDrawer": "باز کردن کشوی پول (بدون فروش)",
|
||
"ViewQueue": "مشاهده صف",
|
||
"ManageQueue": "مدیریت صف",
|
||
"ViewKitchen": "نمایش آشپزخانه",
|
||
"ManageKitchenStations": "مدیریت ایستگاههای آشپزخانه",
|
||
"ViewDelivery": "مشاهده تحویل",
|
||
"HandleDelivery": "مدیریت تحویل",
|
||
"AssignDelivery": "تخصیص پیک",
|
||
"ViewCustomers": "مشاهده مشتریان",
|
||
"CreateCustomer": "افزودن مشتری",
|
||
"EditCustomer": "ویرایش مشتری",
|
||
"DeleteCustomer": "حذف مشتری",
|
||
"ViewCoupons": "مشاهده کوپنها",
|
||
"CreateCoupon": "ایجاد کوپن",
|
||
"EditCoupon": "ویرایش کوپن",
|
||
"DeleteCoupon": "حذف کوپن",
|
||
"ViewSms": "مشاهده پیامک",
|
||
"SendSms": "ارسال کمپین پیامکی",
|
||
"ManageSmsSettings": "تنظیمات پیامک",
|
||
"ViewReviews": "مشاهده نظرات",
|
||
"ManageReviews": "پاسخ و مدیریت نظرات",
|
||
"ViewReports": "مشاهده گزارشها",
|
||
"ExportReports": "خروجی گرفتن از گزارش",
|
||
"ViewAuditLog": "مشاهده گزارش رویدادها",
|
||
"ViewFinancials": "مشاهده مالی (سود و زیان)",
|
||
"ManageFinancials": "اصلاح سند پرداخت",
|
||
"ViewExpenses": "مشاهده هزینهها",
|
||
"CreateExpense": "افزودن هزینه",
|
||
"EditExpense": "ویرایش هزینه",
|
||
"DeleteExpense": "حذف هزینه"
|
||
}
|
||
},
|
||
"appearance": {
|
||
"paletteSection": "پالت رنگ",
|
||
"paletteTitle": "انتخاب پالت آماده",
|
||
"paletteHint": "رنگ پالت روی پنل داشبورد و منوی QR مهمان اعمال میشود.",
|
||
"dashboardSection": "پنل مدیریت",
|
||
"dashboardTitle": "سبک داشبورد",
|
||
"dashboardDesc": "ظاهر صفحات پنل (صندوق، انبار، گزارش و…) — جدا از منوی QR میز.",
|
||
"dashboardPreviewSection": "پیشنمایش",
|
||
"dashboardPreviewTitle": "نمونه پنل داشبورد",
|
||
"dashboardPreviewHint": "نمونه سایدبار و کارت آیتم در همین پنل؛ با تغییر سبک پنل، فشردگی و گوشهها بهروز میشود.",
|
||
"panelStyle": "سبک پنل داشبورد",
|
||
"guestMenuStyle": "سبک نمایش منوی QR",
|
||
"menuTexture": "بافت پسزمینه منوی QR",
|
||
"guestMenuSection": "منوی QR میز",
|
||
"guestMenuTitle": "قالب منوی مهمان",
|
||
"guestMenuDesc": "مشتری با اسکن QR روی میز همین چیدمان و بافت را میبیند — جدا از ظاهر پنل شما.",
|
||
"guestMenuPreviewSection": "پیشنمایش",
|
||
"guestMenuPreviewHint": "پیشنمایش موبایل (منوی QR)",
|
||
"density": "فشردگی",
|
||
"radius": "گوشهها",
|
||
"customSection": "رنگ سفارشی",
|
||
"customTitle": "رنگهای اختصاصی کافه",
|
||
"customHint": "هر فیلد خالی از پالت انتخابشده استفاده میکند. شفافیت روی رنگ سفارشی یا پالت اعمال میشود.",
|
||
"colorOpacity": "شفافیت",
|
||
"resetCustom": "بازنشانی رنگهای سفارشی",
|
||
"previewSection": "پیشنمایش",
|
||
"previewTitle": "نمونه پنل و منو",
|
||
"previewNav": "منو",
|
||
"previewItem": "لاته",
|
||
"previewCta": "افزودن",
|
||
"saved": "ظاهر ذخیره شد.",
|
||
"palettes": {
|
||
"meezi-green": "میزی سبز",
|
||
"ocean-blue": "اقیانوسی",
|
||
"royal-purple": "بنفش سلطنتی",
|
||
"sunset-orange": "غروب نارنجی",
|
||
"rose-blush": "رز",
|
||
"charcoal-gold": "ذغالی طلایی",
|
||
"espresso": "اسپرسو",
|
||
"forest": "جنگلی",
|
||
"midnight": "نیمهشب",
|
||
"coral": "مرجانی",
|
||
"gold-luxury": "لوکس طلایی",
|
||
"mint-fresh": "نعنایی",
|
||
"wine-bar": "بار شراب",
|
||
"slate-modern": "اسلیت مدرن",
|
||
"cherry": "گیلاسی",
|
||
"teal-wave": "فیروزهای",
|
||
"sand-cafe": "کافه شنی"
|
||
},
|
||
"panelStyles": {
|
||
"flat": "فلت",
|
||
"modern": "مدرن",
|
||
"glass": "شیشهای",
|
||
"minimal": "مینیمال",
|
||
"bold": "پررنگ",
|
||
"soft": "نرم",
|
||
"elevated": "برجسته",
|
||
"outline": "خطی"
|
||
},
|
||
"menuStyles": {
|
||
"cards": "کارت",
|
||
"compact": "فشرده",
|
||
"grid": "شبکه",
|
||
"list": "لیست",
|
||
"magazine": "مجلهای",
|
||
"classic": "کلاسیک"
|
||
},
|
||
"menuTextures": {
|
||
"none": "ساده",
|
||
"paper": "کاغذی",
|
||
"linen": "کتان",
|
||
"dots": "نقطهای",
|
||
"grid": "شبکهای",
|
||
"marble": "مرمر",
|
||
"wood": "چوب",
|
||
"warm": "گرم کافه"
|
||
},
|
||
"densities": {
|
||
"compact": "فشرده",
|
||
"comfortable": "معمولی",
|
||
"spacious": "گشاد"
|
||
},
|
||
"radiusOptions": {
|
||
"none": "تیز",
|
||
"sm": "کم",
|
||
"md": "متوسط",
|
||
"lg": "زیاد",
|
||
"full": "گرد"
|
||
},
|
||
"colors": {
|
||
"primary": "رنگ اصلی",
|
||
"secondary": "رنگ ثانویه",
|
||
"accent": "تأکید / پرومو",
|
||
"background": "پسزمینه",
|
||
"surface": "کارت / سطح",
|
||
"text": "متن",
|
||
"textMuted": "متن کمرنگ",
|
||
"destructive": "خطا / حذف",
|
||
"success": "موفقیت"
|
||
}
|
||
},
|
||
"taraz": "سامانه مودیان (تاراز)",
|
||
"tarazHint": "ارسال فاکتورهای روز گذشته به تاراز (در حالت دمو فقط ثبت میشود).",
|
||
"tarazSubmit": "ارسال به تاراز",
|
||
"tarazQueued": "درخواست ارسال ثبت شد.",
|
||
"snappfoodVendor": "شناسه فروشنده اسنپفود",
|
||
"saveProfile": "ذخیره پروفایل",
|
||
"profile": {
|
||
"title": "پروفایل کافه",
|
||
"name": "نام کافه",
|
||
"city": "شهر",
|
||
"phone": "تلفن",
|
||
"address": "آدرس",
|
||
"description": "توضیحات",
|
||
"logo": "لوگو",
|
||
"uploadLogo": "بارگذاری لوگو",
|
||
"uploadCover": "بارگذاری کاور",
|
||
"saved": "پروفایل ذخیره شد.",
|
||
"reloginHint": "پلن بهروز شد؛ در صورت نیاز یکبار خارج و وارد شوید.",
|
||
"slug": "آدرس پروفایل کوجا",
|
||
"slugHint": "آدرس صفحه کافه شما در کوجا — فقط حروف انگلیسی، اعداد و خط تیره",
|
||
"slugPlaceholder": "cafe-roya",
|
||
"slugTaken": "این آدرس قبلاً گرفته شده. آدرس دیگری انتخاب کنید.",
|
||
"slugInvalid": "آدرس نامعتبر است. فقط حروف انگلیسی کوچک، اعداد و خط تیره مجاز است.",
|
||
"kojaUrl": "آدرس کوجا"
|
||
},
|
||
"plans": {
|
||
"compareLabel": "مقایسه پلنها",
|
||
"compareHint": "امکانات هر پلن را مقایسه کنید و مناسب کافه خود انتخاب کنید.",
|
||
"featureColumn": "امکانات",
|
||
"popular": "پرفروش",
|
||
"current": "پلن فعلی",
|
||
"perMonth": "ماهانه",
|
||
"freePrice": "رایگان",
|
||
"customPrice": "تماس بگیرید",
|
||
"unlimited": "نامحدود",
|
||
"included": "فعال",
|
||
"currentPlanBtn": "پلن شما",
|
||
"contactSales": "تماس با فروش",
|
||
"subscribe": "خرید {plan}",
|
||
"names": {
|
||
"Free": "رایگان",
|
||
"Pro": "پرو",
|
||
"Business": "بیزنس",
|
||
"Enterprise": "سازمانی"
|
||
},
|
||
"limits": {
|
||
"maxOrdersPerDay": "سفارش در روز",
|
||
"maxBranches": "شعبه",
|
||
"maxTerminals": "ترمینال صندوق",
|
||
"maxTables": "میز",
|
||
"maxCustomers": "مشتری CRM",
|
||
"maxSmsPerMonth": "پیامک در ماه",
|
||
"maxMenuItems": "آیتم منو",
|
||
"maxReportHistoryDays": "تاریخچه گزارش (روز)",
|
||
"maxMenuAi3dPerMonth": "تصویر AI سهبعدی در ماه"
|
||
},
|
||
"features": {
|
||
"ordersPerDay": "سفارش در روز",
|
||
"terminals": "ترمینال صندوق",
|
||
"crmCustomers": "مشتری CRM",
|
||
"smsPerMonth": "پیامک بازاریابی",
|
||
"branches": "شعبه",
|
||
"posKds": "صندوق و آشپزخانه",
|
||
"tablesQr": "میز و QR",
|
||
"menuReservations": "منو و رزرو",
|
||
"reports": "گزارشها",
|
||
"hrModule": "منابع انسانی",
|
||
"snappfoodDelivery": "اسنپفود / پیک",
|
||
"tarazTax": "سامانه مودیان (تاراز)",
|
||
"badges": "نشان اعتبار",
|
||
"whiteLabel": "برند اختصاصی",
|
||
"apiAccess": "API عمومی"
|
||
},
|
||
"levels": {
|
||
"basic": "پایه",
|
||
"full": "کامل"
|
||
}
|
||
},
|
||
"discoverProfile": {
|
||
"title": "پروفایل کشف و AI",
|
||
"subtitle": "برچسبها برای پیشنهاد کافه به مهمانها",
|
||
"save": "ذخیره",
|
||
"saved": "ذخیره شد",
|
||
"loading": "در حال بارگذاری..."
|
||
}
|
||
},
|
||
"support": {
|
||
"title": "پشتیبانی میزی",
|
||
"subtitle": "تیکت بزنید تا تیم سامانه پاسخ دهد",
|
||
"newTicket": "تیکت جدید",
|
||
"subject": "موضوع",
|
||
"message": "پیام شما",
|
||
"submit": "ارسال تیکت",
|
||
"myTickets": "تیکتهای من",
|
||
"messages": "پیام",
|
||
"created": "تیکت ثبت شد",
|
||
"createFailed": "ثبت تیکت ناموفق بود",
|
||
"empty": "هنوز تیکتی ندارید",
|
||
"loadFailed": "بارگذاری تیکتها ناموفق بود.",
|
||
"retry": "تلاش دوباره",
|
||
"loading": "در حال بارگذاری...",
|
||
"notFound": "تیکت یافت نشد",
|
||
"back": "بازگشت",
|
||
"reply": "پاسخ شما",
|
||
"send": "ارسال",
|
||
"replySent": "پاسخ ارسال شد",
|
||
"replyFailed": "ارسال پاسخ ناموفق بود",
|
||
"fromAdmin": "پشتیبانی میزی",
|
||
"fromYou": "شما",
|
||
"closedHint": "این تیکت بسته شده و امکان پاسخ جدید نیست.",
|
||
"status": {
|
||
"open": "باز",
|
||
"inProgress": "در حال بررسی",
|
||
"waitingMerchant": "منتظر پاسخ شما",
|
||
"resolved": "حلشده",
|
||
"closed": "بسته"
|
||
}
|
||
},
|
||
"admin": {
|
||
"nav": {
|
||
"title": "مدیریت سامانه",
|
||
"dashboard": "داشبورد",
|
||
"plans": "اشتراک و قیمت",
|
||
"integrations": "درگاه پرداخت و AI",
|
||
"notifications": "اعلانها",
|
||
"settings": "تنظیمات اپ",
|
||
"features": "قابلیتها",
|
||
"cafes": "کافهها",
|
||
"tickets": "تیکتها",
|
||
"logout": "خروج"
|
||
},
|
||
"auth": {
|
||
"title": "ورود مدیر سامانه",
|
||
"subtitle": "فقط حسابهای مجاز میزی",
|
||
"phone": "موبایل",
|
||
"sendOtp": "ارسال کد",
|
||
"otp": "کد تأیید",
|
||
"login": "ورود",
|
||
"error": "خطا در ورود",
|
||
"devHint": "در حالت توسعه کد در لاگ Admin API چاپ میشود (DEV admin OTP)."
|
||
},
|
||
"dashboard": {
|
||
"title": "خلاصه سامانه",
|
||
"totalCafes": "کل کافهها",
|
||
"activeCafes": "فعال",
|
||
"openTickets": "تیکت باز",
|
||
"plans": "پلنهای تعریفشده"
|
||
},
|
||
"plans": {
|
||
"title": "پلنها و قیمتگذاری",
|
||
"monthlyPrice": "قیمت ماهانه (تومان)",
|
||
"maxOrders": "سقف سفارش روزانه",
|
||
"saved": "پلن ذخیره شد"
|
||
},
|
||
"settings": {
|
||
"title": "تنظیمات اپلیکیشن",
|
||
"saved": "ذخیره شد"
|
||
},
|
||
"features": {
|
||
"title": "فعال/غیرفعال قابلیتها",
|
||
"enabled": "فعال",
|
||
"disabled": "غیرفعال"
|
||
},
|
||
"cafes": {
|
||
"title": "کافههای ثبتشده",
|
||
"suspended": "معلق",
|
||
"suspend": "تعلیق",
|
||
"activate": "فعالسازی",
|
||
"discoverProfile": {
|
||
"edit": "پروفایل کشف",
|
||
"title": "پروفایل کشف و AI",
|
||
"subtitle": "برچسبها برای پیشنهاد کافه به مهمانها",
|
||
"save": "ذخیره",
|
||
"saved": "ذخیره شد",
|
||
"loading": "در حال بارگذاری..."
|
||
}
|
||
},
|
||
"integrations": {
|
||
"title": "درگاه پرداخت و کاوهنگار",
|
||
"save": "ذخیره تنظیمات",
|
||
"saved": "تنظیمات ذخیره شد",
|
||
"paymentTitle": "درگاههای پرداخت",
|
||
"kavenegarTitle": "کاوهنگار (پیامک)",
|
||
"active": "فعال برای اشتراک",
|
||
"enabled": "فعال",
|
||
"sandbox": "حالت تست",
|
||
"merchantId": "مرچنت آیدی",
|
||
"apiKey": "توکن API",
|
||
"username": "نام کاربری",
|
||
"password": "رمز عبور",
|
||
"branchCode": "کد شعبه",
|
||
"terminalCode": "کد ترمینال (اختیاری)",
|
||
"clientId": "Client ID",
|
||
"clientSecret": "Client Secret",
|
||
"baseUrl": "آدرس API (اختیاری)",
|
||
"taraHint": "تارا — اعتبار خرید. مستندات: api.tara-club.ir/club/api/v1 (login، trace، request، verify)",
|
||
"snappPayHint": "اسنپپی — خرید اقساطی (BNPL). OAuth و payment token از پنل پذیرنده اسنپپی",
|
||
"otpTemplate": "قالب OTP (نام الگو در پنل کاوهنگار)"
|
||
},
|
||
"notifications": {
|
||
"title": "مرکز اعلانها",
|
||
"broadcastTitle": "ارسال اعلان به همه کافهها",
|
||
"broadcastTitlePlaceholder": "عنوان اعلان",
|
||
"broadcastBodyPlaceholder": "متن اعلان (اختیاری)",
|
||
"sendBroadcast": "ارسال به همه",
|
||
"broadcastSent": "اعلان به {count} کافه ارسال شد",
|
||
"allNotifications": "همه اعلانها",
|
||
"empty": "اعلانی ثبت نشده است"
|
||
},
|
||
"tickets": {
|
||
"title": "تیکتهای پشتیبانی",
|
||
"messages": "پیام",
|
||
"loading": "بارگذاری...",
|
||
"empty": "تیکتی وجود ندارد",
|
||
"notFound": "تیکت یافت نشد",
|
||
"back": "لیست تیکتها",
|
||
"replyPlaceholder": "پاسخ به کافه...",
|
||
"sendReply": "ارسال پاسخ",
|
||
"replySent": "پاسخ ارسال شد",
|
||
"replyFailed": "ارسال ناموفق بود",
|
||
"resolve": "علامتگذاری حلشده",
|
||
"close": "بستن تیکت",
|
||
"statusUpdated": "وضعیت تیکت بهروز شد",
|
||
"closedHint": "تیکت بسته است — پاسخ جدید غیرفعال است.",
|
||
"fromAdmin": "پشتیبانی میزی",
|
||
"fromCafe": "کافه",
|
||
"filter": {
|
||
"all": "همه",
|
||
"open": "باز",
|
||
"closed": "بسته"
|
||
}
|
||
}
|
||
},
|
||
"discoverPublic": {
|
||
"brand": "میزی",
|
||
"title": "کافهیاب",
|
||
"subtitle": "کافه مناسب خودت را در تهران و کرج پیدا کن",
|
||
"searchPlaceholder": "بنویس: آروم، قرار عاشقانه، وایفای، رستری، کتابکافه…",
|
||
"searchHint": "جستجوی هوشمند — فیلترها را خودکار تشخیص میدهد",
|
||
"aiDetectedLabel": "فیلترهای تشخیصدادهشده:",
|
||
"aiDetectedClear": "پاک کردن",
|
||
"loading": "در حال بارگذاری…",
|
||
"empty": "کافهای با این فیلترها پیدا نشد",
|
||
"resultCount": "{count} کافه",
|
||
"applyFilters": "اعمال فیلتر",
|
||
"clearFilters": "پاک کردن",
|
||
"viewCafe": "مشاهده کافه",
|
||
"backToList": "بازگشت به لیست",
|
||
"notFound": "کافه یافت نشد",
|
||
"exploreMore": "کافههای بیشتر",
|
||
"reviewCount": "{count} نظر",
|
||
"mapTitle": "موقعیت روی نقشه",
|
||
"openInNeshan": "باز کردن در نشان",
|
||
"reviewsTitle": "نظرات مهمانها",
|
||
"ownerReply": "پاسخ کافه",
|
||
"coffeeAdvisor": {
|
||
"title": "مشاور نوشیدنی",
|
||
"subtitle": "بگویید برای چه منظوری میآیید تا پیشنهاد مناسب بگیرید",
|
||
"placeholder": "مثلاً: کار گروهی، قرار عاشقانه، انرژی برای امتحان…",
|
||
"submit": "پیشنهاد بده",
|
||
"loading": "در حال فکر کردن…",
|
||
"notConfigured": "مشاور هوشمند هنوز برای این کافه فعال نشده",
|
||
"failed": "پیشنهاد در دسترس نیست. بعداً دوباره تلاش کنید"
|
||
},
|
||
"cities": {
|
||
"tehran": "تهران",
|
||
"karaj": "کرج"
|
||
},
|
||
"sort": {
|
||
"rating": "بیشترین امتیاز",
|
||
"reviews": "بیشترین نظر",
|
||
"name": "نام"
|
||
},
|
||
"openNow": "فقط باز",
|
||
"openNowLabel": "الان باز",
|
||
"closedLabel": "بسته",
|
||
"galleryTitle": "گالری تصاویر",
|
||
"workingHoursTitle": "ساعت کاری",
|
||
"instagramLabel": "اینستاگرام",
|
||
"websiteLabel": "وبسایت",
|
||
"days": {
|
||
"sat": "شنبه",
|
||
"sun": "یکشنبه",
|
||
"mon": "دوشنبه",
|
||
"tue": "سهشنبه",
|
||
"wed": "چهارشنبه",
|
||
"thu": "پنجشنبه",
|
||
"fri": "جمعه"
|
||
},
|
||
"filters": {
|
||
"themes": "تم",
|
||
"vibes": "حس و حال",
|
||
"occasions": "مناسب برای",
|
||
"spaceFeatures": "فضا",
|
||
"noise": "سطح صدا",
|
||
"priceTier": "قیمت",
|
||
"size": "اندازه"
|
||
}
|
||
},
|
||
"cafePublicProfile": {
|
||
"title": "پروفایل عمومی کافه",
|
||
"subtitle": "اطلاعاتی که به مهمانان در صفحه کافهیاب نمایش داده میشود",
|
||
"tabs": {
|
||
"info": "اطلاعات",
|
||
"gallery": "گالری",
|
||
"hours": "ساعت کاری",
|
||
"social": "شبکههای اجتماعی"
|
||
},
|
||
"description": "توضیحات کافه",
|
||
"descriptionPlaceholder": "درباره کافه، فضا، نوشیدنیها و تجربهای که ارائه میدهید بنویسید…",
|
||
"instagram": "آدرس اینستاگرام (بدون @)",
|
||
"instagramPlaceholder": "mycafe.tehran",
|
||
"website": "آدرس وبسایت",
|
||
"websitePlaceholder": "https://mycafe.ir",
|
||
"gallery": "گالری تصاویر (حداکثر ۸ عکس)",
|
||
"galleryHint": "عکس با کیفیت از فضای کافه آپلود کنید — JPEG، PNG یا WebP تا ۵ مگابایت",
|
||
"uploadPhoto": "آپلود عکس",
|
||
"uploading": "در حال آپلود…",
|
||
"uploadFailed": "آپلود ناموفق بود",
|
||
"galleryFull": "گالری پر است. ابتدا یک عکس را حذف کنید",
|
||
"removePhoto": "حذف",
|
||
"workingHours": "ساعت کاری هر روز",
|
||
"isOpen": "باز است",
|
||
"openTime": "ساعت باز",
|
||
"closeTime": "ساعت بسته",
|
||
"days": {
|
||
"sat": "شنبه",
|
||
"sun": "یکشنبه",
|
||
"mon": "دوشنبه",
|
||
"tue": "سهشنبه",
|
||
"wed": "چهارشنبه",
|
||
"thu": "پنجشنبه",
|
||
"fri": "جمعه"
|
||
},
|
||
"save": "ذخیره",
|
||
"saved": "ذخیره شد",
|
||
"saveFailed": "ذخیره ناموفق بود",
|
||
"loading": "در حال بارگذاری…",
|
||
"showOnKoja": "نمایش در کوجا",
|
||
"showOnKojaHint": "کافه شما در فهرست عمومی کوجا (koja.meezi.ir) نمایش داده شود. پیشفرض روشن است."
|
||
},
|
||
"discoverProfile": {
|
||
"sections": {
|
||
"themes": "تم و سبک فضا",
|
||
"occasions": "مناسب برای (چند انتخابی)",
|
||
"spaceFeatures": "امکانات فضا",
|
||
"vibes": "حس و حال",
|
||
"size": "اندازه",
|
||
"floors": "طبقات",
|
||
"noiseLevel": "سطح صدا",
|
||
"priceTier": "رده قیمت"
|
||
},
|
||
"hints": {
|
||
"themes": "برای پیشنهاد هوشمند به مهمان — مثلاً مدرن، سنتی، پر گیاه",
|
||
"occasions": "قرار، خانواده، دوستان، پیدا کردن نفر جدید و …",
|
||
"spaceFeatures": "فضای باز، بسته، تراس، گیاه و …",
|
||
"vibes": "آرام، شلوغ، رمانتیک و …"
|
||
},
|
||
"themes": {
|
||
"modern": "مدرن",
|
||
"minimal": "مینیمال",
|
||
"vintage": "رترو",
|
||
"industrial": "صنعتی",
|
||
"scandi": "اسکاندیناوی",
|
||
"persian_traditional": "سنتی ایرانی",
|
||
"book_cafe": "کتابکافه",
|
||
"roastery": "رستری",
|
||
"dessert_focus": "دسرمحور",
|
||
"brunch": "برانچ",
|
||
"late_night": "شبگاه",
|
||
"plants_heavy": "پر گیاه",
|
||
"instagrammable": "عکاسی",
|
||
"heritage": "میراث",
|
||
"luxury": "لوکس",
|
||
"specialty_coffee": "قهوه تخصصی",
|
||
"tea_house": "چایخانه",
|
||
"art_gallery": "گالری هنر",
|
||
"sport_cafe": "کافه ورزشی",
|
||
"gaming_cafe": "گیمینگ کافه"
|
||
},
|
||
"occasions": {
|
||
"date": "قرار عاشقانه",
|
||
"family": "با خانواده",
|
||
"friends": "با دوستان",
|
||
"finding_someone": "پیدا کردن نفر جدید",
|
||
"solo": "تنهایی",
|
||
"business_meeting": "جلسه کاری",
|
||
"study_work": "درس و کار",
|
||
"celebration": "جشن",
|
||
"quick_coffee": "قهوه سریع",
|
||
"breakfast": "صبحانه",
|
||
"brunch": "برانچ",
|
||
"after_dinner": "بعد از شام",
|
||
"group_large": "گروه بزرگ"
|
||
},
|
||
"spaceFeatures": {
|
||
"indoor": "فضای بسته",
|
||
"outdoor": "فضای باز",
|
||
"terrace": "تراس",
|
||
"rooftop": "پشتبام",
|
||
"garden": "باغ",
|
||
"plants": "گیاه",
|
||
"wifi": "وایفای",
|
||
"parking": "پارکینگ",
|
||
"wheelchair": "ویلچر",
|
||
"kids_friendly": "مناسب کودک",
|
||
"pet_friendly": "حیوان خانگی",
|
||
"smoking_area": "سیگار",
|
||
"live_music": "موسیقی زنده",
|
||
"private_room": "اتاق خصوصی",
|
||
"counter_only": "فقط پیشخوان",
|
||
"takeaway": "بیرونبر",
|
||
"hookah": "قلیان",
|
||
"board_games": "بازی رومیزی",
|
||
"no_smoking": "بدون دود",
|
||
"prayer_room": "نمازخانه"
|
||
},
|
||
"vibes": {
|
||
"quiet": "آرام",
|
||
"lively": "شلوغ و پرانرژی",
|
||
"romantic": "رمانتیک",
|
||
"cozy": "دنج",
|
||
"trendy": "ترندی",
|
||
"traditional": "سنتی",
|
||
"artistic": "هنری",
|
||
"luxury": "لوکس",
|
||
"casual": "راحت",
|
||
"study_friendly": "مناسب درس"
|
||
},
|
||
"sizes": {
|
||
"tiny": "خیلی کوچک",
|
||
"cozy": "دنج",
|
||
"medium": "متوسط",
|
||
"large": "بزرگ",
|
||
"spacious": "فراخ"
|
||
},
|
||
"floors": {
|
||
"one": "یک طبقه",
|
||
"two": "دو طبقه",
|
||
"three": "سه طبقه",
|
||
"multi": "چند طبقه"
|
||
},
|
||
"noiseLevels": {
|
||
"quiet": "آرام",
|
||
"moderate": "متوسط",
|
||
"lively": "پرصدا"
|
||
},
|
||
"priceTiers": {
|
||
"budget": "اقتصادی",
|
||
"mid": "میانه",
|
||
"premium": "پریمیوم"
|
||
}
|
||
}
|
||
}
|