Files
marketplaces/src/app/i18n/translations.ts
sdarbinyan 7b639cabf8 fix(admin): products canDeactivate guard, unblock npm, drop dead deps
RC-01 Phase 1 mechanical fixes (verified against current repo state,
not blindly reapplied from TODO.md):

- admin/products create/edit/duplicate now protected by an unsaved-
  changes guard (adminProductDirtyGuard), mirroring the existing
  categories pattern. AdminProductsFacade had zero dirty-tracking
  before this - added a dirty signal, set true on updateDraft(),
  cleared on load/create/successful save. Added confirmLeaveUnsaved
  to the adminProducts i18n section (en/ru/hy) - categories already
  had its own copy of this key, products didn't.
- barry-cache bumped ^0.1.0 -> ^0.9.3 (the pinned range no longer
  resolved on the registry - ETARGET - which had been silently
  blocking every npm install/uninstall all cycle).
- Removed primeng/primeicons (npm uninstall, now unblocked) - the
  only consumer (items-carousel) was already deleted in RC PERF-01.
- Removed core/search/services/search-history.service.ts, a dead
  1-line re-export with zero importers (verified: the real
  implementation is features/search/services/search-history.service.ts,
  used by search.facade.ts). Left core/search/models/* alone - those
  ARE live, imported by catalog components.

Verified before touching: HeaderConfig.showProfile toggle is already
removed from the header-section editor template (TODO.md was stale on
this one) - no change needed, will correct the tracking doc separately.

tsc --noEmit clean, npm run build green (bundle unchanged, primeng
was already tree-shaken out, this just removes the dead dependency
declaration itself).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-25 20:04:51 +04:00

1983 lines
52 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;
increaseQuantity: string;
decreaseQuantity: 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;
searchBarAria: string;
resultsCount: string;
searching: string;
retry: string;
noResults: string;
noResultsFor: string;
noResultsHint: string;
emptyResultsAria: string;
popularCategories: string;
recommendedProducts: string;
aiSuggestionHint: string;
suggestionType: {
product: string;
category: string;
brand: string;
collection: string;
seller: string;
'static-page': string;
ai: 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;
loadMore: string;
sortBy: string;
sortRelevance: string;
sortLatest: string;
sortPriceAsc: string;
sortPriceDesc: string;
sortRating: string;
sortPopular: string;
sortDiscount: string;
layoutGrid: string;
layoutLargeGrid: string;
layoutCompactGrid: string;
layoutGrid2: string;
layoutGrid3: string;
layoutGrid4: string;
layoutCompact: string;
layoutList: string;
noResults: string;
itemsCount: string;
emptyResultsTitle: string;
emptyResultsDescription: string;
previousPage: string;
nextPage: string;
pageOf: string;
emptyCategoryTitle: string;
emptyCategoryMessage: string;
goToParentCategory: string;
browseCategories: string;
offlineTitle: string;
offlineMessage: 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;
favorite: string;
compare: string;
share: string;
quickView: string;
stockHigh: string;
stockMedium: string;
stockLow: string;
stockOut: string;
};
productDetails: {
loading: string;
errorTitle: string;
retry: string;
missingTitle: string;
missingDescription: string;
backToCatalog: string;
tabsAria: string;
mediaAria: string;
ratingStarsAria: string;
selectRatingAria: string;
starsLabel: 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;
skipToContent: 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;
general: string;
branding: string;
theme: string;
header: string;
footer: string;
homepage: string;
widgets: string;
staticPages: string;
marketplaceFeatures: string;
preview: string;
brandName: string;
marketplaceName: string;
domain: string;
descriptionLabel: string;
defaultLanguage: string;
supportedLanguages: string;
logo: string;
smallLogo: string;
favicon: string;
socialImage: string;
gallery: string;
addGalleryImage: string;
headerLayout: string;
headerLayoutDefault: string;
headerLayoutCentered: string;
headerSticky: string;
marketplaceTitle: string;
primaryColor: string;
secondaryColor: string;
backgroundColor: string;
surfaceColor: string;
textColor: string;
successColor: string;
warningColor: string;
dangerColor: string;
showLogo: string;
showSearch: string;
showCategories: string;
showLanguages: string;
showCart: string;
showProfile: string;
showWishlist: string;
showCompare: string;
showRegion: string;
companyName: string;
address: string;
phone: string;
email: string;
copyright: string;
paymentIcons: string;
socialLinks: string;
footerLogo: string;
addPaymentIcon: string;
removePaymentIcon: string;
iconAltLabel: string;
addSocialLink: string;
removeSocialLink: string;
socialLinkLabel: string;
socialLinkUrl: string;
invalidUrl: string;
createPage: string;
deletePage: string;
pageId: string;
slug: string;
iconLabel: string;
showInFooter: string;
showInHeader: string;
showInSitemap: string;
requiresAuthentication: string;
footerGroup: string;
orderLabel: string;
translationTitle: string;
htmlPreview: string;
seoSection: string;
seoTitle: string;
seoDescription: string;
seoKeywords: string;
seoCanonical: string;
seoOgTitle: string;
seoOgDescription: string;
seoOgImage: string;
visible: string;
layoutLabel: string;
columns: string;
height: string;
overlay: string;
autoplay: string;
cardsPerRow: string;
filtersLabel: string;
showBadges: string;
showRating: string;
showPrice: string;
widgetJson: string;
reviews: string;
questions: string;
comments: string;
recommendations: string;
recentlyViewed: string;
searchSuggestions: string;
searchHistory: string;
livePreview: string;
previewChangesTitle: string;
previewNoIssues: string;
previewNoChanges: string;
previewChangeField: string;
previewChangeBefore: string;
previewChangeAfter: string;
languagesTab: string;
addLanguage: string;
removeLanguage: string;
setDefaultLanguage: string;
defaultLanguageLabel: string;
navigationTab: string;
navigationHeader: string;
navigationFooter: string;
navigationFooterGrouped: string;
addLink: string;
insertPageLink: string;
linkedToPage: string;
removeLink: string;
linkLabel: string;
linkUrl: string;
exportBootstrap: string;
importBootstrap: string;
exportedBootstrap: string;
importSource: string;
importError: string;
featureFlags: string;
validationMissingLogo: string;
validationNoLanguages: string;
validationDefaultLocaleNotSupported: string;
validationInvalidUrl: string;
validationDuplicateSlugs: string;
validationEmptyHomepage: string;
validationMissingWidget: string;
validationDuplicateNavLinks: string;
validationInvalidColors: string;
validationMissingTranslations: string;
validationInvalidLayouts: string;
validationInvalidJson: string;
validationInvalidCss: string;
validationDuplicateRoutes: string;
validationInvalidWidgetConfig: string;
validationInvalidContactEmail: string;
validationInvalidSocialLinkUrl: string;
validationIncompletePaymentIcon: string;
undo: string;
redo: string;
statusDraft: string;
statusPublished: string;
unsavedChanges: string;
save: string;
publish: string;
confirmLeaveUnsaved: string;
promptLinkUrl: string;
promptImageUrl: string;
promptEmbedUrl: string;
htmlEditorInvalidHtml: string;
htmlEditorCode: string;
htmlEditorPreview: string;
lastSaved: string;
draftRestored: string;
dismiss: string;
resetDraft: string;
resetSection: string;
confirmResetDraft: string;
confirmResetSection: string;
marketplaceNameDesc: string;
domainDesc: string;
descriptionFieldDesc: string;
defaultLanguageDesc: string;
supportedLanguagesDesc: string;
logoDesc: string;
smallLogoDesc: string;
faviconDesc: string;
socialImageDesc: string;
galleryDesc: string;
headerLayoutDesc: string;
headerStickyDesc: string;
marketplaceTitleDesc: string;
primaryColorDesc: string;
secondaryColorDesc: string;
backgroundColorDesc: string;
surfaceColorDesc: string;
textColorDesc: string;
successColorDesc: string;
warningColorDesc: string;
dangerColorDesc: string;
themeModeLabel: string;
themeModeDesc: string;
themeModeLight: string;
themeModeLightDesc: string;
themeModeDark: string;
themeModeDarkDesc: string;
themeModeSystem: string;
themeModeSystemDesc: string;
siteLayoutLabel: string;
siteLayoutDesc: string;
siteLayoutDefault: string;
siteLayoutDefaultDesc: string;
siteLayoutSidebarLeft: string;
siteLayoutSidebarLeftDesc: string;
siteLayoutCarouselHome: string;
siteLayoutCarouselHomeDesc: string;
siteLayoutMinimal: string;
siteLayoutMinimalDesc: string;
showLogoDesc: string;
showSearchDesc: string;
showCategoriesDesc: string;
showLanguagesDesc: string;
showCartDesc: string;
showProfileDesc: string;
showWishlistDesc: string;
showCompareDesc: string;
showRegionDesc: string;
companyNameDesc: string;
addressDesc: string;
phoneDesc: string;
emailDesc: string;
copyrightDesc: string;
paymentIconsDesc: string;
socialLinksDesc: string;
footerLogoDesc: string;
iconAltLabelDesc: string;
socialLinkUrlDesc: string;
staticPagesFieldDesc: string;
additionalPhones: string;
additionalPhonesDesc: string;
addPhone: string;
removePhone: string;
additionalEmails: string;
additionalEmailsDesc: string;
addEmail: string;
removeEmail: string;
footerColumns: string;
footerColumnsDesc: string;
footerColumnTitlePlaceholder: string;
footerLinkLabelPlaceholder: string;
footerLinkExistingPage: string;
footerLinkCustomUrl: string;
addColumn: string;
removeColumn: string;
addColumnLink: string;
removeColumnLink: string;
sectionVisibleDesc: string;
layoutStrategyLabel: string;
layoutStrategyDesc: string;
layoutStrategyStack: string;
layoutStrategyStackDesc: string;
layoutStrategyGrid: string;
layoutStrategyGridDesc: string;
layoutStrategyHero: string;
layoutStrategyHeroDesc: string;
layoutStrategyCarousel: string;
layoutStrategyCarouselDesc: string;
layoutStrategySplit: string;
layoutStrategySplitDesc: string;
sectionColumnsDesc: string;
widgetLayoutDesc: string;
widgetHeightDesc: string;
widgetOverlayDesc: string;
widgetAutoplayDesc: string;
heroLayoutFullBleed: string;
heroLayoutBoxed: string;
heroHeightCompact: string;
heroHeightMedium: string;
heroHeightTall: string;
heroHeightFullScreen: string;
heroSlides: string;
heroSlidesHint: string;
heroSlideTitlePlaceholder: string;
heroSlideSubtitlePlaceholder: string;
addSlide: string;
removeSlide: string;
widgetColumnsDesc: string;
widgetCardsPerRowDesc: string;
widgetFiltersDesc: string;
widgetShowBadgesDesc: string;
widgetShowRatingDesc: string;
widgetShowPriceDesc: string;
widgetJsonDesc: string;
widgetJsonInvalid: string;
wishlistFeatureDesc: string;
compareFeatureDesc: string;
reviewsFeatureDesc: string;
questionsFeatureDesc: string;
commentsFeatureDesc: string;
recommendationsFeatureDesc: string;
recentlyViewedFeatureDesc: string;
searchSuggestionsDesc: string;
searchHistoryDesc: string;
catalogNavigationModeLabel: string;
catalogNavigationModeDesc: string;
catalogNavDefault: string;
catalogNavDefaultDesc: string;
catalogNavLeftCategory: string;
catalogNavLeftCategoryDesc: string;
catalogNavMegaCategory: string;
catalogNavMegaCategoryDesc: string;
catalogNavTopCarousel: string;
catalogNavTopCarouselDesc: string;
newLanguageLabel: string;
newLanguageDesc: string;
languageAlreadyAdded: string;
languagesTabDesc: string;
linkLabelDesc: string;
linkUrlDesc: string;
linkVisibleDesc: string;
appName: string;
backToDashboard: string;
languagesSummaryDesc: string;
manageLanguages: string;
htmlToolBold: string;
htmlToolItalic: string;
htmlToolUnderline: string;
htmlToolHeading: string;
htmlToolSubheading: string;
htmlToolBulletList: string;
htmlToolNumberedList: string;
htmlToolLink: string;
htmlToolImage: string;
htmlToolTable: string;
htmlToolDivider: string;
htmlToolCodeBlock: string;
htmlToolEmbed: string;
breadcrumbRoot: string;
statusComplete: string;
statusInProgress: string;
statusNotStarted: string;
statusUnknown: string;
draftBadge: string;
publishedBadge: string;
modifiedBadge: string;
helpToggleShow: string;
helpToggleHide: string;
helpWhatIsThis: string;
helpWhySkip: string;
helpWhereVisible: string;
helpWhatIfSkip: string;
helpWhenReturn: string;
openSidebar: string;
closeSidebar: string;
overviewTitle: string;
overviewSubtitle: string;
overviewReadinessLabel: string;
overviewReadinessHint: string;
overviewNextStepLabel: string;
overviewNextStepFallback: string;
overviewQuickLinksTitle: string;
overviewSectionsTitle: string;
overviewOpenSection: string;
overviewReadinessTitle: string;
readinessLogoUploaded: string;
readinessHomepageConfigured: string;
readinessThemeConfigured: string;
readinessLanguagesConfigured: string;
readinessContentPagesAdded: string;
readinessPreviewReviewed: string;
readinessPublished: string;
readinessCategoriesExist: string;
readinessProductsExist: string;
groupMarketplaceLabel: string;
groupMarketplaceDescription: string;
groupMarketplacePurpose: string;
groupMarketplaceWhere: string;
groupMarketplaceSkip: string;
groupBrandingLabel: string;
groupBrandingDescription: string;
groupBrandingPurpose: string;
groupBrandingWhere: string;
groupBrandingSkip: string;
groupHomepageLabel: string;
groupHomepageDescription: string;
groupHomepagePurpose: string;
groupHomepageWhere: string;
groupHomepageSkip: string;
groupContentLabel: string;
groupContentDescription: string;
groupContentPurpose: string;
groupContentWhere: string;
groupContentSkip: string;
groupLanguagesLabel: string;
groupLanguagesDescription: string;
groupLanguagesPurpose: string;
groupLanguagesWhere: string;
groupLanguagesSkip: string;
groupFeaturesLabel: string;
groupFeaturesDescription: string;
groupFeaturesPurpose: string;
groupFeaturesWhere: string;
groupFeaturesSkip: string;
groupNavigationLabel: string;
groupNavigationDescription: string;
groupNavigationPurpose: string;
groupNavigationWhere: string;
groupNavigationSkip: string;
groupPreviewLabel: string;
groupPreviewDescription: string;
groupPreviewPurpose: string;
groupPreviewWhere: string;
groupPreviewSkip: string;
brandOverviewTitle: string;
brandOverviewSubtitle: string;
brandOverviewComplete: string;
brandLastModified: string;
brandFaviconUploaded: string;
brandColorsSelected: string;
brandTypographyConfigured: string;
brandSocialImageUploaded: string;
brandAccessibilityPassed: string;
brandColorsPreviewTitle: string;
brandTypographyPreviewTitle: string;
brandSocialPreviewTitle: string;
brandTypeSampleHeading: string;
brandTypeSampleBody: string;
brandContrastWarning: string;
brandSocialEmpty: string;
brandAccentColor: string;
brandBorderColor: string;
homepageOverviewTitle: string;
homepageOverviewSubtitle: string;
homepageOverviewComplete: string;
homepageActiveSections: string;
homepageDisabledSections: string;
homepageHealthHero: string;
homepageHealthCategories: string;
homepageHealthProducts: string;
homepageHealthPromotion: string;
homepageHealthNewsletter: string;
homepageHealthAnySections: string;
widgetTypeHero: string;
widgetTypeCategories: string;
widgetTypeProducts: string;
widgetHidden: string;
widgetVisible: string;
widgetMoveUp: string;
widgetMoveDown: string;
widgetDuplicate: string;
widgetRemove: string;
widgetRemoveConfirm: string;
widgetAdvancedSettings: string;
widgetsEmptyTitle: string;
widgetsEmptyDesc: string;
homepageEmptyTitle: string;
homepageEmptyDesc: string;
homepageBlocksHint: string;
addBlockHint: string;
dragToReorder: string;
blockRemoveConfirm: string;
blockHero: string;
blockHeroDesc: string;
blockCategories: string;
blockCategoriesDesc: string;
blockFeaturedProducts: string;
blockFeaturedProductsDesc: string;
blockProductCarousel: string;
blockProductCarouselDesc: string;
blockRecentlyViewed: string;
blockRecentlyViewedDesc: string;
blockBanner: string;
blockBannerDesc: string;
blockPartners: string;
blockPartnersDesc: string;
blockCustomHtml: string;
blockCustomHtmlDesc: string;
};
dashboard: {
title: string;
subtitle: string;
cardMarketplaceStatus: string;
cardProjectName: string;
cardCurrentTheme: string;
cardLanguages: string;
cardCategoriesCount: string;
cardProductsCount: string;
cardOrders: string;
cardRevenue: string;
cardLastPublish: string;
cardLastDraftSave: string;
cardBootstrapVersion: string;
cardActiveLayout: string;
cardEnabledWidgets: string;
stateLoading: string;
stateEmpty: string;
stateError: string;
statePendingBackend: string;
never: string;
quickActionsTitle: string;
actionEditProject: string;
actionCategories: string;
actionProducts: string;
actionStaticPages: string;
actionTransactions: string;
actionOrders: string;
actionMediaLibrary: string;
actionUsers: string;
actionMonitoring: string;
actionAnalytics: string;
actionPreviewMarketplace: string;
activityTitle: string;
activityEmpty: string;
activityDraftSaved: string;
activityPublished: string;
healthTitle: string;
healthAllClear: string;
healthBootstrapValid: string;
healthConfigurationValid: string;
healthMissingTranslations: string;
healthInvalidColors: string;
healthInvalidWidgetReferences: string;
healthInvalidLayouts: string;
comingSoonTitle: string;
comingSoonDescription: string;
backToDashboard: string;
welcomeEyebrow: string;
welcomeFallbackTenant: string;
envProduction: string;
envDevelopment: string;
factCurrentUser: string;
factTenant: string;
quickActionsDescription: string;
actionAddProduct: string;
actionAddProductDescription: string;
actionCreateCategory: string;
actionCreateCategoryDescription: string;
actionEditProjectDescription: string;
actionEditHomepage: string;
actionEditHomepageDescription: string;
actionMediaLibraryDescription: string;
actionOrdersDescription: string;
draftStatusTitle: string;
draftStatusHasChanges: string;
draftStatusAllPublished: string;
draftStatusMoreFields: string;
draftOpenBuilder: string;
draftPublish: string;
draftDiscard: string;
healthProductsCount: string;
healthCategoriesCount: string;
healthDraftExists: string;
healthImagesWithoutAlt: string;
healthStaticPagesUnpublished: string;
healthHomepageConfigured: string;
healthThemeConfigured: string;
statusHealthy: string;
statusAttention: string;
statusUnhealthy: string;
statusUnknown: string;
activityEmptyHint: string;
activityUnavailable: string;
activityUnavailableHint: string;
activityErrorHint: string;
shortcutsTitle: string;
shortcutsDescription: string;
shortcutMarketplaceBuilder: string;
shortcutSettings: string;
shortcutContent: string;
docTitle: string;
docDocumentation: string;
docKeyboardShortcuts: string;
docReportIssue: string;
docReleaseNotes: string;
};
staticPages: {
notFound: string;
backHome: string;
duplicateSlug: string;
emptyTitle: string;
duplicateRoute: string;
invalidHtml: string;
invalidSeo: string;
searchPlaceholder: string;
filterAll: string;
filterAllLocales: string;
confirmDeletePage: string;
confirmBulkDelete: string;
duplicatePage: string;
selectAll: string;
selectedCount: string;
bulkDelete: string;
bulkEnable: string;
bulkDisable: string;
bulkPublishAction: string;
bulkUnpublish: string;
routeLabel: string;
enabledLabel: string;
statusLabel: string;
publishPageAction: string;
unpublishPageAction: string;
heroImageLabel: string;
thumbnailLabel: string;
galleryLabel: string;
customTemplateLabel: string;
seoRobotsLabel: string;
disabledBadge: string;
previewDesktop: string;
previewTablet: string;
previewMobile: string;
previewToggle: string;
};
contentManagement: {
publishedPages: string;
draftPages: string;
missingLegalPages: string;
seoHealth: string;
lastEdited: string;
lastEditedNever: string;
completionLabel: string;
recommendedNext: string;
recommendAddTitles: string;
recommendFixSeo: string;
recommendPublish: string;
recommendNone: string;
openAction: string;
backToPages: string;
groupContent: string;
groupSeo: string;
groupSharing: string;
groupAdvanced: string;
groupAdvancedHtml: string;
seoExplainDesc: string;
seoTitleHelp: string;
seoDescriptionHelp: string;
seoCanonicalHelp: string;
seoRobotsHelp: string;
sharingExplain: string;
mediaSelect: string;
mediaReplace: string;
mediaRemove: string;
mediaAlt: string;
mediaCaption: string;
emptyStateGuideTitle: string;
emptyStateGuideBody: string;
seoStatusGood: string;
seoStatusPartial: string;
seoStatusWarning: string;
seoStatusMissing: string;
needsAttention: string;
legal: {
about: { label: string; why: string };
contacts: { label: string; why: string };
privacy: { label: string; why: string };
terms: { label: string; why: string };
cookies: { label: string; why: string };
delivery: { label: string; why: string };
returns: { label: string; why: string };
faq: { label: string; why: string };
};
};
widgets: {
unavailable: string;
};
carousel: {
loading: string;
addToCart: string;
};
common: {
retry: string;
loading: string;
remove: 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;
removeFromCompare: 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;
};
diagnostics: {
title: string;
disabledTitle: string;
disabledDescription: string;
generatedAt: string;
healthScore: string;
summary: string;
passedChecks: string;
warnings: string;
errors: string;
critical: string;
healthChecks: string;
results: string;
noIssues: string;
ok: string;
failed: string;
affectedComponent: string;
suggestedResolution: string;
severity: {
info: string;
warning: string;
error: string;
critical: string;
};
checks: {
bootstrapLoaded: string;
tenantResolved: string;
runtimeInitialized: string;
themeLoaded: string;
widgetManifestLoaded: string;
sectionEngineInitialized: string;
configurationEngineInitialized: string;
translationResourcesAvailable: string;
requiredAssetsAvailable: string;
};
bootstrapMissingTitle: string;
bootstrapMissingDescription: string;
bootstrapMissingResolution: string;
requiredPropertyMissingTitle: string;
requiredPropertyMissingDescription: string;
requiredPropertyMissingResolution: string;
unknownWidgetTypeTitle: string;
unknownWidgetTypeDescription: string;
unknownWidgetTypeResolution: string;
duplicateIdTitle: string;
duplicatePageIdDescription: string;
duplicateSectionIdDescription: string;
duplicateWidgetIdDescription: string;
duplicateIdResolution: string;
unknownLayoutTitle: string;
unknownLayoutDescription: string;
unknownLayoutResolution: string;
invalidFeatureFlagTitle: string;
invalidFeatureFlagDescription: string;
invalidFeatureFlagResolution: string;
brokenPageDefinitionTitle: string;
brokenPageDefinitionDescription: string;
brokenPageDefinitionResolution: string;
invalidNavigationTargetTitle: string;
invalidNavigationTargetDescription: string;
invalidNavigationTargetResolution: string;
missingTranslationTitle: string;
missingTranslationDescription: string;
missingTranslationResolution: string;
missingMediaTitle: string;
missingMediaDescription: string;
missingMediaResolution: string;
runtimeNotInitializedTitle: string;
runtimeNotInitializedDescription: string;
runtimeNotInitializedResolution: string;
configFallbackUsageTitle: string;
configFallbackUsageDescription: string;
configFallbackUsageResolution: string;
missingDatasourceTitle: string;
missingDatasourceDescription: string;
missingDatasourceResolution: string;
widgetRenderFailureTitle: string;
widgetRenderFailureDescription: string;
widgetRenderFailureResolution: string;
brokenRouteTitle: string;
brokenRouteDescription: string;
brokenRouteResolution: string;
imageLoadFailedTitle: string;
imageLoadFailedDescription: string;
imageLoadFailedResolution: string;
optionalDataMissingTitle: string;
optionalDataMissingDescription: string;
optionalDataMissingResolution: string;
};
adminModeration: {
search: string;
selectAllRows: string;
allStatuses: string;
allRatings: string;
rating: string;
customer: string;
product: string;
reviewText: string;
photos: string;
workflow: string;
approve: string;
reject: string;
markSpam: string;
hide: string;
restore: string;
pin: string;
unpin: string;
feature: string;
unfeature: string;
featureDisabledHint: string;
moderatorNotes: string;
notAvailable: string;
changeStatus: string;
hideSelected: string;
archiveSelected: string;
reportsQueue: string;
reportsColumn: string;
reportTarget: string;
reportType: string;
reportReason: string;
resolve: string;
dismiss: string;
reportsEmptyTitle: string;
reportsEmptyDescription: string;
reportedCount: string;
averageRating: string;
moderationHealth: string;
emptyTitle: string;
emptyDescription: string;
emptyGuide: string;
healthRating: string;
healthText: string;
healthMedia: string;
healthModeration: string;
healthReportStatus: string;
healthVisibility: string;
health: string;
column_product: string;
column_rating: string;
column_status: string;
column_reports: string;
column_created: string;
status: {
pending: string;
approved: string;
rejected: string;
spam: string;
};
targetType: {
product: string;
review: string;
customer: string;
category: string;
unknown: string;
};
reportStatus: {
open: string;
resolved: string;
dismissed: string;
};
};
adminOrders: {
back: string;
search: string;
export: string;
selectAllRows: string;
selectRow: string;
view: string;
orderNumber: string;
customer: string;
payment: string;
delivery: string;
trackingNumber: string;
createdAt: string;
items: string;
timeline: string;
notes: string;
internalNotes: string;
addNote: string;
changeStatus: string;
applyStatus: string;
archiveSelected: string;
printSelected: string;
printInvoice: string;
requestRefund: string;
cancelOrder: string;
confirmCancel: string;
confirmRefund: string;
emptyTitle: string;
emptyDescription: string;
column_customer: string;
column_status: string;
column_payment: string;
column_total: string;
column_created: string;
status: {
all: string;
pending: string;
processing: string;
shipped: string;
delivered: string;
cancelled: string;
refunded: string;
};
paymentStatus: {
unpaid: string;
paid: string;
refund_requested: string;
refunded: string;
};
ordersToday: string;
paidCount: string;
customersCount: string;
returningCustomers: string;
averageOrder: string;
recentActivity: string;
noRecentActivity: string;
alertStuckPending: string;
alertRefundRequested: string;
};
adminCustomers: {
search: string;
name: string;
email: string;
phone: string;
orderCount: string;
lifetimeValue: string;
returning: string;
profile: string;
statistics: string;
firstOrder: string;
lastOrder: string;
addresses: string;
notes: string;
notesUnavailable: string;
orders: string;
activity: string;
emptyTitle: string;
emptyDescription: string;
};
mediaLibrary: {
title: string;
upload: string;
uploading: string;
searchPlaceholder: string;
delete: string;
deleteConfirmTitle: string;
deleteConfirmBody: string;
cancel: string;
confirm: string;
emptyTitle: string;
emptyDescription: string;
allFolders: string;
newFolder: string;
editTags: string;
totalAssets: string;
logos: string;
unused: string;
storageUsed: string;
altCoverage: string;
allTypes: string;
typeImage: string;
typeSvg: string;
typePdf: string;
sortRecent: string;
sortName: string;
sortSize: string;
viewMode: string;
viewGrid: string;
viewList: string;
dropHint: string;
cancelUpload: string;
retry: string;
errorTooLarge: string;
errorUnsupportedType: string;
errorGeneric: string;
selectedCount: string;
download: string;
exportMetadata: string;
bulkDelete: string;
bulkDeleteConfirm: string;
clearSelection: string;
guideCopy: string;
missingAlt: string;
usageCount: string;
detailsTitle: string;
filename: string;
format: string;
fileSize: string;
dimensions: string;
uploadDate: string;
lastUsed: string;
usageCountLabel: string;
usedIn: string;
notUsed: string;
unknownValue: string;
altText: string;
altTextHelp: string;
decorative: string;
missingAltWarning: string;
caption: string;
description: string;
usage: {
brand: string;
theme: string;
header: string;
footer: string;
staticPage: string;
homepage: string;
catalog: string;
productPage: string;
widget: string;
company: string;
seo: string;
navigation: string;
other: string;
};
};
// Sprint 28: only the new empty-state copy this sprint's skeleton/empty-
// state consistency fix introduces - NOT the full adminProducts/
// adminUsers/adminMonitoring/adminAnalytics translation surface, which is
// still missing entirely (see docs/KNOWN-ISSUES.md, deferred to Sprint 29).
// Shared across branding/footer/static-pages/admin-product/admin-category media
// pickers - despite the namespace name, this is a generic "choose image" label,
// not category-specific. Renaming is a separate cleanup outside this sprint's
// scope; the key was previously referenced by 5 templates but never defined
// anywhere, so it rendered as the literal string "adminCategories.chooseImage".
adminCategories: {
chooseImage: string;
replaceImage: string;
search: string;
showDeleted: string;
selectAllRows: string;
selectRow: string;
toggleVisibility: string;
create: string;
edit: string;
title: string;
slug: string;
slugTaken: string;
parent: string;
noParent: string;
icon: string;
image: string;
imageHint: string;
description: string;
items: string;
status: { draft: string; published: string };
restore: string;
saveDraft: string;
publish: string;
confirmDelete: string;
confirmLeaveUnsaved: string;
deleteBlocked: string;
emptyTitle: string;
emptyDescription: string;
emptyGuide: string;
viewTree: string;
viewCards: string;
expandAll: string;
collapseAll: string;
expandNode: string;
collapseNode: string;
moveUp: string;
moveDown: string;
jumpToParent: string;
deletedBadge: string;
column_slug: string;
column_items: string;
column_status: string;
column_visibility: string;
column_updated: string;
bulkAssignParent: string;
bulkAssignImage: string;
groupGeneral: string;
groupMedia: string;
groupSeo: string;
groupVisibility: string;
groupNavigation: string;
groupAttributes: string;
groupAdvanced: string;
visibilityExplain: string;
navBreadcrumb: string;
navBreadcrumbHint: string;
iconHint: string;
navRoot: string;
navChildren: string;
navNoChildren: string;
navAppearsIn: string;
navAppearsVisible: string;
navAppearsHidden: string;
itemsCountLabel: string;
createdAtLabel: string;
healthImage: string;
healthSeo: string;
healthDescription: string;
healthParent: string;
healthVisibility: string;
healthProducts: string;
totalCategories: string;
visibleCount: string;
hiddenCount: string;
emptyCount: string;
rootCount: string;
subCount: string;
missingImagesCount: string;
missingSeoCount: string;
lastModified: string;
lastModifiedNever: string;
completionLabel: string;
recommendedNext: string;
recommendAddImage: string;
recommendAddSeo: string;
recommendFillEmpty: string;
recommendNone: string;
};
adminProducts: {
confirmLeaveUnsaved: string;
emptyTitle: string;
emptyDescription: string;
emptyGuide: string;
selectAllRows: string;
selectRow: string;
search: string;
category: string;
allCategories: string;
visibility: string;
allVisibility: string;
visible: string;
hidden: string;
stockStatus: string;
allStock: string;
inStock: string;
lowStock: string;
outOfStock: string;
sortTitle: string;
sortPrice: string;
sortPriority: string;
sortStock: string;
sortUpdated: string;
showArchived: string;
infiniteScroll: string;
viewMode: string;
viewTable: string;
viewGrid: string;
density: string;
densityComfortable: string;
densityCompact: string;
columns: string;
column_sku: string;
column_brand: string;
column_price: string;
column_stock: string;
column_visibility: string;
column_updated: string;
create: string;
edit: string;
duplicate: string;
selectedCount: string;
bulkShow: string;
bulkHide: string;
bulkAssignCategory: string;
bulkAssignTags: string;
bulkDuplicateAction: string;
bulkExportAction: string;
bulkDelete: string;
tagsPlaceholder: string;
name: string;
brand: string;
healthColumn: string;
actions: string;
archive: string;
delete: string;
items: string;
loadMore: string;
noImage: string;
slug: string;
barcode: string;
priority: string;
shortDescription: string;
translations: string;
primaryImage: string;
primaryImageHint: string;
gallery: string;
galleryHint: string;
moveLeft: string;
moveRight: string;
videos: string;
discount: string;
currency: string;
stockQuantity: string;
stockQuantityHint: string;
availabilityStatus: string;
availabilityStatusHint: string;
availabilityNote: string;
availabilityNoteHint: string;
reservedNote: string;
relatedProducts: string;
specifications: string;
attributes: string;
addRow: string;
removeRow: string;
rowKey: string;
rowValue: string;
addVariant: string;
variantName: string;
variantsHint: string;
variants: string;
variantAttributes: string;
variantAttributesHint: string;
colorAttribute: string;
removeAttribute: string;
removeValue: string;
pickColor: string;
newValuePlaceholder: string;
addValue: string;
newAttributePlaceholder: string;
addAttribute: string;
generateVariants: string;
variantsList: string;
remaining: string;
variantImage: string;
archived: string;
slugHint: string;
skuHint: string;
generate: string;
seoGenerate: string;
seoGenerateHint: string;
translationsHint: string;
badgesHint: string;
addBadge: string;
removeBadge: string;
customBadgePlaceholder: string;
seoExplain: string;
searchTitle: string;
searchTitleHint: string;
searchDescription: string;
searchDescriptionHint: string;
seoMissingTitle: string;
seoMissingDescription: string;
keywords: string;
featured: string;
recommended: string;
new: string;
bestseller: string;
badges: string;
htmlDescription: string;
customer: string;
reviewsReadonly: string;
noReviews: string;
questionsReadonly: string;
noQuestions: string;
save: string;
groupGeneral: string;
groupMedia: string;
groupPricing: string;
groupInventory: string;
groupCategories: string;
groupAttributes: string;
groupSeo: string;
groupVisibility: string;
groupAdvanced: string;
healthImages: string;
healthSeo: string;
healthPrice: string;
healthCategory: string;
healthDescription: string;
healthInventory: string;
totalProducts: string;
publishedCount: string;
draftsCount: string;
outOfStockCount: string;
hiddenCount: string;
missingImagesCount: string;
missingSeoCount: string;
lowQualityCount: string;
recentlyEdited: string;
recommendedNext: string;
openAction: string;
recommendAddImages: string;
recommendAddSeo: string;
recommendRestock: string;
recommendNone: string;
};
adminUsers: {
emptyTitle: string;
emptyDescription: string;
invitationsEmptyTitle: string;
title: string;
name: string;
email: string;
scope: string;
role: string;
roles: string;
lastLogin: string;
sessions: string;
currentSession: string;
invite: string;
sendInvite: string;
revoke: string;
passwordlessHint: string;
confirmSuspend: string;
suspend: string;
reactivate: string;
scopeValue: {
marketplace: string;
office: string;
};
statusValue: {
active: string;
invited: string;
suspended: string;
};
invitationStatus: {
pending: string;
accepted: string;
expired: string;
revoked: string;
};
};
adminTransactions: {
search: string;
type: string;
method: string;
fraud: string;
flagged: string;
flag: string;
clearFlag: string;
retry: string;
audit: string;
emptyTitle: string;
emptyDescription: string;
status: {
all: string;
pending: string;
success: string;
failed: string;
retried: string;
};
typeValue: {
all: string;
payment: string;
refund: string;
qr_payment: string;
};
};
adminMonitoring: {
eventsEmptyTitle: string;
eventsEmptyDescription: string;
health: string;
queues: string;
depth: string;
webhooks: string;
endpoint: string;
event: string;
events: string;
category: string;
level: string;
message: string;
categoryValue: {
all: string;
audit: string;
security: string;
login: string;
failed_login: string;
api: string;
error: string;
warning: string;
};
queueStatus: {
healthy: string;
degraded: string;
down: string;
};
webhookStatus: {
delivered: string;
failed: string;
pending: string;
};
levelValue: {
info: string;
warning: string;
error: string;
};
systemState: string;
backendConnectivity: string;
connected: string;
loading: string;
draftState: string;
unsavedChanges: string;
noDraft: string;
lastSaved: string;
lastPublished: string;
syncStatus: string;
};
adminAnalytics: {
topProductsEmptyTitle: string;
topProductsEmptyDescription: string;
topProducts: string;
print: string;
tabsLabel: string;
tab: {
overview: string;
health: string;
products: string;
customers: string;
search: string;
traffic: string;
recommendations: string;
};
revenue: string;
orders: string;
customers: string;
avgOrderValue: string;
conversion: string;
completionPercent: string;
unknown: string;
salesChart: string;
quantitySold: string;
lowStock: string;
lowStockEmptyTitle: string;
quantity: string;
status: string;
recentActivity: string;
recentActivityEmptyTitle: string;
activityDraftSaved: string;
activityPublished: string;
warnings: string;
topViewed: string;
hiddenProducts: string;
archivedProducts: string;
mostReviewed: string;
worstRated: string;
noReviewedProducts: string;
reviewCount: string;
avgRating: string;
newCustomers: string;
returningCustomers: string;
averageSpend: string;
retention: string;
searchAnalytics: string;
trafficAnalytics: string;
availableAfterBackend: string;
pendingBackend: string;
pendingBackendHint: string;
funnelsHeatmaps: string;
visitors: string;
products: string;
categories: string;
};
adminMarketplaceHealth: {
title: string;
complete: string;
recommendationsTitle: string;
recommendNone: string;
checkImages: string;
checkSeo: string;
checkCategories: string;
checkReviews: string;
checkOrders: string;
checkTranslations: string;
checkHomepage: string;
checkBackend: string;
checkPerformance: string;
recommendImages: string;
recommendImagesCount: string;
recommendSeo: string;
recommendSeoCount: string;
recommendCategory: string;
recommendCategoryCount: string;
recommendEmptyCategories: string;
recommendEmptyCategoriesCount: string;
recommendHomepage: string;
recommendStaticPages: string;
severity: {
info: string;
warning: string;
critical: string;
};
};
adminShell: {
skipToContent: string;
sidebarLabel: string;
openSidebar: string;
closeSidebar: string;
collapseSidebar: string;
expandSidebar: string;
nav: {
dashboard: string;
catalogGroup: string;
products: string;
categories: string;
orders: string;
customers: string;
transactions: string;
reviews: string;
moderation: string;
reports: string;
content: string;
mediaLibrary: string;
marketplaceBuilder: string;
users: string;
settings: string;
monitoring: string;
analytics: string;
documentation: string;
help: string;
logout: string;
comingSoonBadge: string;
};
topbar: {
searchLabel: string;
searchPlaceholder: string;
notifications: string;
notificationsEmpty: string;
account: string;
tenantSelector: string;
tenantSelectorComingSoon: string;
quickPublish: string;
quickPublishComingSoon: string;
};
breadcrumbHome: string;
pages: {
dashboard: { title: string; description: string };
products: { title: string; description: string };
productCreate: { title: string; description: string };
productEdit: { title: string; description: string };
productDuplicate: { title: string; description: string };
categories: { title: string; description: string };
categoryCreate: { title: string; description: string };
categoryEdit: { title: string; description: string };
orders: { title: string; description: string };
orderDetail: { title: string; description: string };
customers: { title: string; description: string };
customerDetail: { title: string; description: string };
moderation: { title: string; description: string };
reviewDetail: { title: string; description: string };
reportsQueue: { title: string; description: string };
transactions: { title: string; description: string };
media: { title: string; description: string };
users: { title: string; description: string };
monitoring: { title: string; description: string };
analytics: { title: string; description: string };
};
};
}