{
  "app": {
    "name": "Goovii POS",
    "subtitle": "Система точки продаж",
    "version": "Версия {version}"
  },
  "receipt": {
    "label": "Чек",
    "date": "Дата",
    "cashier": "Кассир",
    "register": "Касса",
    "subtotal": "Промежуточная сумма",
    "discount": "Скидка",
    "tax": "Налог",
    "total": "ИТОГО",
    "payment": "Оплата",
    "amountPaid": "Оплачено",
    "change": "Сдача",
    "bonusEarned": "Начислено бонусов",
    "bonusBalance": "Ваш баланс",
    "thankYou": "Спасибо за покупку!",
    "runner": "РАННЕР",
    "ticket": "Билет",
    "items": "{count} позиция(й)"
  },
  "common": {
    "continue": "Продолжить",
    "cancel": "Отмена",
    "skip": "Пропустить",
    "confirm": "Подтвердить",
    "save": "Сохранить",
    "delete": "Удалить",
    "edit": "Редактировать",
    "close": "Закрыть",
    "back": "Назад",
    "next": "Далее",
    "tryAnyway": "Всё равно попробовать",
    "loading": "Загрузка...",
    "error": "Ошибка",
    "success": "Успешно",
    "warning": "Предупреждение",
    "ok": "ОК",
    "understood": "Понятно",
    "yes": "Да",
    "no": "Нет",
    "search": "Поиск",
    "filter": "Фильтр",
    "moreOptions": "Дополнительные опции",
    "clear": "Очистить",
    "view": "Просмотр",
    "viewAll": "Смотреть все",
    "minutes": "мин",
    "total": "Итого",
    "subtotal": "Промежуточный итог",
    "discount": "Скидка",
    "tax": "Налог",
    "quantity": "Количество",
    "price": "Цена",
    "date": "Дата",
    "time": "Время",
    "status": "Статус",
    "note": "Заметка",
    "notes": "Заметки",
    "required": "Обязательно",
    "invalidNumber": "Неверное число",
    "opening": "Открытие...",
    "closing": "Закрытие...",
    "done": "Готово",
    "refresh": "Обновить",
    "copy": "Копировать"
  },
  "auth": {
    "institutionToken": {
      "title": "Введите токен учреждения",
      "label": "Токен учреждения",
      "hint": "Вставьте токен вашего учреждения",
      "pasteTooltip": "Вставить токен",
      "helperText": "Токен учреждения - это длинная буквенно-цифровая строка, предоставленная вашим администратором. Вы можете вставить её из буфера обмена.",
      "validation": {
        "required": "Пожалуйста, введите токен учреждения",
        "minLength": "Токен должен содержать не менее 10 символов"
      },
      "success": "Учреждение подтверждено!",
      "apiTodo": "Учреждение подтверждено! (TODO: Реализовать API)",
      "error": "Недействительный токен учреждения: {error}"
    },
    "passcode": {
      "title": "Введите PIN-код",
      "subtitle": "Выберите кассу и введите PIN",
      "setupTitle": "Установите ваш PIN-код",
      "confirmTitle": "Подтвердите ваш PIN-код",
      "label": "PIN-код",
      "hint": "Введите ваш 4-6 значный PIN",
      "validation": {
        "required": "Пожалуйста, введите PIN-код",
        "minLength": "PIN должен содержать не менее 4 цифр",
        "mismatch": "PIN-коды не совпадают"
      },
      "selectRegister": "Выберите кассу",
      "noRegisters": "Нет доступных касс",
      "success": "Вход выполнен успешно!",
      "error": "Неверный PIN-код",
      "setupSuccess": "PIN-код успешно установлен!"
    },
    "logout": "Выйти",
    "loggingOut": "Выход..."
  },
  "home": {
    "title": "Главная",
    "dashboard": "Панель управления",
    "comingSoon": "Панель управления скоро",
    "serviceLabel": "Сервис: {name}",
    "lockScreen": "Заблокировать экран",
    "syncStatus": "Статус синхронизации",
    "menu": "Меню",
    "more": "Больше",
    "lockScreenTitle": "Заблокировать экран",
    "lockScreenMessage": "Функция блокировки экрана будет реализована в ближайшее время.",
    "welcomeBack": "С возвращением!",
    "shiftStatus": "Статус смены",
    "cashRegister": "Касса",
    "quickStats": "Быстрая статистика",
    "pendingSync": "Ожидает синхронизации",
    "failedSync": "Ошибка синхронизации",
    "online": "Онлайн",
    "offline": "Офлайн",
    "sync": "Синхронизация",
    "syncActive": "Активна",
    "syncIdle": "Неактивна",
    "quickActions": "Быстрые действия",
    "shiftOpen": "Открыта",
    "shiftClosed": "Закрыта",
    "browseProducts": "Просмотреть товары",
    "browseProductsDesc": "Просмотр и поиск каталога товаров",
    "createNewTicket": "Создать новый чек",
    "createNewTicketDesc": "Начать новый заказ",
    "viewFloorPlan": "Просмотреть план зала",
    "viewFloorPlanDesc": "Управление столами и бронированием",
    "viewCart": "Посмотреть корзину"
  },
  "dashboard": {
    "goodMorning": "Доброе утро,",
    "goodAfternoon": "Добрый день,",
    "goodEvening": "Добрый вечер,",
    "startedAt": "Начало",
    "connectionStatus": "Подключение",
    "syncStatus": "Синхронизация",
    "connectedToServer": "Подключено к серверу",
    "workingOffline": "Работа офлайн",
    "allDataSynced": "Все данные синхронизированы",
    "dataWillSyncWhenOnline": "Данные синхронизируются при подключении"
  },
  "products": {
    "title": "Товары",
    "comingSoon": "Экран товаров скоро",
    "weightUnit": {
      "gram": "г",
      "kilogram": "кг",
      "liter": "л",
      "milliliter": "мл",
      "pound": "фунт",
      "ounce": "унц",
      "piece": "шт"
    },
    "allCategories": "Все категории",
    "allProducts": "Все товары",
    "categories": "Категории",
    "selectCategory": "Выберите категорию",
    "noCategories": "Нет доступных категорий",
    "noProducts": "Нет доступных товаров",
    "noCategoryProducts": "Нет товаров в этой категории",
    "noProductsInCategory": "Нет элементов в этой категории",
    "noSearchResults": "Товары не найдены",
    "searchProducts": "Поиск товаров...",
    "addToTicket": "Добавить",
    "productInfo": "Информация о товаре",
    "unavailable": "Недоступен",
    "popular": "Популярный",
    "loadingProducts": "Загрузка товаров...",
    "loadingCategories": "Загрузка категорий...",
    "errorLoading": "Не удалось загрузить товары",
    "retry": "Повторить",
    "addProduct": "Добавить товар",
    "editProduct": "Редактировать товар",
    "deleteProduct": "Удалить товар",
    "addedToTicket": "Товар успешно добавлен",
    "errorAdding": "Не удалось добавить товар",
    "productName": "Название товара",
    "productPrice": "Цена",
    "productCategory": "Категория",
    "inStock": "В наличии",
    "outOfStock": "Нет в наличии",
    "weightProduct": "Весовой товар",
    "hasModifiers": "Есть опции",
    "description": "Описание",
    "sku": "Артикул:",
    "skuCopied": "Артикул скопирован в буфер обмена",
    "copied": "Скопировано!",
    "addedToTicket": "Добавлено в чек",
    "zReportFiled": "Невозможно добавить товары - Z-отчет уже сформирован",
    "items": "товаров",
    "uncategorized": "Без категории",
    "modifiersOptions": "Опции / Модификаторы",
    "taxInfo": "Налоговая информация",
    "taxLetter": "Буква налога",
    "canBeOpened": "Можно открыть",
    "noDiscount": "Без скидки",
    "ingredients": "Ингредиенты / Состав",
    "loadingIngredients": "Загрузка ингредиентов..."
  },
  "modifiers": {
    "selectOptions": "Выберите опции",
    "required": "Обязательно",
    "selectOne": "Выберите один вариант",
    "selectMultiple": "Выберите любые опции",
    "selectRange": "Выберите {min}-{max} опций",
    "selectUpTo": "Выберите до {max} опций",
    "quantity": "Количество",
    "addToOrder": "Добавить в заказ",
    "enterWeight": "Введите вес",
    "weight": "Вес",
    "errorAdding": "Не удалось добавить модификаторы",
    "selectedItems": "Выбранные элементы",
    "none": "Нет",
    "total": "Итого с модификаторами"
  },
  "tickets": {
    "title": "Чеки",
    "comingSoon": "Список чеков скоро",
    "ticketNumber": "Чек #",
    "newTicket": "Новый чек",
    "table": "Стол {id}",
    "server": "Сервер",
    "items": "Позиции",
    "addItem": "Добавить позицию",
    "removeItem": "Удалить позицию",
    "splitTicket": "Разделить чек",
    "mergeTicket": "Объединить чек",
    "transferTicket": "Перенести чек",
    "printTicket": "Печать чека",
    "payTicket": "Оплатить чек",
    "voidTicket": "Аннулировать чек",
    "ticketDetail": "Детали чека",
    "ticketDetailComing": "Чек #{id} скоро",
    "filterAll": "Все",
    "filterActive": "Активные",
    "filterCompleted": "Завершённые",
    "filterRefunded": "Возвраты",
    "showing": "Показано {count} из {total}",
    "loadingTickets": "Загрузка чеков...",
    "errorLoading": "Ошибка загрузки чеков",
    "noTickets": "Чеков пока нет",
    "noActiveTickets": "Нет активных чеков",
    "noCompletedTickets": "Нет завершённых чеков",
    "noRefundedTickets": "Нет возвратов",
    "loadMore": "Загрузить ещё {count} чеков",
    "createTicketFromProducts": "Создайте чек из вкладки Товары",
    "selectTicketType": "Выберите тип чека",
    "dineInDesc": "Клиент обедает в заведении",
    "takeawayDesc": "Клиент забирает с собой",
    "deliveryDesc": "Доставка клиенту",
    "ticketSelected": "Выбран чек #{number}",
    "itemsCount": "{count} поз.",
    "refunded": "Возврат",
    "statusDraft": "Черновик",
    "statusOpen": "Открыт",
    "statusPaid": "Оплачен",
    "statusCompleted": "Завершён",
    "statusCanceled": "Отменён",
    "statusPushTicket": "Ожидание",
    "statusSentToKitchen": "На кухне",
    "statusInProgress": "В работе",
    "typeDineIn": "В зале",
    "typeTakeaway": "С собой",
    "typeDelivery": "Доставка",
    "typeUnknown": "Неизвестно",
    "noShiftOpen": "Смена не открыта",
    "openShiftToViewTickets": "Откройте смену для просмотра чеков",
    "payTypeCash": "Наличные",
    "payTypeCard": "Карта",
    "payTypeMixed": "Смешанный",
    "payTypeQR": "QR оплата",
    "payTypeInstitution": "Счёт заведения",
    "payTypeUnknown": "Неизвестно",
    "completedTypePaid": "Оплачено",
    "completedTypeGuestPaid": "Гость оплатил",
    "completedTypeInstitutionPaid": "Счёт заведения",
    "completedTypeGuestLeft": "Гость ушел",
    "completedTypeStaffMistake": "Ошибка персонала",
    "completedTypeNoShow": "Не явился",
    "completedTypeCanceled": "Отменено",
    "completedTypeUnknown": "Неизвестно",
    "cancelReason": "Причина: {reason}"
  },
  "ticket": {
    "selectType": "Выберите тип чека",
    "dineIn": "В заведении",
    "dineInDescription": "Для посетителей, которые едят в ресторане",
    "takeaway": "На вынос",
    "takeawayDescription": "Для посетителей, которые забирают еду с собой",
    "delivery": "Доставка",
    "deliveryDescription": "Для заказов с доставкой",
    "selectTable": "Выберите стол",
    "noTablesAvailable": "Нет доступных столов",
    "cannotModify": "Невозможно изменить завершенный или отмененный чек",
    "errorCreating": "Не удалось создать чек",
    "creatingTicket": "Создание чека...",
    "addingProduct": "Добавление товара..."
  },
  "tables": {
    "title": "Столы",
    "comingSoon": "План столов скоро",
    "floorPlan": "План зала",
    "available": "Доступен",
    "occupied": "Занят",
    "reserved": "Зарезервирован",
    "reservedPending": "Зарезервирован (Ожидание)",
    "reservedConfirmed": "Зарезервирован (Подтверждён)",
    "pendingShort": "Ожидание",
    "confirmedShort": "Подтв.",
    "dirty": "Грязный",
    "free": "Свободен",
    "tableNumber": "Стол {number}",
    "table": "Стол {number}",
    "bar": "Барная стойка",
    "bars": "Бар",
    "tables": "Столы",
    "barAlwaysAvailable": "Всегда доступен",
    "newReceipt": "Новый чек",
    "refreshing": "Обновление плана зала...",
    "loadingFloorPlan": "Загрузка плана зала...",
    "errorLoading": "Ошибка загрузки плана зала",
    "noFloorPlan": "Нет плана зала",
    "noFloorPlanDesc": "Столы или план зала не настроены для этой локации",
    "zoomIn": "Увеличить",
    "zoomOut": "Уменьшить",
    "resetView": "Сбросить вид",
    "fitToScreen": "По размеру экрана",
    "listView": "Список",
    "canvasView": "План зала",
    "selectFloor": "Выберите этаж",
    "selectRoom": "Выберите зал",
    "floor": "Этаж",
    "room": "Зал",
    "type": "Тип",
    "capacity": "Вместимость",
    "guests": "гостей",
    "currentTicket": "Текущий чек",
    "createTicket": "Создать чек",
    "viewTicket": "Просмотреть чек",
    "moveTable": "Переместить",
    "checkIn": "Зарегистрировать",
    "viewBooking": "Просмотреть бронирование",
    "createTicketForTable": "Создание чека для стола {table}",
    "ticketCreatedForTable": "Чек создан для стола {table}",
    "ticketCreatedForBar": "Чек создан для {bar}",
    "selectTicket": "Выбрать чек",
    "errorCreatingTicket": "Ошибка создания чека",
    "noTicketFound": "Чек для этого стола не найден",
    "noAvailableTables": "Нет свободных столов для перемещения",
    "noTicketToMove": "Нет чека для перемещения с этого стола",
    "moveTableFailed": "Не удалось переместить стол",
    "tableMovedSuccess": "Перемещено со стола {from} на стол {to}",
    "moveTableTitle": "Переместить на другой стол",
    "moveTableDescription": "Переместить гостей со стола {from} на новый стол",
    "confirmMoveTable": "Переместить чек со стола {from} на стол {to}?",
    "selectDestination": "Выберите стол назначения:",
    "guestCheckedIn": "Гость зарегистрирован за столом {table}",
    "errorCheckingIn": "Ошибка регистрации гостя",
    "tableLabel": "Стол",
    "ticketNumber": "Чек",
    "occupiedByOther": {
      "title": "Стол занят",
      "cashRegister": "Касса",
      "staff": "Сотрудник",
      "hint": "Этот стол сейчас занят другой кассой. Вы не можете создавать чеки или изменять заказы на этом столе."
    }
  },
  "bookings": {
    "title": "Бронирования",
    "comingSoon": "Бронирования - скоро",
    "manageReservations": "Управление бронированием столов",
    "newBooking": "Новое бронирование",
    "showing": "Показано {count} из {total}",
    "count": "{count} бронирований",
    "addNew": "Добавить бронирование",
    "customerName": "Имя клиента",
    "customerPhone": "Номер телефона",
    "partySize": "Количество гостей",
    "bookingTime": "Время бронирования",
    "bookingDate": "Дата бронирования",
    "filterAll": "Все",
    "filterPending": "Ожидают",
    "filterConfirmed": "Подтверждённые",
    "filterCancelled": "Отменённые",
    "statusPending": "Ожидает",
    "statusConfirmed": "Подтверждено",
    "statusCancelled": "Отменено",
    "statusCompleted": "Завершено",
    "noBookings": "Нет бронирований",
    "noBookingsHint": "Нажмите +, чтобы создать новое бронирование",
    "noBookingsForDate": "Нет бронирований на {date}",
    "errorLoading": "Ошибка загрузки бронирований",
    "guests": "гостей",
    "guest": "гость",
    "numberOfGuests": "Количество гостей",
    "customerInfo": "Информация о клиенте",
    "bookingDetails": "Детали бронирования",
    "table": "Стол",
    "note": "Примечания",
    "selectTable": "Выберите стол",
    "selectTableRequired": "Пожалуйста, выберите стол",
    "noTablesAvailable": "Нет доступных столов на это время",
    "noTablesConfigured": "Столы не настроены. Настройте столы в панели администратора.",
    "createBooking": "Создать бронирование",
    "bookingCreated": "Бронирование успешно создано",
    "confirmBooking": "Подтвердить бронирование",
    "cancelBooking": "Отменить бронирование",
    "bookingConfirmed": "Бронирование успешно подтверждено",
    "bookingCancelled": "Бронирование успешно отменено",
    "guestCount": "{count} гостей",
    "notes": "Примечания",
    "details": "Детали",
    "date": "Дата",
    "time": "Время",
    "accept": "Принять",
    "checkIn": "Регистрация",
    "cancel": "Отменить",
    "createSuccess": "Бронирование успешно создано",
    "createError": "Не удалось создать бронирование",
    "acceptSuccess": "Бронирование успешно принято",
    "checkInSuccess": "{name} зарегистрирован",
    "checkInError": "Не удалось зарегистрировать гостя",
    "cancelSuccess": "Бронирование успешно отменено",
    "updateSuccess": "Бронирование успешно обновлено",
    "updateError": "Не удалось обновить бронирование",
    "deleteSuccess": "Бронирование успешно удалено",
    "deleteError": "Не удалось удалить бронирование",
    "acceptError": "Не удалось принять бронирование",
    "cancelError": "Не удалось отменить бронирование",
    "editBooking": "Редактировать бронирование",
    "updateBooking": "Обновить бронирование",
    "deleteTitle": "Удалить бронирование",
    "deleteConfirmation": "Вы уверены, что хотите удалить бронирование для {0}?",
    "nameRequired": "Имя клиента обязательно",
    "phoneRequired": "Номер телефона обязателен",
    "noBookingsHint": "Нет бронирований на эту дату",
    "statusNoShow": "Не явился",
    "notesHint": "Добавьте особые пожелания или примечания...",
    "noBookingInfo": "Информация о бронировании недоступна",
    "duration": "Продолжительность",
    "phone": "Телефон",
    "selectLocation": "Выберите расположение",
    "floor": "Этаж",
    "room": "Зал",
    "noTablesInLocation": "Нет столов в выбранном месте",
    "selectFloorRoom": "Выберите этаж и зал для просмотра доступных столов",
    "tableBookedAt": "Столик уже забронирован на {time} для {name}",
    "tableBooked": "Столик уже забронирован"
  },
  "session": {
    "title": "Сессия",
    "comingSoon": "Управление сессией скоро",
    "openSession": "Открыть сессию",
    "closeSession": "Закрыть сессию",
    "currentSession": "Текущая сессия",
    "sessionReport": "Отчет по сессии",
    "startingCash": "Начальная наличность",
    "endingCash": "Конечная наличность",
    "cashSales": "Продажи наличными",
    "cardSales": "Продажи картой",
    "totalSales": "Всего продаж"
  },
  "reports": {
    "title": "Отчеты",
    "comingSoon": "Отчеты - скоро",
    "viewReports": "Просмотр отчетов о продажах и сменах",
    "availableReports": "Доступные отчёты",
    "salesReport": "Отчет о продажах",
    "salesReportDesc": "Просмотр итогов продаж за период",
    "staffReport": "Отчет о персонале",
    "productReport": "Отчет о товарах",
    "zReport": {
      "title": "Z-отчёт",
      "sent": "Z-отчёт отправлен",
      "notSent": "Z-отчёт не отправлен"
    },
    "zReportDesc": "Фискальный отчёт закрытия дня",
    "xReport": "X-отчет",
    "xReportDesc": "Информационный отчёт смены",
    "generateReport": "Создать отчет",
    "exportReport": "Экспортировать отчет",
    "quickStats": "Быстрая статистика",
    "openShiftForStats": "Откройте смену для просмотра статистики",
    "openShiftHint": "Откройте смену для доступа ко всем отчётам",
    "startedAt": "Начало в {time}",
    "ticketsCount": "Чеки",
    "totalSales": "Общая продажа",
    "cashSales": "Продажи наличными",
    "cardSales": "Продажи картой",
    "totalTax": "Общий налог",
    "totalDiscount": "Общая скидка",
    "loadError": "Не удалось загрузить отчёт",
    "noData": "Нет данных",
    "noDataHint": "Попробуйте выбрать другой диапазон дат",
    "changeDateRange": "Изменить диапазон дат",
    "dailyBreakdown": "Дневная разбивка",
    "tickets": "чеков",
    "confirmZReport": "Подтверждение Z-отчёта",
    "confirmZReportMessage": "Вы уверены, что хотите отправить Z-отчёт в фискальную службу? Это действие нельзя отменить.",
    "sendReport": "Отправить отчёт",
    "sendToFiscal": "Отправить в ФС",
    "sending": "Отправка...",
    "zReportSent": "Z-отчёт успешно отправлен",
    "zReportAlreadySent": "Z-отчёт уже был отправлен для этой смены",
    "zReportAlreadyFiled": "Z-отчёт уже зарегистрирован для этой смены",
    "zReportError": "Не удалось отправить Z-отчёт",
    "openTicketsTitle": "Закройте все чеки",
    "openTicketsMessage": "У вас есть {0} открытых чеков. Пожалуйста, закройте все чеки перед отправкой Z-отчёта.",
    "posTerminalReports": "POS-терминал",
    "posXBalance": "X-Баланс",
    "posXBalanceDesc": "Проверка баланса терминала",
    "posXBalanceRequested": "Запрос X-Баланса отправлен на терминал",
    "posTotalReport": "Итоговый отчёт",
    "posTotalReportDesc": "Дневной итог терминала (Z-отчёт)",
    "posTotalReportRequested": "Запрос итогового отчёта отправлен на терминал",
    "shiftId": "ID смены",
    "startTime": "Время начала",
    "endTime": "Время окончания",
    "summary": "Итог",
    "paymentBreakdown": "Разбивка платежей",
    "categoryBreakdown": "Разбивка по категориям",
    "items": "позиций",
    "zReportStatus": "Z-отчёт",
    "filed": "Подан",
    "pending": "Ожидает",
    "status": "Статус",
    "shiftBreakdown": "Разбивка по сменам",
    "shiftOpen": "Открыто",
    "noDate": "Нет даты",
    "cashPayments": "Наличные платежи",
    "cardPayments": "Карточные платежи",
    "qrPayments": "QR-платежи",
    "institutionPay": "Оплата заведением",
    "cashBalance": "Баланс наличных",
    "discountsAndTaxes": "Скидки и налоги",
    "grossSales": "Валовая продажа",
    "netSales": "Чистая продажа (после скидки)",
    "paymentTypes": "Типы оплаты",
    "onTheHouse": "За счёт заведения",
    "cashShiftSummary": "Итог кассовой смены",
    "openingBalance": "Начальный баланс",
    "deposits": "Внесение",
    "withdrawals": "Изъятие",
    "collection": "Инкассация",
    "cashInDrawer": "Наличные в кассе",
    "endOfShiftBalance": "Баланс на конец смены",
    "noPrinterConnected": "Принтер не подключен",
    "printSuccess": "Отчёт успешно напечатан",
    "printError": "Не удалось напечатать отчёт"
  },
  "more": {
    "title": "Больше",
    "subtitle": "Настройки и опции",
    "operations": "Операции",
    "session": "Сессия",
    "account": "Аккаунт",
    "appSettings": "Настройки приложения",
    "appSettingsDesc": "Настроить приложение",
    "languageDesc": "Изменить язык приложения",
    "helpSupport": "Помощь и поддержка",
    "helpSupportDesc": "Получить помощь и поддержку",
    "helpComingSoon": "Помощь - скоро",
    "logoutDesc": "Выйти из аккаунта",
    "logoutConfirm": "Вы уверены, что хотите выйти?",
    "shiftManagement": "Управление сменой",
    "shiftManagementDesc": "Открыть/закрыть смену",
    "shiftManagementComingSoon": "Управление сменой - скоро",
    "endOfDayReport": "Отчет конца дня",
    "endOfDayReportComingSoon": "Z-отчет - скоро"
  },
  "settings": {
    "title": "Настройки",
    "comingSoon": "Экран настроек скоро",
    "general": "Общие настройки",
    "printer": "Настройки принтера",
    "payment": "Настройки оплаты",
    "language": "Язык",
    "theme": "Тема",
    "notifications": "Уведомления",
    "about": "О программе",
    "appearance": "Внешний вид",
    "themeDesc": "Выберите предпочтительную цветовую схему",
    "light": "Светлая",
    "dark": "Тёмная",
    "system": "Авто",
    "themeChanged": "Тема изменена",
    "languageRegion": "Язык и регион",
    "selectLanguage": "Выбрать язык",
    "languageWillChange": "Приложение перезагрузится с новым языком",
    "languageChanged": "Язык изменён",
    "appName": "Название приложения",
    "version": "Версия",
    "buildNumber": "Номер сборки",
    "resetSettings": "Сбросить настройки",
    "resetSettingsDesc": "Восстановить все настройки по умолчанию",
    "resetConfirm": "Вы уверены, что хотите сбросить все настройки до значений по умолчанию?",
    "reset": "Сбросить",
    "settingsReset": "Настройки сброшены",
    "security": "Безопасность",
    "autoLock": "Автоблокировка",
    "autoLockDesc": "Блокировка экрана при бездействии",
    "autoLockEnabled": "Автоблокировка включена",
    "autoLockDisabled": "Автоблокировка отключена",
    "autoLockTimeout": "Блокировать через",
    "autoLockTimeoutChanged": "Время автоблокировки установлено на {duration}",
    "autoLockInfo": "Экран будет заблокирован через {duration} бездействия",
    "autoLock30Seconds": "30 секунд",
    "autoLock1Minute": "1 минута",
    "autoLock2Minutes": "2 минуты",
    "autoLock5Minutes": "5 минут",
    "autoLock10Minutes": "10 минут",
    "autoLock15Minutes": "15 минут",
    "autoLock30Minutes": "30 минут"
  },
  "theme": {
    "light": "Светлая",
    "dark": "Тёмная",
    "system": "Системная",
    "selectTheme": "Выбрать тему",
    "lightMode": "Светлый режим",
    "darkMode": "Тёмный режим",
    "systemMode": "По умолчанию системы"
  },
  "printer": {
    "title": "Принтеры",
    "managePrinters": "Управление термопринтерами",
    "comingSoon": "Принтеры - скоро",
    "connect": "Подключить принтер",
    "disconnect": "Отключить принтер",
    "testPrint": "Тестовая печать",
    "selectPrinter": "Выбрать принтер",
    "connected": "Принтер подключен",
    "notConnected": "Принтер не подключен",
    "printing": "Печать...",
    "printSuccess": "Печать успешна",
    "printError": "Ошибка печати"
  },
  "payment": {
    "cash": "Наличные",
    "card": "Карта",
    "mixed": "Смешанная оплата",
    "amountDue": "К оплате",
    "amountPaid": "Оплачено",
    "change": "Сдача",
    "paymentMethod": "Способ оплаты",
    "processPayment": "Обработать оплату",
    "paymentSuccess": "Оплата успешна",
    "paymentFailed": "Ошибка оплаты"
  },
  "errors": {
    "pageNotFound": "Страница не найдена: {location}",
    "goHome": "На главную",
    "networkError": "Ошибка сети. Проверьте подключение.",
    "serverError": "Ошибка сервера. Повторите попытку позже.",
    "unknownError": "Произошла неизвестная ошибка.",
    "permissionDenied": "Доступ запрещен",
    "sessionExpired": "Сессия истекла. Войдите снова.",
    "actionBlocked": "Действие заблокировано",
    "zReportFiled": "Z-отчет уже подан для этой смены. Вы не можете изменять чеки после закрытия смены."
  },
  "validation": {
    "required": "Это поле обязательно",
    "email": "Введите корректный email",
    "phone": "Введите корректный номер телефона",
    "min": "Минимальное значение {min}",
    "max": "Максимальное значение {max}",
    "minLength": "Минимальная длина {length} символов",
    "maxLength": "Максимальная длина {length} символов"
  },
  "dateTime": {
    "today": "Сегодня",
    "yesterday": "Вчера",
    "thisWeek": "Эта неделя",
    "thisMonth": "Этот месяц",
    "custom": "Произвольный период"
  },
  "construction": {
    "title": "В разработке",
    "message": "Эта функция находится в разработке"
  },
  "ticketPanel": {
    "newTicket": "Новый чек",
    "ticketNumber": "Чек #{number}",
    "createNew": "Создать новый",
    "stepOneTitle": "Настройка заказа",
    "stepTwoTitle": "Оплата",
    "completedTitle": "Завершено",
    "noShiftOpen": "Смена не открыта",
    "openShiftToCreate": "Откройте смену для создания чеков",
    "noActiveTicket": "Нет активного чека",
    "selectTypeToCreate": "Выберите тип чека для создания нового заказа",
    "ticketType": "Тип чека",
    "dineIn": "В заведении",
    "takeaway": "На вынос",
    "delivery": "Доставка",
    "typeDineIn": "В заведении",
    "typeTakeaway": "На вынос",
    "typeDelivery": "Доставка",
    "typeUnknown": "Неизвестно",
    "selectTable": "Выберите стол",
    "selectTableHint": "Выберите стол для заказа в зале",
    "noFreeTables": "Нет свободных столов",
    "noFreeTablesHint": "Все столы заняты или забронированы",
    "continueWithoutTable": "Продолжить без стола",
    "typeDineInShort": "Зал",
    "typeTakeawayShort": "Вын",
    "typeDeliveryShort": "Дост",
    "orSelectFromTables": "Или выберите стол из вкладки Столы для заказа в зале",
    "orderType": "Тип:",
    "changeOrderType": "Изменить тип заказа",
    "changeOrderTypeMessage": "Вы уверены, что хотите изменить тип заказа с {from} на {to}?",
    "emptyCart": "Корзина пуста",
    "addProductsHint": "Выберите товары из каталога для добавления в заказ",
    "tapToAddProducts": "Нажмите, чтобы добавить товары",
    "guestNumber": "Гость {number}",
    "addGuest": "Добавить гостя",
    "addClient": "Добавить клиента",
    "selectOrCreateClient": "Выберите существующего или создайте нового",
    "selectClient": "Выбрать",
    "newClient": "Новый",
    "searchClient": "Поиск по имени или телефону...",
    "clientName": "Имя",
    "clientFirstName": "Имя",
    "clientLastName": "Фамилия",
    "clientSurname": "Фамилия (необязательно)",
    "clientPhone": "Номер телефона",
    "clientDateOfBirth": "Дата рождения (необязательно)",
    "selectDateOfBirth": "Выберите дату рождения",
    "clientSex": "Пол",
    "clientDiscount": "Скидка %",
    "clientComment": "Комментарий",
    "male": "Мужской",
    "female": "Женский",
    "other": "Другой",
    "notSpecified": "Не указано",
    "nameRequired": "Имя обязательно",
    "firstNameRequired": "Имя обязательно",
    "lastNameRequired": "Фамилия обязательна",
    "phoneRequired": "Номер телефона обязателен",
    "noClients": "Клиентов пока нет",
    "noClientsFound": "Клиенты не найдены",
    "clientAdded": "Клиент успешно добавлен",
    "clientSelected": "Клиент: {name}",
    "removeClient": "Удалить клиента",
    "sendToKitchen": "На кухню",
    "sentToKitchen": "Заказ отправлен на кухню",
    "sendToKitchenFailed": "Не удалось отправить на кухню",
    "sendToRunners": "Отправить",
    "sentToRunners": "Заказ успешно отправлен",
    "sendToRunnersFailed": "Не удалось отправить заказ",
    "noNewProductsToSend": "Нет новых продуктов для отправки",
    "total": "Итого",
    "addProductsToProceed": "Добавьте товары для перехода к оплате",
    "selectTypeToProceed": "Выберите тип чека для продолжения",
    "moveToPayment": "К оплате",
    "pay": "Оплата",
    "backToOrder": "Назад к заказу",
    "paymentType": "Тип оплаты",
    "cash": "Наличные",
    "card": "Карта",
    "mixed": "Смешанная",
    "cashAmount": "Сумма наличными",
    "change": "Сдача",
    "enableDiscount": "Применить скидку",
    "client": "Клиент",
    "applyClientDiscount": "Скидка клиента {percent}%",
    "clientDiscountDesc": "Автоматическая скидка для участника программы лояльности",
    "useBonusPoints": "Использовать бонусные баллы",
    "useBonusPointsDesc": "У вас есть {points} баллов",
    "pointsToUse": "Баллов для использования",
    "bonusDiscount": "Скидка: {amount}",
    "manualDiscount": "Ручная скидка",
    "enableManualDiscount": "Добавить ручную скидку",
    "manualDiscountDesc": "Скидка персонала или акция",
    "printOptions": "Параметры печати",
    "printReceipt": "Печатать чек",
    "print": "Печать",
    "new": "Новый",
    "fiscalReceipt": "Фискальный чек",
    "fiscalReceiptNote": "Для налоговой отчетности (если доступно)",
    "subtotal": "Промежуточный итог",
    "discount": "Скидка",
    "discountPercent": "Скидка ({percent}%)",
    "totalToPay": "К оплате",
    "completePurchase": "Завершить покупку",
    "complete": "Завершить",
    "paymentComplete": "Оплата успешно завершена!",
    "paymentFailed": "Ошибка оплаты",
    "ticketCanceled": "Чек отменен",
    "ticketCanceledSuccess": "Чек успешно отменен",
    "ticketCanceledFailed": "Не удалось отменить чек",
    "paymentSuccessful": "Оплата успешна",
    "ticketInfo": "Информация о чеке",
    "ticketNumberLabel": "Номер чека",
    "employeeLabel": "Сотрудник",
    "statusLabel": "Статус",
    "statusDraft": "Черновик",
    "statusOpen": "Открыт",
    "statusCompleted": "Завершён",
    "statusCanceled": "Отменён",
    "statusInProgress": "В работе",
    "openedAt": "Открыт в",
    "orderTypeLabel": "Тип заказа",
    "tableLabel": "Стол",
    "tableUnknown": "Стол",
    "paymentMethod": "Способ оплаты",
    "closedAt": "Закрыто в",
    "canceledAt": "Отменено в",
    "cancelReasonLabel": "Причина отмены",
    "completedTypePaid": "Оплачено",
    "completedTypeInstitutionPaid": "Счёт заведения",
    "completedTypeGuestLeft": "Гость ушел",
    "completedTypeStaffMistake": "Ошибка персонала",
    "completedTypeNoShow": "Не явился",
    "completedTypeCanceled": "Отменено",
    "products": "Товары",
    "comment": "Комментарий",
    "summary": "Итог",
    "paid": "Оплачено",
    "canceled": "Отменено",
    "refunds": "Возвраты",
    "addComment": "Добавить комментарий",
    "commentHint": "Добавьте заметки или специальные инструкции для этого чека",
    "commentPlaceholder": "Введите ваш комментарий здесь...",
    "commentSaved": "Комментарий сохранен",
    "commentSaveFailed": "Не удалось сохранить комментарий",
    "editQuantity": "Редактировать количество",
    "enterQuantity": "Введите количество",
    "editWeight": "Редактировать вес",
    "enterWeight": "Введите вес",
    "openBottle": "Открыть бутылку",
    "selectProduct": "Выберите товар",
    "selectProductHint": "Выберите товар для открытия",
    "selectProductFirst": "Сначала выберите товар",
    "exciseStamp": "Акцизная марка",
    "exciseStampHint": "Отсканируйте или введите штрих-код бутылки",
    "exciseStampHelp": "Отсканируйте штрих-код акцизной марки с этикетки бутылки",
    "enterExciseStamp": "Введите акцизную марку",
    "scanBarcode": "Сканировать штрих-код",
    "bottleOpened": "Бутылка успешно открыта",
    "openBottleFailed": "Не удалось открыть бутылку",
    "scannerNotSupported": "Сканер камеры доступен только на мобильных устройствах",
    "scannerNotSupportedWeb": "Сканирование QR-кода не поддерживается в браузере",
    "scannerUseManualEntry": "Пожалуйста, введите код вручную в текстовом поле",
    "scanExciseStamp": "Сканировать акцизную марку",
    "toggleFlash": "Включить вспышку",
    "flipCamera": "Переключить камеру",
    "scannerInstructions": "Поместите штрих-код в рамку для сканирования",
    "enterManually": "Ввести вручную",
    "printPreview": "Предпросмотр печати",
    "deleteTicket": "Удалить чек",
    "deleteTicketTitle": "Удалить чек?",
    "deleteTicketMessage": "Вы уверены, что хотите удалить этот чек? Это действие нельзя отменить.",
    "cancelTicket": "Отменить чек",
    "cancelTicketTitle": "Отменить чек",
    "cancelTicketMessage": "Вы уверены, что хотите отменить этот чек? Чек будет помечен как отмененный.",
    "cancelTicketAction": "Подтвердить отмену",
    "selectCancelReason": "Выберите причину отмены:",
    "cancelReasonGuestLeft": "Гость ушел",
    "cancelReasonStaffMistake": "Ошибка персонала",
    "cancelReasonPaid": "Уже оплачено",
    "cancelReasonInstitutionPaid": "Оплачено заведением",
    "cancelComment": "Комментарий (необязательно)",
    "cancelCommentHint": "Введите дополнительные детали...",
    "refundTicket": "Возврат средств",
    "refundConfirmMessage": "Вы уверены, что хотите вернуть средства за этот чек? Это оформит возврат для клиента.",
    "totalAmount": "Общая сумма",
    "refundReasonType": "Причина возврата",
    "refundReasonExpired": "Просроченный товар",
    "refundReasonNotAsDescribed": "Не соответствует описанию",
    "refundReasonDefective": "Бракованный товар",
    "refundReasonOther": "Другая причина",
    "refundComment": "Дополнительный комментарий",
    "refundCommentHint": "Введите дополнительные детали (необязательно)...",
    "processRefund": "Оформить возврат",
    "processingRefund": "Обработка возврата...",
    "refundSuccess": "Возврат успешно оформлен",
    "refundFailed": "Не удалось оформить возврат",
    "ticketCreated": "Чек #{number} создан",
    "printingReceipt": "Печать чека...",
    "receiptPrinted": "Чек успешно напечатан",
    "printFailed": "Не удалось напечатать чек",
    "transferStaff": "Передать сотруднику",
    "selectStaffHint": "Выберите сотрудника для передачи чека",
    "noStaffAvailable": "Нет других доступных сотрудников",
    "staffTransferred": "Чек передан {name}",
    "staffTransferFailed": "Не удалось передать чек",
    "splitTicket": "Разделить чек",
    "splitTicketHint": "Выберите товары для переноса в новый чек",
    "splitQuantity": "Количество для разделения",
    "originalTicket": "Исходный чек",
    "splitTicketAction": "Разделить чек",
    "splitSuccess": "Чек успешно разделён",
    "splitFailed": "Не удалось разделить чек",
    "noProductsToSplit": "Нет товаров для разделения",
    "moveProduct": "Переместить товар",
    "selectTargetGuest": "Выберите гостя",
    "productMoved": "Товар успешно перемещён",
    "productMoveFailed": "Не удалось переместить товар",
    "dropHere": "Отпустите здесь",
    "draggingProduct": "Перетащите к другому гостю",
    "changeTable": "Сменить стол",
    "tableChanged": "Перемещено на стол {table}",
    "tableChangeFailed": "Не удалось сменить стол",
    "deleteGuest": "Удалить гостя",
    "deleteGuestConfirm": "Вы уверены, что хотите удалить этого гостя?",
    "guestDeleted": "Гость успешно удалён",
    "guestDeleteFailed": "Не удалось удалить гостя",
    "productComment": "Комментарий к товару",
    "enterProductComment": "Добавьте заметки к этому товару...",
    "clearComment": "Очистить",
    "noModifiersAvailable": "Нет доступных модификаторов для этого товара",
    "modifiersUpdated": "Модификаторы успешно обновлены",
    "modifiersUpdateFailed": "Не удалось обновить модификаторы",
    "ticketHistory": "История заказа",
    "loadingHistory": "Загрузка истории...",
    "errorLoadingHistory": "Не удалось загрузить историю заказа",
    "noHistoryFound": "История не найдена",
    "entry": "запись",
    "entries": "записей",
    "viewHistory": "Просмотр истории",
    "historyComingSoon": "Скоро",
    "historyComingSoonDesc": "Отслеживание истории заказов будет доступно в следующем обновлении"
  },
  "printer": {
    "connectPrinter": "Подключить принтер",
    "printerSettings": "Настройки принтера",
    "bluetooth": "Bluetooth",
    "network": "Сеть",
    "usb": "USB",
    "availablePrinters": "Доступные принтеры",
    "rescan": "Повторный поиск",
    "scanning": "Поиск принтеров...",
    "noPrintersFound": "Принтеры не найдены",
    "noPrintersHint": "Убедитесь, что принтер включен и в режиме сопряжения",
    "offline": "ОФЛАЙН",
    "available": "ГОТОВ",
    "deviceOffline": "Устройство не подключено к Bluetooth. Включите принтер и выполните сопряжение в настройках системы.",
    "connect": "Подключить",
    "disconnect": "Отключить",
    "connected": "Подключено",
    "connecting": "Подключение...",
    "testPrint": "Тестовая печать",
    "testPrintSuccess": "Тестовая страница успешно напечатана",
    "testPrintFailed": "Не удалось напечатать тестовую страницу",
    "printerName": "Принтер: {name}",
    "noPrinterConnected": "Принтер не подключен",
    "unknownAddress": "Неизвестный адрес",
    "paperSize": "Размер бумаги",
    "paperSize58mm": "58мм",
    "paperSize80mm": "80мм",
    "autoCut": "Автоматическая обрезка бумаги",
    "showQrCode": "Печатать QR код",
    "copies": "Количество копий",
    "manualEntry": "Вручную",
    "showList": "Показать список",
    "enterIpAddress": "Введите IP-адрес и порт принтера",
    "enterComPort": "Введите COM порт (например, COM3)",
    "ipAddress": "IP адрес",
    "comPort": "COM порт",
    "port": "Порт",
    "comPortHint": "Проверьте номер COM порта в Диспетчере устройств. Ваш принтер показывает COM3.",
    "virtualPrinterWarning": "Обнаружен виртуальный принтер",
    "virtualPrinterMessage": "Это похоже на виртуальный принтер (PDF, XPS и т.д.), а не термопринтер для чеков. Печать на виртуальных принтерах может вызвать ошибки. Вы уверены, что хотите подключиться?",
    "connectAnyway": "Подключить все равно",
    "notThermalPrinter": "Это не термопринтер для чеков",
    "bluetoothConnection": "Bluetooth соединение",
    "bluetoothPairingInfo": "Если вы подключаетесь впервые, Windows может попросить сопрячь устройство и ввести PIN-код.",
    "commonPins": "Распространённые PIN-коды:",
    "bluetoothPairingNote": "Если появится диалог сопряжения Windows, введите PIN и нажмите Сопрячь.",
    "connectionFailed": "Ошибка соединения",
    "bluetoothPairingHelp": "Bluetooth соединение не удалось. Сначала сопрягите принтер в настройках Windows:",
    "pairingStep1": "Откройте Параметры Windows → Bluetooth и устройства",
    "pairingStep2": "Нажмите 'Добавить устройство' → Bluetooth",
    "pairingStep3": "Выберите принтер и введите PIN (обычно 0000 или 1234)",
    "pairingStep4": "После сопряжения попробуйте подключиться снова в этом приложении",
    "bluetoothAddress": "MAC-адрес Bluetooth",
    "enterBluetoothAddress": "Введите MAC-адрес Bluetooth вашего принтера (найдите в настройках Bluetooth Windows)",
    "bluetoothAddressHint": "Найти MAC-адрес: Параметры Windows → Bluetooth → Нажмите на сопряжённый принтер → Свойства",
    "bluetoothNotFound": "Поиск Bluetooth не поддерживается на Windows. Используйте ручной ввод с MAC-адресом.",
    "bluetoothWindowsHint": "На Windows Bluetooth-принтеры работают через COM-порты. Сначала подключите принтер в настройках Bluetooth Windows, затем используйте вкладку USB → Вручную → введите COM-порт (например, COM3).",
    "bluetoothPairFirst": "Bluetooth-устройства не найдены. Убедитесь, что принтер сопряжён в настройках Bluetooth системы, затем нажмите Обновить.",
    "useComPort": "Использовать COM порт (USB)",
    "manualConnect": "Ввести вручную",
    "comPortRequired": "Требуется COM порт (Windows)",
    "comPortExplanation": "На Windows Bluetooth-принтеры общаются через виртуальный COM-порт. Этот порт нужно настроить вручную после сопряжения.",
    "windowsComPortSetup": "Для настройки COM-порта:",
    "comStep1": "Откройте Параметры Windows → Bluetooth и устройства",
    "comStep2": "Нажмите 'Устройства' → найдите ваш принтер",
    "comStep3": "Нажмите 'Дополнительные параметры Bluetooth' (или запустите bthprops.cpl)",
    "comStep4": "Перейдите на вкладку 'COM-порты' → 'Добавить' → выберите 'Исходящий'",
    "comStep5": "Выберите принтер и нажмите OK. Запомните номер COM-порта, затем подключитесь снова в этом приложении.",
    "receiptPrinter": "Принтер чеков",
    "kitchenPrinter": "Принтер кухни",
    "workshopPrinters": "Принтеры станций",
    "addKitchenPrinter": "Добавить принтер кухни",
    "removeKitchenPrinter": "Удалить принтер кухни",
    "workshopAssignment": "Назначение станции",
    "selectWorkshops": "Выбрать станции",
    "allWorkshops": "Все станции",
    "workshopName": "Название станции",
    "workshopNameHint": "Напр.: Кухня, Бар, Гриль",
    "noWorkshopPrinters": "Принтеры кухни не настроены",
    "noWorkshopPrintersHint": "Добавьте принтеры кухни для маршрутизации заказов на нужную станцию",
    "printerPurpose": "Назначение принтера",
    "purposeReceipt": "Чеки (для клиентов)",
    "purposeKitchen": "Кухня (заказы раннер)",
    "purposeBoth": "Оба",
    "kitchenRunnerPrinted": "Заказ на кухню отправлен",
    "kitchenRunnerFailed": "Не удалось напечатать заказ на кухню",
    "workshopNotConfigured": "Нет принтера для станции {workshopId}",
    "workshopHint": "Выберите станции производства, от которых этот принтер будет получать заказы",
    "noWorkshopsFound": "Станции не найдены",
    "configSaved": "Конфигурация принтера сохранена",
    "configureWorkshops": "Настроить станции",
    "removePrinter": "Удалить принтер",
    "disconnectConfirm": "Вы уверены, что хотите отключить этот принтер?",
    "removeConfirm": "Это удалит принтер и все его настройки. Вы уверены?",
    "disconnected": "Принтер отключен",
    "removed": "Принтер удален",
    "somePrintsFailed": "Некоторые печати не удались",
    "printError": "Ошибка печати",
    "printers": "Принтеры",
    "printersConnected": "принтеров подключено",
    "multiPrinterSupport": "Режим мультипринтера",
    "connectionType": "Тип подключения",
    "printTicket": "Печать чека",
    "paperWidth": "Ширина бумаги",
    "workshopsRunner": "Печать по цехам (Runner)",
    "noWorkshops": "Нет доступных цехов",
    "selectDevice": "Выберите устройство для настройки",
    "search": "Поиск",
    "addDevice": "Добавить устройство",
    "chooseDeviceType": "Выберите устройство для подключения",
    "posTerminalDesc": "POS-терминал для платежей",
    "networkPrinter": "Сетевой принтер",
    "connectDevice": "Подключить устройство",
    "addNetworkPrinter": "Добавить WiFi/сетевой принтер",
    "stepFindingDevice": "Поиск устройства...",
    "stepEstablishingConnection": "Установка соединения...",
    "stepVerifying": "Проверка принтера...",
    "stepConnectingNetwork": "Подключение к сети...",
    "stepOpeningPort": "Открытие порта принтера...",
    "stepDetectingUsb": "Обнаружение USB устройства...",
    "stepInitializing": "Инициализация принтера...",
    "notReachable": "Принтер недоступен. Переподключите его.",
    "notPaired": "Принтер не сопряжён. Откройте настройки Bluetooth Windows.",
    "printerBusy": "Принтер занят. Закройте другие программы.",
    "printerOff": "Принтер не отвечает. Убедитесь, что он включён.",
    "connectionLost": "Соединение потеряно. Переподключите принтер.",
    "moveCloser": "Время ожидания истекло. Подойдите ближе к принтеру.",
    "forceRelease": "Принудительно отключить",
    "forceReleaseHint": "Попробуйте 'Принудительно отключить' чтобы отсоединить принтер от Windows и повторить попытку.",
    "releasingPorts": "Отключение соединений с принтером...",
    "portsReleased": "Соединения с принтером отключены. Повторная попытка...",
    "troubleshootingSteps": "Попробуйте эти шаги:",
    "busyStep1": "Выключите и включите принтер",
    "busyStep2": "Откройте Настройки Windows → Bluetooth, выключите и включите",
    "busyStep3": "Если всё ещё занят, удалите принтер из Bluetooth и подключите заново",
    "resetAll": "Сбросить все",
    "resetAllPrinters": "Сбросить все принтеры",
    "resetAllConfirm": "Это удалит ВСЕ принтеры и их настройки. Вам придётся заново подключить каждый принтер. Вы уверены?",
    "resettingPrinters": "Сброс принтеров...",
    "allPrintersReset": "Все принтеры сброшены"
  },
  "permissions": {
    "title": "Разрешения",
    "skipAll": "Пропустить все",
    "allow": "Разрешить",
    "skip": "Пропустить",
    "requesting": "Запрос...",
    "required": "Обязательно",
    "granted": "Разрешение получено",
    "denied": "Разрешение отклонено",
    "permanentlyDenied": "Разрешение было отклонено. Включите его в настройках приложения.",
    "openSettings": "Открыть настройки",
    "bluetooth": {
      "title": "Доступ к Bluetooth",
      "description": "Требуется для подключения к термопринтерам и POS-терминалам через Bluetooth."
    },
    "bluetoothScan": {
      "title": "Сканирование Bluetooth",
      "description": "Требуется для обнаружения ближайших устройств Bluetooth, таких как принтеры."
    },
    "location": {
      "title": "Доступ к местоположению",
      "description": "Требуется на старых устройствах Android для сканирования устройств Bluetooth."
    },
    "camera": {
      "title": "Доступ к камере",
      "description": "Требуется для сканирования штрих-кодов и акцизных марок на продуктах."
    }
  },
  "privacyPolicy": {
    "title": "Политика конфиденциальности",
    "subtitle": "Мы ценим вашу конфиденциальность",
    "description": "Мы защищаем ваши данные в соответствии с GDPR и местным законодательством. Ваша информация зашифрована и надежно хранится.",
    "readFullPolicy": "Прочитать полную политику",
    "accept": "Принять и продолжить",
    "decline": "Отклонить",
    "declineTitle": "Отклонить политику конфиденциальности?",
    "declineMessage": "Вы должны принять политику конфиденциальности для использования этого приложения. Если вы отклоните, вы не сможете продолжить.",
    "mustAccept": "Вы должны принять политику конфиденциальности для продолжения"
  },
  "printReceipt": {
    "salesReport": "ОТЧЕТ О ПРОДАЖАХ",
    "xReport": "X-ОТЧЕТ",
    "zReport": "Z-ОТЧЕТ",
    "printed": "Напечатано",
    "summary": "ИТОГ",
    "totalSales": "Общие продажи",
    "tickets": "Чеки",
    "shifts": "Смены",
    "discountsAndTaxes": "СКИДКИ И НАЛОГИ",
    "grossSales": "Валовые продажи",
    "discount": "Скидка",
    "netSales": "Чистые продажи",
    "tax": "Налог",
    "paymentBreakdown": "РАЗБИВКА ПЛАТЕЖЕЙ",
    "cash": "Наличные",
    "card": "Карта",
    "qr": "QR",
    "onTheHouse": "За счёт заведения",
    "cashSummary": "ИТОГ НАЛИЧНЫХ",
    "opening": "Открытие",
    "deposits": "Внесения",
    "withdrawals": "Изъятия",
    "collection": "Инкассация",
    "cashInDrawer": "Наличные в кассе",
    "endBalance": "КОНЕЧНЫЙ БАЛАНС",
    "shiftInfo": "ИНФО О СМЕНЕ",
    "shiftId": "ID смены",
    "opened": "Открыто",
    "closed": "Закрыто",
    "cashBalance": "Баланс наличных"
  },
  "help": {
    "title": "Помощь и поддержка",
    "subtitle": "Мы здесь, чтобы помочь вам",
    "quickHelp": "Быстрая помощь",
    "contactUs": "Свяжитесь с нами",
    "faq": "Часто задаваемые вопросы",
    "callUs": "Позвоните нам",
    "emailUs": "Напишите нам",
    "visitWebsite": "Посетите сайт",
    "phoneCopied": "Номер телефона скопирован",
    "emailCopied": "Email адрес скопирован",
    "urlCopied": "URL скопирован",
    "cannotOpenPhone": "Невозможно открыть телефон",
    "cannotOpenEmail": "Невозможно открыть почту",
    "cannotOpenUrl": "Невозможно открыть браузер",
    "emailSubject": "Запрос поддержки Goovii POS",
    "howToCreateTicket": "Создание чеков",
    "printerSetup": "Настройка принтера",
    "paymentMethods": "Способы оплаты",
    "reportsGuide": "Руководство по отчетам",
    "comingSoon": "Это руководство скоро будет доступно",
    "faq1Question": "Как открыть смену?",
    "faq1Answer": "Перейдите на вкладку Ещё, затем нажмите 'Открыть смену'. Введите начальную сумму наличных и подтвердите, чтобы начать рабочую сессию.",
    "faq2Question": "Как подключить принтер?",
    "faq2Answer": "Перейдите в Ещё → Настройки принтера. Выберите тип подключения (Bluetooth, USB или сеть) и следуйте инструкциям.",
    "faq3Question": "Как обработать возврат?",
    "faq3Answer": "Откройте завершённый чек на вкладке Чеки, затем нажмите кнопку возврата. Выберите причину и подтвердите обработку возврата.",
    "madeWithLove": "Сделано с ❤️ командой Goovii"
  },
  "lock": {
    "title": "Экран заблокирован",
    "subtitle": "Введите PIN-код для разблокировки",
    "staffSwitchHint": "Любой сотрудник может ввести свой PIN для смены пользователя",
    "welcomeBack": "Добро пожаловать, {name}!",
    "noCashRegister": "Касса не выбрана. Перезапустите приложение.",
    "selectRegister": "Выберите кассу",
    "loadRegisterError": "Не удалось загрузить кассы. Нажмите для повтора.",
    "shiftOpen": "Открыта",
    "inUse": "Занята",
    "current": "Текущая",
    "fiscal": "Фискальная",
    "fiscalHint": "Это фискальная касса - операции передаются в налоговую службу",
    "cannotLoginToOpenedRegister": "Невозможно войти в '{name}' - там уже открыта смена другим пользователем",
    "autoCloseShiftFailed": "Не удалось закрыть текущую смену. Пожалуйста, попробуйте снова.",
    "autoCloseShift": {
      "title": "Сменить кассу",
      "message": "Чтобы переключиться с '{currentRegister}' на '{newRegister}', ваша текущая смена будет автоматически закрыта.",
      "hint": "Вам нужно будет открыть новую смену на выбранной кассе после входа.",
      "confirm": "Закрыть и перейти"
    },
    "openTicketsWarning": {
      "title": "Открытые чеки",
      "message": "У вас есть {count} открытых чеков, которые необходимо закрыть перед сменой кассы.",
      "hint": "Пожалуйста, завершите или отмените все открытые чеки, а затем попробуйте снова."
    },
    "logoutConfirm": "Вы уверены, что хотите выйти? Вам нужно будет ввести токен заведения снова для входа.",
    "logoutError": "Не удалось выйти. Попробуйте ещё раз.",
    "forceLogoutAll": "Закрыть все смены",
    "forceLogoutAllConfirm": "Это закроет все активные смены персонала и нефискальные смены заведения. Фискальные смены требуют ручного закрытия с Z-отчётом. Вы уверены?",
    "forceLogoutError": "Не удалось закрыть все смены. Попробуйте ещё раз.",
    "closeFiscalShift": "Закрыть фискальную смену",
    "cashRegister": "Касса",
    "openedAt": "Открыта в",
    "startAmount": "Начальная сумма",
    "endAmount": "Конечная сумма",
    "enterAmount": "Введите конечную сумму наличных",
    "zReportWillBeSent": "Z-отчёт будет отправлен в фискальную службу автоматически",
    "closeAndSendZReport": "Закрыть и отправить Z-отчёт",
    "fiscalShiftClosed": "Фискальная смена на '{name}' успешно закрыта",
    "fiscalShiftCloseError": "Не удалось закрыть фискальную смену. Попробуйте ещё раз."
  },
  "shift": {
    "openShift": "Открыть смену",
    "closeShift": "Закрыть смену",
    "shiftOpen": "Смена открыта",
    "noOpenShift": "Смена не открыта - Откройте смену",
    "shiftId": "Смена #{id}",
    "openShiftDesc": "Начать новую рабочую смену",
    "closeShiftDesc": "Завершить текущую рабочую смену",
    "openShiftInstructions": "Введите начальную сумму наличных в кассе для начала смены.",
    "closeShiftInstructions": "Введите конечную сумму наличных для закрытия смены.",
    "startingCash": "Начальная сумма наличных",
    "startingCashHelper": "Пересчитайте наличные в кассе перед началом",
    "endingCash": "Конечная сумма наличных",
    "endingCashHelper": "Пересчитайте наличные в кассе перед закрытием",
    "comment": "Комментарий",
    "commentOptional": "Необязательный комментарий",
    "openedSuccessfully": "Смена успешно открыта!",
    "closedSuccessfully": "Смена успешно закрыта!",
    "hasOpenTickets": "У вас есть {count} открытых чеков",
    "closeOpenTicketsFirst": "Закройте все {count} открытых чеков перед закрытием смены",
    "closeOpenTicketsHint": "Все чеки должны быть оплачены или отменены перед закрытием смены",
    "checkingOpenTickets": "Проверка открытых чеков...",
    "pleaseWait": "Пожалуйста, подождите, пока мы проверяем, что все чеки закрыты",
    "errorOpening": "Не удалось открыть смену",
    "errorClosing": "Не удалось закрыть смену",
    "closeShiftConfirm": "Вы уверены, что хотите закрыть текущую смену? Это завершит вашу рабочую сессию.",
    "closeShiftComingSoon": "Функция закрытия смены скоро будет доступна",
    "amountCannotBeNegative": "Сумма не может быть отрицательной",
    "openedAt": "Открыто: {time}",
    "noShiftInfo": "Информация о смене недоступна",
    "startingAmount": "Начало: ${amount}",
    "logoutAfterClose": "Выйти после закрытия",
    "logoutAfterCloseDesc": "Завершить сессию и вернуться на экран входа",
    "alreadyOpen": "Смена уже открыта. Обновляем статус...",
    "alreadyClosed": "Смена уже закрыта.",
    "fiscalConflict": "Фискальная смена все ещё открыта на налоговом сервере. Пожалуйста, сначала закройте существующую фискальную смену перед открытием новой.",
    "fiscalConflictDialog": {
      "title": "Фискальная смена уже открыта",
      "message": "Фискальная смена уже открыта на налоговом сервере (ПРРО), но не связана с вашей локальной системой. Вы можете использовать существующую фискальную смену или сначала закрыть её.",
      "reuseTitle": "Использовать существующую смену",
      "reuseDesc": "Синхронизировать с налоговым сервером и продолжить работу с уже открытой фискальной сменой.",
      "closeTitle": "Сначала закрыть фискальную смену",
      "closeDesc": "Закрыть существующую фискальную смену на налоговом сервере (нужен Z-отчёт, сумма и заметки), затем открыть новую.",
      "reuseSuccess": "Фискальная смена успешно синхронизирована и использована!",
      "closeHint": "Используйте опцию «Закрыть смену», чтобы закрыть фискальную смену на налоговом сервере, затем попробуйте открыть новую смену."
    },
    "fiscal": {
      "label": "Фискальная",
      "openInstructions": "Введите сумму служебного взноса для каждого юридического лица для открытия фискальной смены.",
      "closeInstructions": "Для закрытия фискальной смены сначала необходимо отправить Z-отчёт.",
      "serviceDeposit": "Служебный взнос",
      "noCashierKey": "Невозможно открыть смену: {name} не имеет ключей кассира для всех юридических лиц",
      "noCashierKeyFor": "Невозможно открыть смену: отсутствует ключ кассира для {name}",
      "noCashierKeyWarning": "Невозможно {action} из-за отсутствия ключа кассира {name}",
      "openShiftAction": "открыть кассовую смену",
      "closeShiftAction": "закрыть кассовую смену",
      "sendZReportAction": "отправить Z-отчёт",
      "noAmountFor": "Введите сумму взноса для {name}",
      "invalidAmountFor": "Неверная сумма для {name}",
      "sendZReportFirst": "Для закрытия кассовой смены сначала отправьте Z-отчёт"
    },
    "errors": {
      "serverError": "Ошибка сервера. Обратитесь в поддержку, если проблема сохраняется.",
      "serverUnavailable": "Сервер временно недоступен. Попробуйте позже.",
      "networkError": "Ошибка сети. Проверьте подключение к интернету.",
      "timeout": "Время ожидания истекло. Попробуйте снова.",
      "unauthorized": "Сессия истекла. Войдите снова.",
      "permissionDenied": "У вас нет разрешения на это действие.",
      "validationError": "Неверные данные. Проверьте введённые значения."
    }
  },
  "transactions": {
    "title": "Транзакции",
    "subtitle": "Управление кассовыми операциями",
    "menuSubtitle": "Инкассация, расходы и доходы",
    "collection": "Инкассация",
    "expense": "Расход",
    "income": "Доход",
    "amount": "Сумма",
    "category": "Категория",
    "account": "Счёт",
    "destinationAccount": "Счёт назначения",
    "selectDestination": "Выберите назначение (Сейф, Офис...)",
    "comment": "Комментарий",
    "commentHint": "Необязательный комментарий...",
    "fiscalization": "Фискализация",
    "fiscalizationDesc": "Создать фискальный чек",
    "organization": "Организация",
    "create": "Создать",
    "enterAmount": "Пожалуйста, введите сумму",
    "invalidAmount": "Пожалуйста, введите корректную сумму",
    "selectCategory": "Пожалуйста, выберите категорию",
    "selectAccount": "Пожалуйста, выберите счёт",
    "selectOrganization": "Пожалуйста, выберите организацию",
    "success": "Транзакция успешно создана",
    "error": "Не удалось создать транзакцию"
  },
  "staffShifts": {
    "title": "Смены персонала",
    "subtitle": "Управление активными сессиями персонала",
    "menuSubtitle": "Просмотреть и управлять сменами персонала",
    "employee": "Сотрудник",
    "startDate": "Дата начала",
    "time": "Время",
    "workTime": "Время работы",
    "action": "Действие",
    "close": "Закрыть",
    "closeShift": "Закрыть смену",
    "disabled": "Отключено",
    "you": "Вы",
    "noShifts": "Нет активных смен",
    "noShiftsHint": "В настоящее время нет работающего персонала",
    "loadError": "Не удалось загрузить смены персонала",
    "closeError": "Не удалось закрыть смену персонала",
    "shiftClosed": "Смена {name} закрыта",
    "cannotCloseOwnShift": "Вы не можете закрыть свою собственную смену здесь",
    "closeConfirmTitle": "Закрыть смену персонала",
    "closeConfirmMessage": "Вы уверены, что хотите закрыть смену {name}? Он будет выведен из системы."
  },
  "posTerminal": {
    "title": "POS-терминал",
    "subtitle": "Подключение и управление платёжными терминалами",
    "comingSoon": "Скоро",
    "searching": "Поиск терминалов...",
    "noTerminals": "Терминалы не найдены",
    "terminalExists": "Терминал уже существует",
    "scan": "Сканировать",
    "selectTerminal": "Выберите терминал из списка",
    "manualEntry": "Ручной ввод",
    "enterIp": "Введите IP-адрес",
    "provider": "Провайдер",
    "address": "Адрес",
    "terminalId": "ID терминала",
    "status": "Статус",
    "statusConnected": "Подключён",
    "statusDisconnected": "Отключён",
    "connect": "Подключить",
    "disconnect": "Отключить",
    "connected": "Терминал успешно подключён",
    "connectedBadge": "Подключён",
    "removeConfirmTitle": "Удалить терминал",
    "removeConfirmMessage": "Вы уверены, что хотите удалить этот терминал?",
    "importantNotice": "Убедитесь, что терминал подключён к той же сети и находится в режиме кассы",
    "reports": "Отчёты",
    "xReport": "X-отчёт",
    "totalReport": "Z-отчёт",
    "processing": "Обработка платежа...",
    "paymentSuccess": "Платёж успешно проведён",
    "paymentFailed": "Ошибка платежа",
    "waitingForCard": "Ожидание карты...",
    "enterPin": "Введите PIN на терминале",
    "cancelled": "Платёж отменён",
    "retryPayment": "Повторить платёж",
    "noTerminalConnected": "POS-терминал не подключён",
    "noPosTerminalConnected": "Терминал не подключён",
    "connectToProcessCard": "Подключите POS-терминал для оплаты картой",
    "manualCardPaymentHint": "Вы также можете продолжить без терминала. Платёж будет записан как 'Карта', но не верифицирован электронно.",
    "proceedManually": "Продолжить вручную"
  },
  "sync": {
    "offlineSync": "Офлайн синхронизация",
    "prepareOffline": "Подготовить данные для работы офлайн",
    "syncing": "Синхронизация... {progress}%",
    "lastSyncComplete": "Все данные синхронизированы",
    "syncComplete": "Синхронизация успешно завершена",
    "syncFailed": "Ошибка синхронизации: {error}",
    "products": "Продукты",
    "categories": "Категории",
    "tickets": "Заказы",
    "tables": "Столы",
    "bookings": "Бронирования",
    "images": "Изображения",
    "noConnection": "Нет подключения к интернету"
  },
  "phone": {
    "label": "Номер телефона",
    "selectCountry": "Выбрать страну",
    "required": "Номер телефона обязателен",
    "tooShort": "Номер телефона должен содержать минимум {min} цифр",
    "tooLong": "Номер телефона должен содержать максимум {max} цифр",
    "invalidFormat": "Введите корректный номер телефона"
  },
  "loyalty": {
    "noTier": "Без уровня",
    "personalDiscount": "{percent}% персональная скидка",
    "bonusPoints": "{points} бонусных баллов",
    "useBonusPoints": "Использовать бонусные баллы",
    "availablePoints": "{points} баллов доступно",
    "pointsToUse": "Использовать {points} баллов",
    "discountAmount": "Скидка: {amount}",
    "exchangeRate": "{points} баллов = 1 ед. валюты",
    "redeemSuccess": "Успешно использовано {points} баллов",
    "redeemFailed": "Не удалось использовать баллы",
    "clientDiscount": "Скидка клиента",
    "autoAppliedDiscount": "Автоматическая скидка",
    "tierBronze": "Бронза",
    "tierSilver": "Серебро",
    "tierGold": "Золото",
    "tierPlatinum": "Платина",
    "loyaltyInfo": "Программа лояльности",
    "totalOrders": "{count} заказов",
    "totalSpent": "Всего потрачено: {amount}",
    "noLoyaltyData": "Данные о лояльности недоступны",
    "loadingLoyalty": "Загрузка данных лояльности..."
  },
  "delivery": {
    "title": "Доставка",
    "pending": "Ожидающие",
    "active": "Активные",
    "history": "История",
    "preparing": "Готовится",
    "ready": "Готово",
    "noPendingOrders": "Нет ожидающих заказов",
    "noActiveOrders": "Нет активных заказов",
    "noHistoryOrders": "Нет истории заказов",
    "ordersWillAppear": "Новые заказы на доставку появятся здесь автоматически",
    "selectOrderToView": "Выберите заказ для просмотра деталей",
    "customer": "Клиент",
    "customerName": "Имя",
    "customerPhone": "Телефон",
    "courier": "Курьер",
    "courierName": "Имя",
    "courierPhone": "Телефон",
    "orderItems": "Позиции заказа",
    "timing": "Время",
    "orderTime": "Время заказа",
    "estimatedPickup": "Ожид. забор",
    "accept": "Принять",
    "reject": "Отклонить",
    "startPreparing": "Начать готовить",
    "markReady": "Готово к выдаче",
    "cancelAction": "Отменить",
    "cancelOrder": "Отменить заказ",
    "rejectOrder": "Отклонить заказ",
    "waitingForPickup": "Ожидание забора",
    "reason": "Причина",
    "comment": "Комментарий (необязательно)",
    "commentHint": "Добавить подробности...",
    "selectRejectReason": "Выберите причину отклонения заказа:",
    "selectCancelReason": "Выберите причину отмены заказа:",
    "orderAccepted": "Заказ принят",
    "orderRejected": "Заказ отклонён",
    "orderCancelled": "Заказ отменён",
    "preparationStarted": "Приготовление начато",
    "orderReady": "Заказ готов к выдаче",
    "acceptFailed": "Не удалось принять заказ",
    "rejectFailed": "Не удалось отклонить заказ",
    "cancelFailed": "Не удалось отменить заказ",
    "prepareFailed": "Не удалось начать приготовление",
    "readyFailed": "Не удалось отметить заказ как готовый",
    "newOrderReceived": "Получен новый заказ на доставку!",
    "platform": "Платформа",
    "orderCode": "Код заказа",
    "total": "Итого",
    "status": "Статус"
  }
}
