Files
marketplaces/src/app/i18n/ru.ts
sdarbinyan aed0a47388 feat(product): add reusable Product Experience 2.0
Unify product details modules behind config-driven contracts so teams can
extend UX without changing runtime architecture or bootstrap flow.

Keep backward compatibility with existing product payloads by treating new
media/specification/variant/related structures as optional extensions.

Improve conversion and content discoverability with reusable actions,
typed media rendering, grouped specifications, dynamic variants, and
multi-collection related products.
2026-07-10 13:10:35 +04:00

458 lines
24 KiB
TypeScript
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.
import { Translations } from './translations';
export const ru: Translations = {
header: {
home: 'Главная',
search: 'Поиск',
about: 'О нас',
contacts: 'Контакты',
searchPlaceholder: 'Искать...',
catalog: 'Каталог',
wishlist: 'Избранное',
compare: 'Сравнение',
openMenu: 'Открыть меню',
closeMenu: 'Закрыть меню',
},
footer: {
description: 'Современный маркетплейс для комфортных покупок',
company: 'Компания',
aboutUs: 'О нас',
contacts: 'Контакты',
requisites: 'Реквизиты',
support: 'Поддержка',
faq: 'FAQ',
delivery: 'Доставка',
guarantee: 'Гарантия',
legal: 'Правовая информация',
offer: 'Оферта',
privacy: 'Конфиденциальность',
returns: 'Возврат',
info: 'Информация',
aboutCompany: 'О компании',
documents: 'Документы',
paymentRules: 'Правила оплаты',
returnPolicy: 'Политика возврата',
publicOffer: 'Публичная оферта',
help: 'Помощь',
payment: 'Оплата',
allRightsReserved: 'Все права защищены.',
},
home: {
welcomeTo: 'Добро пожаловать в {{brand}}',
subtitle: 'Найдите всё, что нужно, в одном месте',
startSearch: 'Начать поиск',
loading: 'Загружаем категории...',
errorTitle: 'Что-то пошло не так',
retry: 'Попробовать снова',
categoriesTitle: 'Категории товаров',
categoriesSubtitle: 'Выберите интересующую категорию',
categoriesEmpty: 'Категории скоро появятся',
categoriesEmptyDesc: 'Мы работаем над наполнением каталога',
dexarHeroTitle: 'Здесь ты найдёшь всё',
dexarHeroSubtitle: 'Тысячи товаров в одном месте',
dexarHeroTagline: 'просто и удобно',
goToCatalog: 'Перейти в каталог',
findProduct: 'Найти товар',
loadingDexar: 'Загрузка категорий...',
catalogTitle: 'Каталог товаров',
emptyCategoriesDexar: 'Категории пока отсутствуют',
categoriesSoonDexar: 'Скоро здесь появятся категории товаров',
itemsCount: '{{count}} товаров',
},
cart: {
title: 'Корзина',
clear: 'Очистить',
empty: 'Корзина пуста',
emptyDesc: 'Добавьте товары, чтобы начать покупки',
goShopping: 'Перейти к покупкам',
total: 'Итого',
items: 'Товары',
deliveryLabel: 'Доставка',
deliveryMethod: 'Способ доставки',
selectDelivery: 'Выберите способ доставки',
deliveryPlace: 'Место',
deliveryTime: 'Срок доставки',
digitalDelivery: 'Цифровая доставка',
deliveryRequired: 'Выберите доставку для всех товаров с доставкой перед оформлением заказа.',
toPay: 'К оплате',
agreeWith: 'Я согласен с',
publicOffer: 'публичной офертой',
returnPolicy: 'политикой возврата',
guaranteeTerms: 'условиями гарантии',
privacyPolicy: 'политикой конфиденциальности',
and: 'и',
checkout: 'Оформить заказ',
payViaQr: 'Оплатить через QR',
payViaCard: 'Оплатить картой',
close: 'Закрыть',
creatingPayment: 'Создание платежа...',
waitFewSeconds: 'Подождите несколько секунд',
scanQr: 'Сканируйте QR-код для оплаты',
amountToPay: 'Сумма к оплате:',
waitingPayment: 'Ожидание оплаты...',
copied: '✓ Скопировано',
copyLink: 'Скопировать ссылку',
openNewTab: 'Открыть в новой вкладке',
paymentSuccess: 'Поздравляем! Оплата прошла успешно!',
paymentSuccessDesc: 'Введите ваши контактные данные, и мы отправим вам покупку в течение нескольких минут',
sending: 'Отправка...',
send: 'Отправить',
paymentError: 'Не удалось создать платеж',
paymentErrorDesc: 'Сейчас не получилось подготовить QR-код для оплаты. Попробуйте еще раз через минуту.',
retryPayment: 'Попробовать снова',
paymentTimeout: 'Время ожидания истекло',
paymentTimeoutDesc: 'Мы не получили подтверждение оплаты в течение 3 минут.',
autoClose: 'Окно закроется автоматически...',
confirmClear: 'Вы уверены, что хотите очистить корзину?',
removeItem: 'Удалить товар',
paymentQrAlt: 'QR-код для оплаты',
acceptTerms: 'Пожалуйста, примите условия оферты, политику возврата и возврата для подтверждения оформления заказа.',
copyError: 'Ошибка копирования:',
emailSuccess: 'Email успешно отправлен! Проверьте свою почту.',
emailError: 'Произошла ошибка при отправке email. Пожалуйста, попробуйте снова.',
phoneRequired: 'Номер телефона обязателен',
phoneMoreDigits: 'Введите ещё {{count}} цифр',
phoneTooMany: 'Слишком много цифр',
emailRequired: 'Email обязателен',
emailTooShort: 'Email слишком короткий (минимум 5 символов)',
emailTooLong: 'Email слишком длинный (максимум 100 символов)',
emailNeedsAt: 'Email должен содержать @',
emailNeedsDomain: 'Email должен содержать домен (.com, .ru и т.д.)',
emailInvalid: 'Некорректный формат email',
loginRequired: 'Войдите для оформления',
loginRequiredDesc: 'Для оформления заказа войдите через Telegram',
loginWithTelegram: 'Войти через Telegram',
orScanQr: 'Или отсканируйте QR-код',
},
search: {
title: 'Поиск товаров',
placeholder: 'Введите название товара...',
resultsCount: 'Найдено товаров:',
searching: 'Поиск...',
retry: 'Попробовать снова',
noResults: 'Ничего не найдено',
noResultsFor: 'По запросу "{{query}}" товары не найдены',
noResultsHint: 'Попробуйте изменить запрос или используйте другие ключевые слова',
addToCart: 'В корзину',
loadingMore: 'Загрузка...',
allLoaded: 'Все результаты загружены',
emptyState: 'Введите запрос для поиска товаров',
minLength: 'Введите минимум {{count}} символа для поиска',
of: 'из',
},
category: {
retry: 'Попробовать снова',
addToCart: 'В корзину',
loadingMore: 'Загрузка...',
allLoaded: 'Все товары загружены',
emptyTitle: 'Упс! Здесь пока пусто',
emptyDesc: 'В этой категории ещё нет товаров, но скоро они появятся',
goHome: 'На главную',
loading: 'Загрузка товаров...',
},
catalog: {
title: 'Каталог',
breadcrumb: 'Навигация по каталогу',
allCategories: 'Все категории',
products: 'Товары',
loading: 'Загрузка каталога...',
loadingProducts: 'Загрузка товаров...',
errorTitle: 'Каталог недоступен',
error: 'Не удалось загрузить каталог. Попробуйте позже.',
retry: 'Попробовать снова',
categoryHint: 'Выберите категорию, чтобы продолжить',
productHint: 'Товары в выбранной категории',
emptyTitle: 'Здесь пока пусто',
emptyCategories: 'В этом разделе пока нет дочерних категорий.',
emptyProducts: 'В этой категории пока нет товаров.',
addToCart: 'В корзину',
categoriesCount: '{{count}} категорий',
productsCount: '{{count}} товаров',
entriesCount: '{{count}} позиций',
categoryBannerPlaceholder: 'Баннер категории подготовлен для медиа и описания из backend.',
navigationPlaceholder: 'Макет навигации подготовлен для конфигурации из backend/bootstrap.',
removeSavedSearch: 'Удалить сохраненный поиск',
resetFilters: 'Сбросить',
filtersTitle: 'Фильтры',
from: 'От',
to: 'До',
minValue: 'От {{value}}',
maxValue: 'До {{value}}',
enabled: 'Включено',
searchPlaceholder: 'Поиск товаров, брендов и категорий',
searchSubmit: 'Найти',
clearSearch: 'Очистить',
suggestionsTitle: 'Подсказки',
popularSearchesTitle: 'Популярные запросы',
recentSearchesTitle: 'Недавние запросы',
searchHistoryTitle: 'История поиска',
clearHistory: 'Очистить',
searchNoResultsHint: 'Ничего не найдено. Попробуйте более общий запрос.',
searchProductsFound: 'Найдено товаров: {{total}}',
searchResultsSummary: '{{total}} результатов по запросу "{{query}}"',
sortBy: 'Сортировать по',
sortRelevance: 'Рекомендуемые',
sortLatest: 'Новизне',
sortPriceAsc: 'Цене: по возрастанию',
sortPriceDesc: 'Цене: по убыванию',
sortRating: 'Рейтингу',
sortPopular: 'Популярности',
sortDiscount: 'Скидке',
layoutGrid: 'Сетка',
layoutLargeGrid: 'Крупная сетка',
layoutCompactGrid: 'Компактная сетка',
layoutList: 'Список',
noResults: 'Нет результатов',
itemsCount: '{{count}} товаров',
emptyResultsTitle: 'Результаты не найдены',
emptyResultsDescription: 'Попробуйте изменить фильтры, сортировку или поисковый запрос.',
previousPage: 'Назад',
nextPage: 'Вперед',
pageOf: 'Страница {{page}} / {{total}}',
emptyCategoryTitle: 'В этой категории пока нет товаров',
emptyCategoryMessage: 'Попробуйте перейти в родительские категории или вернуться в общий каталог.',
browseCategories: 'Смотреть категории',
noFilterMatchTitle: 'Нет товаров, соответствующих выбранным фильтрам.',
noFilterMatchMessage: 'Попробуйте расширить диапазон цены, атрибуты или бренды.',
clearFilters: 'Очистить фильтры',
openFilters: 'Открыть фильтры',
applyFilters: 'Применить',
close: 'Закрыть',
filtersDrawerAria: 'Панель фильтров',
sortSheetAria: 'Параметры сортировки',
mobileToolbarAria: 'Мобильная панель каталога',
gridCycle: 'Сетка',
filtersPanelAria: 'Фильтры каталога',
filterPrice: 'Цена',
filterAvailability: 'Наличие',
filterInStock: 'В наличии',
filterLowStock: 'Мало в наличии',
filterOutOfStock: 'Нет в наличии',
filterRating: 'Рейтинг',
filterStars: '{{count}} звезд',
filterBrand: 'Бренд',
filterCategory: 'Категория',
filterCategoryValue: 'Категория {{value}}',
filterSubcategory: 'Подкатегория',
filterDiscount: 'Скидка',
filterNew: 'Новинки',
filterColor: 'Цвет',
filterSize: 'Размер',
filterAttributes: 'Атрибуты',
},
productDetails: {
loading: 'Загрузка товара...',
errorTitle: 'Товар недоступен',
retry: 'Попробовать снова',
missingTitle: 'Товар не найден',
missingDescription: 'Этот товар не существует или больше недоступен.',
backToCatalog: 'Вернуться в каталог',
tabsAria: 'Вкладки товара',
mediaAria: 'Медиа товара',
ratingStarsAria: 'Рейтинг в звездах',
selectRatingAria: 'Выберите оценку',
reviewsEmpty: 'Пока нет отзывов.',
questionsEmpty: 'Пока нет вопросов.',
askQuestion: 'Задать вопрос',
hideQuestionForm: 'Скрыть форму вопроса',
questionFormTitle: 'Задать вопрос',
questionFormPlaceholder: 'Спросите о размере, доставке, совместимости или использовании',
questionFormAnonymous: 'Задать анонимно',
submitQuestion: 'Отправить вопрос',
reviewFormTitle: 'Оставить отзыв',
reviewRatingLabel: 'Оценка',
reviewTitleLabel: 'Заголовок',
reviewTitlePlaceholder: 'Короткий заголовок',
reviewTextLabel: 'Отзыв',
reviewTextPlaceholder: 'Опишите ваш опыт использования',
reviewAnonymous: 'Отправить анонимно',
reviewUploadPlaceholder: 'Загрузка фото запланирована в следующем спринте.',
reviewRatingRequired: 'Выберите оценку.',
reviewTextRequired: 'Добавьте текст отзыва.',
reviewSuccess: 'Отзыв успешно отправлен.',
submitReview: 'Отправить отзыв',
submitting: 'Отправка...',
loadMore: 'Показать еще',
showingOf: 'Показано {{shown}} из {{total}}',
questionsSubmissionFuture: 'Отправку вопросов можно включить позже без изменения компонента.',
specificationsGeneral: 'Общие',
actionsAria: 'Действия с товаром',
buyNow: 'Купить сейчас',
wishlist: 'В избранное',
compare: 'Сравнить',
share: 'Поделиться',
notifyMe: 'Сообщить о наличии',
zoom: 'Увеличить',
fullscreen: 'Полный экран',
pdfDocument: 'PDF документ товара',
manualDocument: 'Инструкция товара',
warrantyDocument: 'Гарантийный документ',
openDocument: 'Открыть документ',
specificationsEmpty: 'Характеристики пока не указаны.',
warrantyTitle: 'Гарантия и возврат',
warrantyItem1: 'Условия гарантии определяются продавцом и местным законодательством.',
warrantyItem2: 'Возможность возврата зависит от состояния и категории товара.',
warrantyItem3: 'Подробная инструкция по возврату доступна после покупки.',
verifiedPurchase: 'Подтвержденная покупка',
officialSeller: 'Официальный продавец',
acceptedAnswer: 'Принятый ответ',
like: 'Нравится',
dislike: 'Не нравится',
reviewsCountLabel: '{{count}} отзывов',
previous: 'Назад',
next: 'Вперед',
pageOf: 'Страница {{page}} / {{total}}',
},
subcategories: {
loading: 'Загрузка подкатегорий...',
retry: 'Попробовать снова',
emptyTitle: 'Упс! Подкатегорий пока нет',
emptyDesc: 'В этом разделе ещё нет подкатегорий, но скоро они появятся',
goHome: 'На главную',
itemsInCategory: 'Товары в этой категории',
childrenCount: '{{count}} категорий',
productsCount: '{{count}} товаров',
includesProducts: 'Есть товары',
},
itemDetail: {
loading: 'Загрузка...',
loadingDexar: 'Загрузка товара...',
back: 'Вернуться',
backHome: 'Вернуться на главную',
noImage: 'Нет изображения',
stock: 'Наличие:',
inStock: 'В наличии',
lowStock: 'Осталось немного',
lastItems: 'Последние штуки',
mediumStock: 'Заканчивается',
addToCart: 'Добавить в корзину',
description: 'Описание',
specifications: 'Характеристики',
reviews: 'Отзывы',
yourReview: 'Ваш отзыв',
leaveReview: 'Оставить отзыв',
rating: 'Оценка:',
reviewPlaceholder: 'Поделитесь своими впечатлениями о товаре...',
reviewPlaceholderDexar: 'Поделитесь впечатлениями о товаре...',
anonymous: 'Анонимно',
submitting: 'Отправка...',
submit: 'Отправить',
reviewSuccess: 'Спасибо за ваш отзыв!',
reviewError: 'Ошибка отправки. Попробуйте позже.',
defaultUser: 'Пользователь',
defaultUserDexar: 'Аноним',
noReviews: 'Пока нет отзывов. Станьте первым!',
qna: 'Вопросы и ответы',
photo: 'Фото',
reviewsCount: 'отзывов',
today: 'Сегодня',
yesterday: 'Вчера',
daysAgo: 'дн. назад',
weeksAgo: 'нед. назад',
colour: 'Цвет',
size: 'Размер',
relatedProducts: 'Похожие товары',
},
app: {
connecting: 'Подключение к серверу...',
serverUnavailable: 'Сервер недоступен',
serverError: 'Не удалось подключиться к серверу. Проверьте подключение к интернету.',
retryConnection: 'Повторить попытку',
pageTitle: 'Маркетплейс товаров и услуг',
},
platform: {
loadingPage: 'Загрузка страницы платформы...',
emptyConfig: 'Конфигурация страницы не найдена.',
},
backoffice: {
title: 'Песочница Backoffice',
subtitle: 'Домен управления бизнес-данными (mock для платформенного фундамента).',
loading: 'Загрузка данных backoffice...',
products: 'Товары',
categories: 'Категории',
otherDomains: 'Другие домены',
sku: 'SKU',
titleColumn: 'Название',
price: 'Цена',
status: 'Статус',
itemsCount: 'шт.',
orders: 'Заказы',
customers: 'Клиенты',
inventory: 'Склад',
media: 'Медиа',
settings: 'Настройки',
notAvailable: 'н/д',
},
builder: {
title: 'Песочница Builder',
subtitle: 'Поверхность редактирования только конфигурации.',
branding: 'Брендинг',
brandName: 'Название бренда',
featureFlags: 'Фичи-флаги',
},
widgets: {
unavailable: 'Виджет недоступен',
},
carousel: {
loading: 'Загрузка товаров...',
addToCart: 'Добавить в корзину',
},
common: {
retry: 'Попробовать снова',
loading: 'Загрузка...',
},
location: {
allRegions: 'Все регионы',
chooseRegion: 'Выберите регион',
detectAuto: 'Определить автоматически',
},
auth: {
loginRequired: 'Требуется авторизация',
loginDescription: 'Для оформления заказа войдите через Telegram',
checking: 'Проверка...',
loginWithTelegram: 'Войти через Telegram',
orScanQr: 'Или отсканируйте QR-код',
loginNote: 'После входа вы будете перенаправлены обратно',
qrExpired: 'QR-код устарел. Нажмите, чтобы обновить',
qrError: 'Не удалось создать сессию входа. Нажмите, чтобы повторить',
},
ux: {
items: 'товаров',
wishlistTitle: 'Избранное',
wishlistEmptyTitle: 'Избранное пока пусто',
wishlistEmptyDescription: 'Сохраняйте товары, чтобы быстро вернуться к ним позже.',
clearWishlist: 'Очистить избранное',
wishlistCleared: 'Избранное очищено',
compareTitle: 'Сравнение товаров',
compareEmptyTitle: 'Нет товаров для сравнения',
compareEmptyDescription: 'Добавьте товары из каталога, чтобы сравнить характеристики и цену.',
clearCompare: 'Очистить сравнение',
hideIdentical: 'Скрыть одинаковые значения',
highlightDifferences: 'Подсвечивать различия',
clearRecentlyViewed: 'Очистить просмотренные',
recentlyViewedEmpty: 'Вы пока не просматривали товары.',
saveSearch: 'Сохранить поиск',
goToCatalog: 'Перейти в каталог',
wishlistAdded: 'Добавлено в избранное',
wishlistRemoved: 'Удалено из избранного',
compareAdded: 'Добавлено в сравнение',
compareRemoved: 'Удалено из сравнения',
compareLimitReached: 'Достигнут лимит сравнения ({{maxItems}})',
productShared: 'Товар отправлен',
productLinkCopied: 'Ссылка на товар скопирована',
sharingUnsupported: 'На этом устройстве нет поддержки шаринга',
addedToCart: 'Добавлено в корзину',
enterQueryBeforeSave: 'Введите поисковый запрос перед сохранением',
savedSearchNamed: 'Сохраненный поиск: {{name}}',
recentlyViewedTitle: 'Недавно просмотренные',
compareAttribute: 'Атрибут',
comparePrice: 'Цена',
compareRating: 'Рейтинг',
compareStock: 'Наличие',
compareDiscount: 'Скидка',
compareColor: 'Цвет',
compareSize: 'Размер',
compareUnknown: 'неизвестно',
},
};