fix(storefront): replace hardcoded strings with i18n, neutral empty-state wording

- Route aria-label/alt/title strings (rating, discount, carousel arrows,
  hero slides, dialog close, toast dismiss, QR code, bank payment iframe,
  guest checkout fallback) through the translate pipe/service instead of
  literal English.
- Drop the "Oops!"/"Упс!" apology framing from category/subcategory empty
  states (en/ru/hy) - zero results is not an error.
This commit is contained in:
sdarbinyan
2026-07-25 23:54:08 +04:00
parent 0982397d6b
commit 1163bfd88a
14 changed files with 68 additions and 18 deletions

View File

@@ -3,11 +3,12 @@ import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, Ou
import { SectionConfig } from '../../shared/models/config';
import { CatalogProductGridComponent } from '../../features/website/catalog/components/product-grid/product-grid.component';
import { ProductCollectionWidgetData } from '../contracts/widget-data.contract';
import { TranslatePipe } from '../../i18n/translate.pipe';
@Component({
selector: 'app-product-carousel-widget',
standalone: true,
imports: [CommonModule, CatalogProductGridComponent],
imports: [CommonModule, CatalogProductGridComponent, TranslatePipe],
template: `
<section class="product-carousel-widget">
@if (data?.title) {
@@ -20,7 +21,7 @@ import { ProductCollectionWidgetData } from '../contracts/widget-data.contract';
<button
type="button"
class="product-carousel-widget__arrow product-carousel-widget__arrow--prev"
aria-label="Previous products"
[attr.aria-label]="'common.previousProducts' | translate"
[disabled]="atStart()"
(click)="scrollBy(-1)"
>&larr;</button>
@@ -32,7 +33,7 @@ import { ProductCollectionWidgetData } from '../contracts/widget-data.contract';
<button
type="button"
class="product-carousel-widget__arrow product-carousel-widget__arrow--next"
aria-label="Next products"
[attr.aria-label]="'common.nextProducts' | translate"
[disabled]="atEnd()"
(click)="scrollBy(1)"
>&rarr;</button>