Enhancements: - Introduced `wishlist.vue` for displaying and managing the wishlist. - Added guest cart and wishlist handling via cookies for unauthenticated users. - Implemented synchronization logic for wishlist and cart (`useOrderSync` and `useWishlistSync`) upon user login. - Updated `cart.vue` layout with a bulk 'add all to cart' button for wishlist items. - Enhanced `post.vue` prop handling for improved type safety. Fixes: - Fixed breadcrumbs console log removal in `useBreadcrumbs.ts`. - Corrected and unified translations in `en-gb.json` for cart and wishlist descriptions. - Fixed stale routes in footer (`terms-and-condition` -> `terms-and-conditions`, etc.). Extras: - Refactored composables `useWishlistOverwrite` and `useOrderOverwrite` for cookie-based fallback. - Applied code styling improvements, organized imports, and optimized API requests in Apollo plugin.
344 lines
No EOL
15 KiB
JSON
344 lines
No EOL
15 KiB
JSON
{
|
||
"buttons": {
|
||
"login": "Войти",
|
||
"register": "Регистрация",
|
||
"createAccount": "Создать аккаунт",
|
||
"addToCart": "В корзину",
|
||
"removeFromCart": "Удалить из корзины",
|
||
"addAllToCart": "Добавить все в корзину",
|
||
"addToWishlist": "В избранное",
|
||
"removeFromWishlist": "Удалить из избранного",
|
||
"send": "Отправить",
|
||
"goEmail": "Перейти к почте",
|
||
"logout": "Выйти",
|
||
"checkout": "Оформить заказ",
|
||
"save": "Сохранить",
|
||
"sendLink": "Отправить ссылку для сброса",
|
||
"topUp": "Пополнить",
|
||
"shopNow": "КУПИТЬ СЕЙЧАС",
|
||
"shopTheSale": "Купить по акции",
|
||
"readMore": "Читать далее",
|
||
"sendMessage": "Отправить сообщение",
|
||
"saveChanges": "Сохранить изменения",
|
||
"clearAll": "Очистить всё"
|
||
},
|
||
"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": "Все"
|
||
}
|
||
},
|
||
"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": "Откройте для себя нашу кураторскую коллекцию люксовой моды и аксессуаров, определяющих утонченный стиль"
|
||
}
|
||
} |