schon/storefront/i18n/locales/ru-ru.json
Alexandr SaVBaD Waltz e8e0675d7d feat(storefront): enhance store filter and price handling for improved UX
Enhanced store filters with a refined price range slider, accommodating category-specific min/max prices and dynamic updates. Optimized reactivity for product filtering by consolidating watchers into a unified approach. Adjusted UI elements for consistent spacing and modern icon usage in filters.

- Added `minMaxPrices` and debounce logic to improve price filtering performance.
- Updated filter UI with collapsible headers and better styling for usability.
- Refactored multiple watchers into a single handler for better efficiency.
- Introduced global constants for currency symbol usage.

Breaking Changes: Components relying on price filters must adapt to new props and event names (`filterMinPrice`, `filterMaxPrice`). Styles may require alignment with refined SCSS rules for filters.
2026-03-01 22:00:34 +03:00

347 lines
14 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"buttons": {
"login": "Войти",
"register": "Регистрация",
"createAccount": "Создать аккаунт",
"addToCart": "В корзину",
"removeFromCart": "Удалить из корзины",
"addAllToCart": "Добавить все в корзину",
"addToWishlist": "В избранное",
"removeFromWishlist": "Удалить из избранного",
"send": "Отправить",
"goEmail": "Перейти к почте",
"logout": "Выйти",
"checkout": "Оформить заказ",
"save": "Сохранить",
"sendLink": "Отправить ссылку для сброса",
"topUp": "Пополнить",
"shopNow": "КУПИТЬ СЕЙЧАС",
"shopTheSale": "Купить по акции",
"readMore": "Читать далее",
"sendMessage": "Отправить сообщение",
"saveChanges": "Сохранить изменения",
"clearAll": "Очистить всё",
"buyNow": "Купить Сейчас"
},
"errors": {
"required": "Это поле обязательно!",
"mail": "Введите корректный email!",
"compare": "Пароли не совпадают!",
"needLower": "Добавьте строчную букву.",
"needUpper": "Добавьте заглавную букву.",
"needNumber": "Добавьте цифру.",
"needMin": "Мин. 8 символов",
"needSpecial": "Добавьте спецсимвол: #.?!$%^&*'()_+=:;\"'/>.<,|\\-",
"pageNotFound": "Страница не найдена"
},
"fields": {
"search": "Поиск",
"searchOrder": "Поиск заказа",
"name": "Имя",
"firstName": "Имя",
"lastName": "Фамилия",
"phoneNumber": "Номер телефона",
"email": "Email",
"subject": "Тема",
"message": "Ваше сообщение",
"password": "Пароль",
"newPassword": "Новый пароль",
"confirmPassword": "Подтвердите пароль",
"confirmNewPassword": "Подтвердите новый пароль",
"brandsSearch": "Поиск брендов по названию..."
},
"checkboxes": {
"remember": "Запомнить меня",
"chooseAll": "Выбрать все",
"agree": "Я согласен с {terms} и {policy}",
"subscribe": "Подписаться на рассылку новостей об эксклюзивных предложениях и обновлениях"
},
"popup": {
"errors": {
"main": "Ошибка!",
"defaultError": "Что-то пошло не так...",
"noDataToUpdate": "Нет данных для обновления.",
"loginFirst": "Войдите, чтобы выполнить это действие!",
"alreadyInWishlist": "{product} уже есть в избранном!"
},
"success": {
"login": "Вход выполнен",
"register": "Аккаунт успешно создан. Пожалуйста, подтвердите ваш Email перед входом!",
"confirmEmail": "Ссылка для подтверждения E-mail успешно отправлена!",
"reset": "Если указанный email существует в нашей системе, мы отправим на него письмо для восстановления пароля!",
"newPassword": "Вы успешно изменили пароль!",
"contactUs": "Ваше сообщение успешно отправлено!",
"addToCart": "{product} добавлен в корзину!",
"removeFromCart": "{product} удален из корзины!",
"removeAllFromCart": "Корзина успешно очищена!",
"addToWishlist": "{product} добавлен в избранное!",
"removeFromWishlist": "{product} удален из избранного!",
"removeAllFromWishlist": "Список избранного успешно очищен!",
"bulkRemoveWishlist": "Выбранные товары удалены из избранного!",
"bulkRemoveOrder": "Выбранные товары удалены из корзины!",
"avatarUpload": "Аватар успешно загружен!",
"userUpdate": "Профиль успешно обновлен!",
"emailUpdate": "Проверьте вашу почту для перехода по ссылке подтверждения и завершения обновления email.",
"referralCopy": "Реферальная ссылка скопирована!",
"promocodeCopy": "Промокод скопирован!",
"configCopy": "Новая ui конфигурация скопирована!",
"addFeedback": "Ваш отзыв сохранен!"
},
"addToCartLimit": "Лимит общего количества составляет {quantity}!",
"failAdd": "Пожалуйста, войдите, чтобы совершить покупку",
"activationSuccess": "E-mail успешно подтвержден. Пожалуйста, войдите!",
"successUpdate": "Профиль успешно обновлен!",
"payment": "Ваш платеж обрабатывается! Пожалуйста, подождите",
"successCheckout": "Заказ успешно оплачен!"
},
"header": {
"nav": {
"shop": "Магазин",
"catalog": "Каталог",
"brands": "Бренды",
"blog": "Блог",
"contact": "Контакты"
},
"actions": {
"wishlist": "Избранное",
"cart": "Корзина",
"login": "Войти",
"profile": "Профиль"
},
"search": {
"empty": "Ничего не найдено"
},
"catalog": {
"title": "Каталог"
}
},
"footer": {
"address": "Адрес: ",
"email": "Email: ",
"phone": "Телефон: ",
"text": "Курируем вневременную роскошную моду для взыскательных личностей",
"shop": "Магазин",
"allProducts": "Все товары",
"catalog": "Каталог",
"brands": "Бренды",
"help": "Помощь",
"rights": "Все права защищены."
},
"home": {
"hero": {
"title": "Вневременная элегантность",
"text": "Откройте для себя нашу кураторскую коллекцию люксовой моды и аксессуаров, определяющих утонченный стиль"
},
"categories": {
"title": "Покупки по категориям"
},
"ad": {
"title": "Весенняя коллекция",
"text1": "Скидки до 40%",
"text2": "Откройте для себя последние тренды в мире люксовой моды"
},
"blog": {
"title": "Из журнала"
}
},
"forms": {
"login": {
"title": "С возвращением",
"subtitle": "Войдите в свой аккаунт, чтобы продолжить",
"forgot": "Забыли пароль?",
"or": "или"
},
"register": {
"title": "Создать аккаунт",
"subtitle": "Зарегистрируйтесь, чтобы начать ваше стильное путешествие",
"login": "Уже есть аккаунт?"
},
"reset": {
"title": "Сброс пароля",
"subtitle": "Введите ваш email, и мы отправим ссылку для сброса пароля.",
"backToLogin": "Назад к входу"
},
"newPassword": {
"title": "Новый пароль"
}
},
"cards": {
"product": {
"stock": "В наличии: "
}
},
"breadcrumbs": {
"home": "Главная",
"catalog": "Каталог",
"contact": "Контакты",
"orders": "Заказы",
"wishlist": "Избранное",
"cart": "Корзина",
"settings": "Настройки",
"balance": "Баланс",
"promocodes": "Промокоды",
"login": "Вход",
"register": "Регистрация",
"resetPassword": "Сброс пароля",
"newPassword": "Новый пароль",
"brands": "Бренды",
"blog": "Блог",
"search": "Поиск",
"categories": "Категории",
"shop": "Магазин",
"policy": "Политика конфиденциальности",
"terms": "Условия использования",
"return": "Политика возврата",
"faq": "Часто задаваемые вопросы",
"shipping": "Информация о доставке",
"about": "О нас"
},
"contact": {
"title": "Свяжитесь с нами",
"text": "Мы будем рады услышать вас. Отправьте нам сообщение, и мы ответим как можно скорее.",
"block": {
"title": "Давайте общаться",
"text": "Есть ли у вас вопросы о наших товарах, нужен совет по стилю или вы хотите сотрудничать с нами — мы здесь, чтобы помочь. Наша команда стремится предоставлять исключительный сервис и поддержку.",
"email": "Написать нам",
"call": "Позвонить нам",
"hours": "Часы работы"
},
"form": {
"title": "Отправить сообщение"
}
},
"store": {
"sorting": "Сортировать по:",
"filters": {
"title": "Фильтры",
"apply": "Применить",
"reset": "Сбросить",
"all": "Все",
"price": "Цена"
},
"empty": "По этим параметрам нет товаров."
},
"search": {
"title": "Результаты поиска",
"products": "Товары",
"categories": "Категории",
"brands": "Бренды",
"byRequest": "по запросу"
},
"product": {
"characteristics": "Все характеристики",
"similar": "Вам также может понравиться"
},
"profile": {
"settings": {
"title": "Настройки",
"joinData": "Дата регистрации",
"accountInfo": "Информация об аккаунте",
"copyReferral": "Скопировать реферальную ссылку",
"referralTooltip": "Вы получите реферальную ссылку после успешной покупки"
},
"orders": {
"title": "Заказы",
"chooseStatus": "Выберите статус",
"id": "№",
"price": "Цена",
"total": "Итого",
"empty": "Нет заказов по данным параметрам.",
"statuses": {
"all": "Все",
"failed": "Ошибка",
"payment": "Ожидает оплаты",
"created": "Создан",
"delivering": "Доставляется",
"finished": "Завершен",
"momental": "Моментальный"
},
"searchTooltip": "Введите номер заказа или название товара"
},
"wishlist": {
"title": "Избранное",
"total": "{quantity} товаров на сумму {amount}",
"deleteTooltip": "Удалить всё из избранного",
"empty": "Ваш список избранного пуст."
},
"cart": {
"title": "Корзина",
"quantity": "Количество: ",
"total": "Итого",
"empty": "Ваша корзина пуста."
},
"balance": {
"title": "Баланс"
},
"promocodes": {
"title": "Промокоды",
"until": "До",
"empty": "У вас нет промокодов."
},
"logout": "Выйти"
},
"demo": {
"settings": {
"title": "Демо-настройки",
"ui": "Настройки интерфейса"
},
"buttons": {
"reset": "Сбросить на умолчания",
"save": "Сохранить изменения",
"generateCode": "Сгенерировать код для 'app.config.ts'"
},
"preview": {
"text": "Замените объект UI в 'app.config.ts' на этот код"
},
"descriptions": {
"showBreadcrumbs": "Показывать цепочку навигации на страницах.",
"showSearchBar": "Показывать строку поиска в шапке сайта."
}
},
"docs": {
"faq": {
"title": "Часто задаваемые вопросы"
},
"shipping": {
"title": "Информация о доставке"
},
"return": {
"title": "Политика возврата"
},
"policy": {
"title": "Политика конфиденциальности"
},
"terms": {
"title": "Условия использования"
},
"about": {
"title": "О нас"
}
},
"brands": {
"title": "Люксовые бренды",
"text": "Откройте для себя самые престижные мировые модные дома и люксовые бренды, подобранные для взыскательного вкуса."
},
"catalog": {
"title": "Разнообразные категории",
"text": "Откройте для себя самые престижные мировые модные дома и люксовые категории, подобранные для взыскательного вкуса."
},
"blog": {
"title": "Модный журнал",
"text": "Узнавайте о последних трендах, источниках вдохновения для стиля и модных инсайтах от нашей редакции."
},
"cart": {
"title": "Моя корзина",
"items": "нет товаров | {count} товар | {count} товара | {count} товаров",
"empty": "Ваша корзина пуста"
},
"wishlist": {
"title": "Мои Избранные",
"items": "нет товаров | {count} товар | {count} товара | {count} товаров",
"empty": "Список выших избранных пуст"
},
"shop": {
"title": "Магазин",
"text": "Откройте для себя нашу кураторскую коллекцию люксовой моды и аксессуаров, определяющих утонченный стиль"
}
}