Files
marketplaces/src/app/i18n/translations.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

456 lines
11 KiB
TypeScript

export interface Translations {
header: {
home: string;
search: string;
about: string;
contacts: string;
searchPlaceholder: string;
catalog: string;
wishlist: string;
compare: string;
openMenu: string;
closeMenu: string;
};
footer: {
description: string;
company: string;
aboutUs: string;
contacts: string;
requisites: string;
support: string;
faq: string;
delivery: string;
guarantee: string;
legal: string;
offer: string;
privacy: string;
returns: string;
info: string;
aboutCompany: string;
documents: string;
paymentRules: string;
returnPolicy: string;
publicOffer: string;
help: string;
payment: string;
allRightsReserved: string;
};
home: {
welcomeTo: string;
subtitle: string;
startSearch: string;
loading: string;
errorTitle: string;
retry: string;
categoriesTitle: string;
categoriesSubtitle: string;
categoriesEmpty: string;
categoriesEmptyDesc: string;
dexarHeroTitle: string;
dexarHeroSubtitle: string;
dexarHeroTagline: string;
goToCatalog: string;
findProduct: string;
loadingDexar: string;
catalogTitle: string;
emptyCategoriesDexar: string;
categoriesSoonDexar: string;
itemsCount: string;
};
cart: {
title: string;
clear: string;
empty: string;
emptyDesc: string;
goShopping: string;
total: string;
items: string;
deliveryLabel: string;
deliveryMethod: string;
selectDelivery: string;
deliveryPlace: string;
deliveryTime: string;
digitalDelivery: string;
deliveryRequired: string;
toPay: string;
agreeWith: string;
publicOffer: string;
returnPolicy: string;
guaranteeTerms: string;
privacyPolicy: string;
and: string;
checkout: string;
payViaQr: string;
payViaCard: string;
close: string;
creatingPayment: string;
waitFewSeconds: string;
scanQr: string;
amountToPay: string;
waitingPayment: string;
copied: string;
copyLink: string;
openNewTab: string;
paymentSuccess: string;
paymentSuccessDesc: string;
sending: string;
send: string;
paymentError: string;
paymentErrorDesc: string;
retryPayment: string;
paymentTimeout: string;
paymentTimeoutDesc: string;
autoClose: string;
confirmClear: string;
removeItem: string;
paymentQrAlt: string;
acceptTerms: string;
copyError: string;
emailSuccess: string;
emailError: string;
phoneRequired: string;
phoneMoreDigits: string;
phoneTooMany: string;
emailRequired: string;
emailTooShort: string;
emailTooLong: string;
emailNeedsAt: string;
emailNeedsDomain: string;
emailInvalid: string;
loginRequired: string;
loginRequiredDesc: string;
loginWithTelegram: string;
orScanQr: string;
};
search: {
title: string;
placeholder: string;
resultsCount: string;
searching: string;
retry: string;
noResults: string;
noResultsFor: string;
noResultsHint: string;
addToCart: string;
loadingMore: string;
allLoaded: string;
emptyState: string;
minLength: string;
of: string;
};
category: {
retry: string;
addToCart: string;
loadingMore: string;
allLoaded: string;
emptyTitle: string;
emptyDesc: string;
goHome: string;
loading: string;
};
catalog: {
title: string;
breadcrumb: string;
allCategories: string;
products: string;
loading: string;
loadingProducts: string;
errorTitle: string;
error: string;
retry: string;
categoryHint: string;
productHint: string;
emptyTitle: string;
emptyCategories: string;
emptyProducts: string;
addToCart: string;
categoriesCount: string;
productsCount: string;
entriesCount: string;
categoryBannerPlaceholder: string;
navigationPlaceholder: string;
removeSavedSearch: string;
resetFilters: string;
filtersTitle: string;
from: string;
to: string;
minValue: string;
maxValue: string;
enabled: string;
searchPlaceholder: string;
searchSubmit: string;
clearSearch: string;
suggestionsTitle: string;
popularSearchesTitle: string;
recentSearchesTitle: string;
searchHistoryTitle: string;
clearHistory: string;
searchNoResultsHint: string;
searchProductsFound: string;
searchResultsSummary: string;
sortBy: string;
sortRelevance: string;
sortLatest: string;
sortPriceAsc: string;
sortPriceDesc: string;
sortRating: string;
sortPopular: string;
sortDiscount: string;
layoutGrid: string;
layoutLargeGrid: string;
layoutCompactGrid: string;
layoutList: string;
noResults: string;
itemsCount: string;
emptyResultsTitle: string;
emptyResultsDescription: string;
previousPage: string;
nextPage: string;
pageOf: string;
emptyCategoryTitle: string;
emptyCategoryMessage: string;
browseCategories: string;
noFilterMatchTitle: string;
noFilterMatchMessage: string;
clearFilters: string;
openFilters: string;
applyFilters: string;
close: string;
filtersDrawerAria: string;
sortSheetAria: string;
mobileToolbarAria: string;
gridCycle: string;
filtersPanelAria: string;
filterPrice: string;
filterAvailability: string;
filterInStock: string;
filterLowStock: string;
filterOutOfStock: string;
filterRating: string;
filterStars: string;
filterBrand: string;
filterCategory: string;
filterCategoryValue: string;
filterSubcategory: string;
filterDiscount: string;
filterNew: string;
filterColor: string;
filterSize: string;
filterAttributes: string;
};
productDetails: {
loading: string;
errorTitle: string;
retry: string;
missingTitle: string;
missingDescription: string;
backToCatalog: string;
tabsAria: string;
mediaAria: string;
ratingStarsAria: string;
selectRatingAria: string;
reviewsEmpty: string;
questionsEmpty: string;
askQuestion: string;
hideQuestionForm: string;
questionFormTitle: string;
questionFormPlaceholder: string;
questionFormAnonymous: string;
submitQuestion: string;
reviewFormTitle: string;
reviewRatingLabel: string;
reviewTitleLabel: string;
reviewTitlePlaceholder: string;
reviewTextLabel: string;
reviewTextPlaceholder: string;
reviewAnonymous: string;
reviewUploadPlaceholder: string;
reviewRatingRequired: string;
reviewTextRequired: string;
reviewSuccess: string;
submitReview: string;
submitting: string;
loadMore: string;
showingOf: string;
questionsSubmissionFuture: string;
specificationsGeneral: string;
actionsAria: string;
buyNow: string;
wishlist: string;
compare: string;
share: string;
notifyMe: string;
zoom: string;
fullscreen: string;
pdfDocument: string;
manualDocument: string;
warrantyDocument: string;
openDocument: string;
specificationsEmpty: string;
warrantyTitle: string;
warrantyItem1: string;
warrantyItem2: string;
warrantyItem3: string;
verifiedPurchase: string;
officialSeller: string;
acceptedAnswer: string;
like: string;
dislike: string;
reviewsCountLabel: string;
previous: string;
next: string;
pageOf: string;
};
subcategories: {
loading: string;
retry: string;
emptyTitle: string;
emptyDesc: string;
goHome: string;
itemsInCategory: string;
childrenCount: string;
productsCount: string;
includesProducts: string;
};
itemDetail: {
loading: string;
loadingDexar: string;
back: string;
backHome: string;
noImage: string;
stock: string;
inStock: string;
lowStock: string;
lastItems: string;
mediumStock: string;
addToCart: string;
description: string;
specifications: string;
reviews: string;
yourReview: string;
leaveReview: string;
rating: string;
reviewPlaceholder: string;
reviewPlaceholderDexar: string;
anonymous: string;
submitting: string;
submit: string;
reviewSuccess: string;
reviewError: string;
defaultUser: string;
defaultUserDexar: string;
noReviews: string;
qna: string;
photo: string;
reviewsCount: string;
today: string;
yesterday: string;
daysAgo: string;
weeksAgo: string;
colour: string;
size: string;
relatedProducts: string;
};
app: {
connecting: string;
serverUnavailable: string;
serverError: string;
retryConnection: string;
pageTitle: string;
};
platform: {
loadingPage: string;
emptyConfig: string;
};
backoffice: {
title: string;
subtitle: string;
loading: string;
products: string;
categories: string;
otherDomains: string;
sku: string;
titleColumn: string;
price: string;
status: string;
itemsCount: string;
orders: string;
customers: string;
inventory: string;
media: string;
settings: string;
notAvailable: string;
};
builder: {
title: string;
subtitle: string;
branding: string;
brandName: string;
featureFlags: string;
};
widgets: {
unavailable: string;
};
carousel: {
loading: string;
addToCart: string;
};
common: {
retry: string;
loading: string;
};
location: {
allRegions: string;
chooseRegion: string;
detectAuto: string;
};
auth: {
loginRequired: string;
loginDescription: string;
checking: string;
loginWithTelegram: string;
orScanQr: string;
loginNote: string;
qrExpired: string;
qrError: string;
};
ux: {
items: string;
wishlistTitle: string;
wishlistEmptyTitle: string;
wishlistEmptyDescription: string;
clearWishlist: string;
wishlistCleared: string;
compareTitle: string;
compareEmptyTitle: string;
compareEmptyDescription: string;
clearCompare: string;
hideIdentical: string;
highlightDifferences: string;
clearRecentlyViewed: string;
recentlyViewedEmpty: string;
saveSearch: string;
goToCatalog: string;
wishlistAdded: string;
wishlistRemoved: string;
compareAdded: string;
compareRemoved: string;
compareLimitReached: string;
productShared: string;
productLinkCopied: string;
sharingUnsupported: string;
addedToCart: string;
enterQueryBeforeSave: string;
savedSearchNamed: string;
recentlyViewedTitle: string;
compareAttribute: string;
comparePrice: string;
compareRating: string;
compareStock: string;
compareDiscount: string;
compareColor: string;
compareSize: string;
compareUnknown: string;
};
}