Browse Source

fix(admin-ui): Display calculated price when custom price strategy used

Relates to #2506
Michael Bromley 1 year ago
parent
commit
09c66fe359
25 changed files with 150 additions and 48 deletions
  1. 38 29
      packages/admin-ui/i18n-coverage.json
  2. 2 0
      packages/admin-ui/src/lib/catalog/src/catalog.module.ts
  3. 5 0
      packages/admin-ui/src/lib/catalog/src/components/product-variant-detail/product-variant-detail.component.html
  4. 16 0
      packages/admin-ui/src/lib/catalog/src/components/variant-price-strategy-detail/variant-price-strategy-detail.component.html
  5. 9 0
      packages/admin-ui/src/lib/catalog/src/components/variant-price-strategy-detail/variant-price-strategy-detail.component.scss
  6. 31 0
      packages/admin-ui/src/lib/catalog/src/components/variant-price-strategy-detail/variant-price-strategy-detail.component.ts
  7. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/ar.json
  8. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/cs.json
  9. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/de.json
  10. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/en.json
  11. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/es.json
  12. 3 1
      packages/admin-ui/src/lib/static/i18n-messages/fa.json
  13. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/fr.json
  14. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/he.json
  15. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/hr.json
  16. 3 1
      packages/admin-ui/src/lib/static/i18n-messages/it.json
  17. 3 1
      packages/admin-ui/src/lib/static/i18n-messages/ne.json
  18. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/pl.json
  19. 3 1
      packages/admin-ui/src/lib/static/i18n-messages/pt_BR.json
  20. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/pt_PT.json
  21. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/ru.json
  22. 8 14
      packages/admin-ui/src/lib/static/i18n-messages/sv.json
  23. 3 1
      packages/admin-ui/src/lib/static/i18n-messages/uk.json
  24. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/zh_Hans.json
  25. 2 0
      packages/admin-ui/src/lib/static/i18n-messages/zh_Hant.json

+ 38 - 29
packages/admin-ui/i18n-coverage.json

@@ -1,90 +1,99 @@
 {
-  "generatedOn": "2023-10-17T19:32:07.745Z",
-  "lastCommit": "97bc099006adda7449a7b63e72191c2bb7e7b4ed",
-
+  "generatedOn": "2024-03-04T16:07:38.832Z",
+  "lastCommit": "b2cb011f2bafcbd51c7542df4bf094cb2b823de2",
   "translationStatus": {
     "ar": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 761,
       "percentage": 100
     },
     "cs": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 571,
       "percentage": 75
     },
     "de": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 761,
       "percentage": 100
     },
     "en": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 761,
       "percentage": 100
     },
     "es": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 761,
       "percentage": 100
     },
     "fa": {
-      "tokenCount": 761,
-      "translatedCount": 736,
-      "percentage": 97
+      "tokenCount": 763,
+      "translatedCount": 761,
+      "percentage": 100
     },
     "fr": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 758,
-      "percentage": 100
+      "percentage": 99
     },
     "he": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 761,
       "percentage": 100
     },
-    "it": {
-      "tokenCount": 761,
+    "hr": {
+      "tokenCount": 763,
       "translatedCount": 760,
       "percentage": 100
     },
+    "it": {
+      "tokenCount": 763,
+      "translatedCount": 761,
+      "percentage": 100
+    },
     "ne": {
-      "tokenCount": 761,
-      "translatedCount": 725,
-      "percentage": 95
+      "tokenCount": 763,
+      "translatedCount": 750,
+      "percentage": 98
     },
     "pl": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 400,
-      "percentage": 53
+      "percentage": 52
     },
     "pt_BR": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 760,
       "percentage": 100
     },
     "pt_PT": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 609,
       "percentage": 80
     },
     "ru": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 761,
       "percentage": 100
     },
+    "sv": {
+      "tokenCount": 763,
+      "translatedCount": 755,
+      "percentage": 99
+    },
     "uk": {
-      "tokenCount": 761,
-      "translatedCount": 596,
-      "percentage": 78
+      "tokenCount": 763,
+      "translatedCount": 761,
+      "percentage": 100
     },
     "zh_Hans": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 541,
       "percentage": 71
     },
     "zh_Hant": {
-      "tokenCount": 761,
+      "tokenCount": 763,
       "translatedCount": 387,
       "percentage": 51
     }

+ 2 - 0
packages/admin-ui/src/lib/catalog/src/catalog.module.ts

@@ -66,6 +66,7 @@ import { ProductVariantsEditorComponent } from './components/product-variants-ed
 import { ProductVariantsTableComponent } from './components/product-variants-table/product-variants-table.component';
 import { UpdateProductOptionDialogComponent } from './components/update-product-option-dialog/update-product-option-dialog.component';
 import { VariantPriceDetailComponent } from './components/variant-price-detail/variant-price-detail.component';
+import { VariantPriceStrategyDetailComponent } from './components/variant-price-strategy-detail/variant-price-strategy-detail.component';
 
 const CATALOG_COMPONENTS = [
     ProductListComponent,
@@ -76,6 +77,7 @@ const CATALOG_COMPONENTS = [
     ApplyFacetDialogComponent,
     AssetListComponent,
     VariantPriceDetailComponent,
+    VariantPriceStrategyDetailComponent,
     CollectionListComponent,
     CollectionDetailComponent,
     CollectionTreeComponent,

+ 5 - 0
packages/admin-ui/src/lib/catalog/src/components/product-variant-detail/product-variant-detail.component.html

@@ -195,6 +195,11 @@
                         [taxCategoryId]="detailForm.get('taxCategoryId')!.value"
                     />
                 </div>
+                <vdr-variant-price-strategy-detail
+                    [channelPriceIncludesTax]="channelPriceIncludesTax$ | async"
+                    [channelDefaultCurrencyCode]="channelDefaultCurrencyCode"
+                    [variant]="variant"
+                />
                 <ng-container *ngIf="unusedCurrencyCodes$ | async as unusedCurrencyCodes">
                     <div *ngIf="unusedCurrencyCodes.length">
                         <vdr-dropdown>

+ 16 - 0
packages/admin-ui/src/lib/catalog/src/components/variant-price-strategy-detail/variant-price-strategy-detail.component.html

@@ -0,0 +1,16 @@
+<div *ngIf="calculatedPriceDiffersFromInputPrice()" class="price-strategy-detail">
+    <vdr-form-item
+        [label]="'catalog.calculated-price' | translate"
+        [tooltip]="'catalog.calculated-price-tooltip' | translate"
+        for="price"
+    >
+    </vdr-form-item>
+    <div class="form-grid mt-2">
+        <vdr-form-item [label]="'common.price' | translate">
+            {{ variant.price | localeCurrency : variant.currencyCode }}
+        </vdr-form-item>
+        <vdr-form-item [label]="'common.price-with-tax' | translate">
+            {{ variant.priceWithTax | localeCurrency : variant.currencyCode }}
+        </vdr-form-item>
+    </div>
+</div>

+ 9 - 0
packages/admin-ui/src/lib/catalog/src/components/variant-price-strategy-detail/variant-price-strategy-detail.component.scss

@@ -0,0 +1,9 @@
+:host {
+  display: block;
+}
+
+.price-strategy-detail {
+  margin-top: calc(var(--space-unit)* 2);
+  padding-top: calc(var(--space-unit)* 2);
+  border-top: 1px solid var(--color-weight-150);
+}

+ 31 - 0
packages/admin-ui/src/lib/catalog/src/components/variant-price-strategy-detail/variant-price-strategy-detail.component.ts

@@ -0,0 +1,31 @@
+import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
+import {
+    CurrencyCode,
+    ProductVariantDetailQueryProductVariantFragmentFragment,
+} from '@vendure/admin-ui/core';
+
+@Component({
+    selector: 'vdr-variant-price-strategy-detail',
+    templateUrl: './variant-price-strategy-detail.component.html',
+    styleUrls: ['./variant-price-strategy-detail.component.scss'],
+    changeDetection: ChangeDetectionStrategy.OnPush,
+})
+export class VariantPriceStrategyDetailComponent {
+    @Input() channelPriceIncludesTax: boolean;
+    @Input() variant: ProductVariantDetailQueryProductVariantFragmentFragment;
+    @Input() channelDefaultCurrencyCode: CurrencyCode;
+
+    calculatedPriceDiffersFromInputPrice(): boolean {
+        const defaultPrice =
+            this.variant.prices.find(p => p.currencyCode === this.channelDefaultCurrencyCode) ??
+            this.variant.prices[0];
+        if (!defaultPrice) {
+            return false;
+        }
+        if (this.channelPriceIncludesTax) {
+            return this.variant.priceWithTax !== defaultPrice.price;
+        } else {
+            return this.variant.price !== defaultPrice.price;
+        }
+    }
+}

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/ar.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "تعيين متغيرات المنتج للقناة",
     "auto-update-option-variant-name": "تحديث أسماء ProductVariants تلقائيًا باستخدام هذا الخيار",
     "auto-update-product-variant-name": "تحديث أسماء ProductVariants تلقائيًا",
+    "calculated-price": "السعر المحسوب",
+    "calculated-price-tooltip": "هناك عملية حساب سعر مخصصة تعديلها السعر المحدد أعلاه:",
     "cannot-create-variants-without-options": "لا يمكن إنشاء متغيرات المنتج حتى يتم تحديد مجموعة خيارات مع خيارين على الأقل من المنتجات",
     "channel-price-preview": "معاينة أسعار القناة",
     "collection": "مجموعة",

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/cs.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Přiřadit varianty do kanálu",
     "auto-update-option-variant-name": "Automaticky aktualizovat jména variant pomocí této",
     "auto-update-product-variant-name": "Automaticky aktualizovat jména variant",
+    "calculated-price": "Vypočtená cena",
+    "calculated-price-tooltip": "Je zde konfigurován vlastní výpočet ceny, který upravuje cenu nastavenou výše:",
     "cannot-create-variants-without-options": "",
     "channel-price-preview": "Náhled ceny v kanálu",
     "collection": "",

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/de.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Produktvarianten Kanälen zuweisen",
     "auto-update-option-variant-name": "Automatisch Namen der Optionsvariante aktualisieren",
     "auto-update-product-variant-name": "Automatisch Namen der Produktvariante aktualisieren",
+    "calculated-price": "Berechneter Preis",
+    "calculated-price-tooltip": "Es ist eine benutzerdefinierte Preisberechnung konfiguriert, die den oben festgelegten Preis ändert:",
     "cannot-create-variants-without-options": "Produktvarianten können erst dann angelegt werden, wenn eine Optionsgruppe mit mindestens zwei Produktoptionen definiert wurde.",
     "channel-price-preview": "Kanal-Preisvorschau",
     "collection": "Sammlung",

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/en.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Assign product variants to channel",
     "auto-update-option-variant-name": "Automatically update the names of ProductVariants using this option",
     "auto-update-product-variant-name": "Automatically update the names of ProductVariants",
+    "calculated-price": "Calculated price",
+    "calculated-price-tooltip": "There is a custom price calculation configured which modifies the price set above:",
     "cannot-create-variants-without-options": "Product variants cannot be created until an option group with at least two product options has been defined",
     "channel-price-preview": "Channel price preview",
     "collection": "Collection",

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/es.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Asignar variantes de producto a canal de ventas",
     "auto-update-option-variant-name": "Actualiza los nombres de las variantes de producto automáticamente usando esta opción",
     "auto-update-product-variant-name": "Actualiza los nombres de las variantes de producto automáticamente",
+    "calculated-price": "Precio calculado",
+    "calculated-price-tooltip": "Hay una configuración de cálculo de precio personalizada que modifica el precio establecido arriba:",
     "cannot-create-variants-without-options": "No se pueden crear variantes hasta que un grupo de opciones con al menos dos opciones se haya definido",
     "channel-price-preview": "Vista previa de precio para el canal de ventas",
     "collection": "Colección",

+ 3 - 1
packages/admin-ui/src/lib/static/i18n-messages/fa.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "تخصیص نوع محصول به کانال",
     "auto-update-option-variant-name": "با استفاده از این گزینه نام نوع محصول را به صورت خودکار به روز کنید",
     "auto-update-product-variant-name": "به‌روزرسانی خودکار نام‌های نوع محصول",
+    "calculated-price": "قیمت محاسبه شده",
+    "calculated-price-tooltip": "یک محاسبه قیمت سفارشی پیکربندی شده است که قیمت تنظیم شده بالا را اصلاح می کند:",
     "cannot-create-variants-without-options": "تعریف نوع محصول تا زمانی که یک گروه از قابلیت با حداقل دو انتخاب تعریف نشده باشد امکان پذیر نیست",
     "channel-price-preview": "پیش نمایش قیمت کانال",
     "collection": "مجموعه",
@@ -792,4 +794,4 @@
     "job-state-pending": "در انتظار",
     "job-state-running": "در حال اجرا"
   }
-}
+}

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/fr.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Attribuer une variation du produit au canal",
     "auto-update-option-variant-name": "Mettre à jour automatiquement les noms de variations du produit en utilisant cette option",
     "auto-update-product-variant-name": "Mettre à jour automatiquement les noms de variations du produit ",
+    "calculated-price": "Prix calculé",
+    "calculated-price-tooltip": "Il y a un calcul de prix personnalisé configuré qui modifie le prix défini ci-dessus :",
     "cannot-create-variants-without-options": "Impossible de créer des variantes sans options",
     "channel-price-preview": "Prévisualisation du prix du canal",
     "collection": "Collection",

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/he.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "הקצה וריאנטים של מוצר לערוץ",
     "auto-update-option-variant-name": "עדכן אוטומטית את שמות וריאנטים של המוצר באמצעות האפשרות הזאת",
     "auto-update-product-variant-name": "עדכן אוטומטית את שמות וריאנטים של המוצר",
+    "calculated-price": "מחיר מחושב",
+    "calculated-price-tooltip": "יש חישוב מחיר מותאם אישית מוגדר שמשנה את המחיר שהוגדר למעלה:",
     "cannot-create-variants-without-options": "לא ניתן ליצור וריאנטים של מוצר ללא הגדרת קבוצת אפשרויות עם לפחות שתי אפשרויות מוצר",
     "channel-price-preview": "תצוגה מקדימה של מחיר הערוץ",
     "collection": "אוסף",

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/hr.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Dodijeli varijante proizvoda kanalu",
     "auto-update-option-variant-name": "Automatski ažuriraj nazive varijanti proizvoda koristeći ovu opciju",
     "auto-update-product-variant-name": "Automatski ažuriraj nazive varijanti proizvoda",
+    "calculated-price": "Izračunata cijena",
+    "calculated-price-tooltip": "Postoji prilagođeni izračun cijene koji mijenja gore postavljenu cijenu:",
     "cannot-create-variants-without-options": "Nije moguće stvoriti varijante proizvoda dok nije definirana grupa opcija s najmanje dvije opcije proizvoda",
     "channel-price-preview": "Pregled cijene za kanal",
     "collection": "Kolekcija",

+ 3 - 1
packages/admin-ui/src/lib/static/i18n-messages/it.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Assegna varianti al canale",
     "auto-update-option-variant-name": "Aggiorna automaticamente i nomi delle Varianti utilizzando questa opzione",
     "auto-update-product-variant-name": "Aggiorna automaticamente i nomi delle Varianti",
+    "calculated-price": "Prezzo calcolato",
+    "calculated-price-tooltip": "È configurato un calcolo del prezzo personalizzato che modifica il prezzo impostato sopra:",
     "cannot-create-variants-without-options": "Le varianti di prodotto possono essere create solo se è stato definito un gruppo di opzioni con almeno due opzioni di prodotto.",
     "channel-price-preview": "Anteprima prezzo canale",
     "collection": "Collezione",
@@ -792,4 +794,4 @@
     "job-state-pending": "In attesa",
     "job-state-running": "In esecuzione"
   }
-}
+}

+ 3 - 1
packages/admin-ui/src/lib/static/i18n-messages/ne.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "समान विविधताहरूलाई च्यानलमा लगाउनुहोस्",
     "auto-update-option-variant-name": "विकल्प परिविकल्पको नाम आफ्नो आपदेट गर्नका लागि स्वचालित गर्नुहोस्",
     "auto-update-product-variant-name": "समान विविधताका नाम आफ्नो आपदेट गर्नका लागि स्वचालित गर्नुहोस्",
+    "calculated-price": "गणना गरिएको मुल्य",
+    "calculated-price-tooltip": "उपर सेट गरिएको मूल्यलाई परिवर्तन गर्दछ जुन कस्टम मूल्य गणना गर्नुहोस्:",
     "cannot-create-variants-without-options": "कम्ति दुई समान विकल्पसम्म विकल्प संग समावेश गरिएको पर्याप्त छेनपछि समान विविधता सिर्जना गर्न सकिदैन",
     "channel-price-preview": "च्यानल मूल्य पूर्वावलोकन",
     "collection": "",
@@ -792,4 +794,4 @@
     "job-state-pending": "बाँकी",
     "job-state-running": "चलिरहेको"
   }
-}
+}

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/pl.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "",
     "auto-update-option-variant-name": "",
     "auto-update-product-variant-name": "",
+    "calculated-price": "Obliczona cena",
+    "calculated-price-tooltip": "Istnieje skonfigurowane niestandardowe obliczenie ceny, które modyfikuje powyższą cenę:",
     "cannot-create-variants-without-options": "",
     "channel-price-preview": "Podgląd cen kanału",
     "collection": "",

+ 3 - 1
packages/admin-ui/src/lib/static/i18n-messages/pt_BR.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Atribuir variação ao canal",
     "auto-update-option-variant-name": "Atualizar automaticamente os nomes das variações do produto usando esta opção",
     "auto-update-product-variant-name": "Atualizar automaticamente os nomes das variações do produto",
+    "calculated-price": "Preço calculado",
+    "calculated-price-tooltip": "Há um cálculo de preço personalizado configurado que modifica o preço definido acima:",
     "cannot-create-variants-without-options": "As variantes do produto não podem ser criadas até que um grupo de opções com pelo menos duas opções de produtos tenha sido definidas",
     "channel-price-preview": "Visualizar preço do canal",
     "collection": "Coleçāo",
@@ -792,4 +794,4 @@
     "job-state-pending": "Pendente",
     "job-state-running": "Em execução"
   }
-}
+}

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/pt_PT.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Atribuir variante ao canal",
     "auto-update-option-variant-name": "Utilizar esta opção para actualizar automaticamente os nomes das variantes",
     "auto-update-product-variant-name": "Actualizar automaticamente os nomes das variantes do produto",
+    "calculated-price": "Preço calculado",
+    "calculated-price-tooltip": "Existe um cálculo de preço personalizado configurado que modifica o preço definido acima:",
     "cannot-create-variants-without-options": "",
     "channel-price-preview": "Visualizar preço do canal",
     "collection": "",

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/ru.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Добавить варианты товара в канал",
     "auto-update-option-variant-name": "Автоматически обновлять названия вариантов товара с помощью этой опции",
     "auto-update-product-variant-name": "Автоматически обновлять названия вариантов товара",
+    "calculated-price": "Рассчитанная цена",
+    "calculated-price-tooltip": "Настроен расчет цены, который изменяет указанную выше цену:",
     "cannot-create-variants-without-options": "Невозможно создать варианты без опций",
     "channel-price-preview": "Предварительный просмотр цен канала",
     "collection": "Коллекция",

+ 8 - 14
packages/admin-ui/src/lib/static/i18n-messages/sv.json

@@ -37,7 +37,7 @@
     "global-settings": "Globala inställningar",
     "job-queue": "Jobbkö",
     "manage-variants": "Hantera varianter",
-    "modifying-order": "Modifierar order",
+    "modifying": "Modifierar",
     "orders": "Beställningar",
     "payment-methods": "Betalningsmetoder",
     "product-options": "Produktalternativ",
@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Tilldela produktvarianter till kanal",
     "auto-update-option-variant-name": "Uppdatera automatiskt namnen på produktvarianter med detta alternativ",
     "auto-update-product-variant-name": "Uppdatera automatiskt namnen på produktvarianter",
+    "calculated-price": "Beräknat pris",
+    "calculated-price-tooltip": "Det finns en anpassad prisberäkning konfigurerad som ändrar priset ovan:",
     "cannot-create-variants-without-options": "Produktvarianter kan inte skapas förrän en alternativgrupp med minst två produktalternativ har definierats",
     "channel-price-preview": "Förhandsgranskning av kanalpris",
     "collection": "Samling",
@@ -89,7 +91,6 @@
     "confirm-deletion-of-unused-variants-body": "Följande produktvarianter har blivit överflödiga på grund av tillägg av nya alternativ. De kommer att raderas vid skapandet av nya produktvarianter.",
     "confirm-deletion-of-unused-variants-title": "Radera överflödiga produktvarianter?",
     "create-draft-order": "Skapa utkast till order",
-    "create-facet-value": "Skapa etikettvärde",
     "create-new-collection": "Skapa ny samling",
     "create-new-facet": "Skapa ny etikett",
     "create-new-product": "Ny produkt",
@@ -106,6 +107,7 @@
     "facet-values": "Etikettvärden",
     "facets": "Etiketter",
     "filter-by-name": "Filtrera efter namn",
+    "filter-by-sku": "",
     "filter-inheritance": "Filterarv",
     "filters": "Filter",
     "inherit-filters-from-parent": "Ärva filter från förälder",
@@ -478,6 +480,7 @@
   "error": {
     "403-forbidden": "Du har för närvarande inte behörighet att komma åt \"{ path }\". Antingen saknar du behörighet eller så har din session gått ut.",
     "could-not-connect-to-server": "Kunde inte ansluta till Vendure-servern på { url }",
+    "facet-value-form-values-do-not-match": "",
     "health-check-failed": "Systemets hälsokontroll misslyckades",
     "no-default-shipping-zone-set": "Den här kanalen har ingen förvald leveransadress. Detta kan orsaka fel vid beräkning av fraktkostnader för beställningar.",
     "no-default-tax-zone-set": "Den här kanalen har ingen standard-momszon, vilket kommer att orsaka fel vid beräkning av priser. Var god skapa eller välj en zon."
@@ -537,7 +540,6 @@
     "added-items": "Tillagda artiklar",
     "amount": "Belopp",
     "arrange-additional-payment": "Arrangera ytterligare betalning",
-    "assign-order-to-another-customer": "Tilldela ordern till en annan kund",
     "billing-address": "Faktureringsadress",
     "cancel": "Avbryt",
     "cancel-entire-order": "Avbryt hela ordern",
@@ -550,7 +552,6 @@
     "cancel-selected-items": "Avbryt markerade artiklar",
     "cancel-specified-items": "Avbryt angivna artiklar",
     "cancellation-reason": "Avbokningsorsak",
-    "cancelled-order-items-success": "Avbryt { count } { count, plural, one {artikel} other {artiklar} } from the order",
     "cancelled-order-success": "Ordern har avbokats",
     "complete-draft-order": "Slutför utkast",
     "confirm-modifications": "Bekräfta ändringar",
@@ -572,7 +573,6 @@
     "fulfillment-method": "Metod",
     "history-coupon-code-applied": "Rabattkod använd",
     "history-coupon-code-removed": "Rabattkod borttagen",
-    "history-customer-updated": "Kund uppdaterad",
     "history-fulfillment-created": "Order godkänd",
     "history-fulfillment-delivered": "Order levererad",
     "history-fulfillment-shipped": "Leverans skickad",
@@ -601,12 +601,10 @@
     "modification-summary": "Sammanfattning av ändringar",
     "modification-updating-billing-address": "Uppdaterar faktureringsadress",
     "modification-updating-shipping-address": "Uppdaterar leveransadress",
-    "modified-items": "Ändrade objekt",
+    "modifications": "",
     "modify-order": "Ändra order",
     "modify-order-price-difference": "Prisskillnad",
     "net-price": "Nettopris",
-    "new-customer": "Ny kund",
-    "no-modifications-made": "Inga ändringar gjorda",
     "note": "Anteckning",
     "note-is-private": "Anteckning är privat",
     "note-only-visible-to-administrators": "Synlig endast för administratörer",
@@ -626,17 +624,17 @@
     "payment-metadata": "Betalningsmetadata",
     "payment-method": "Betalningsmetod",
     "payment-state": "Status",
+    "payment-to-refund": "",
     "payments": "Betalningar",
     "placed-at": "Placerad den",
     "preview-changes": "Förhandsgranska ändringar",
-    "previous-customer": "Föregående kund",
     "product-name": "Produktnamn",
     "product-sku": "SKU",
     "promotions-applied": "Tillämpade kampanjer",
     "prorated-unit-price": "Andelat enhetspris",
     "quantity": "Kvantitet",
     "refund": "Återbetalning",
-    "refund-amount": "Återbetala belopp",
+    "refund-adjustment": "",
     "refund-and-cancel-order": "Återbetalning & avbryt order",
     "refund-cancellation-reason": "Orsak till återbetalning/avbokning",
     "refund-cancellation-reason-required": "Orsak till återbetalning/avbokning krävs",
@@ -647,15 +645,12 @@
     "refund-reason-customer-request": "Kundförfrågan",
     "refund-reason-not-available": "Inte tillgänglig",
     "refund-shipping": "Återbetala frakt",
-    "refund-this-payment": "Återbetala denna betalning",
     "refund-total": "Total återbetalning",
     "refund-total-error": "Total återbetalning måste vara mellan {min} och {max}",
     "refund-total-warning": "Total återbetalning överstiger det valda betalningsbeloppet. Återstående återbetalningsbelopp kommer att återbetalas från andra betalningar.",
     "refund-with-amount": "Återbetala {belopp}",
-    "refundable-amount": "Återbetalbart belopp",
     "refunded-count": "{count} {count, plural, one {återbetalat objekt} other {återbetalade objekt}}",
     "removed-items": "Borttagna objekt",
-    "return-to-stock": "Lägg tillbaka i lager",
     "search-by-order-filters": "Sök efter namn / kod / transaktions-ID",
     "select-address": "Välj adress",
     "select-shipping-method": "Välj leveranssätt",
@@ -664,7 +659,6 @@
     "set-billing-address": "Ange faktureringsadress",
     "set-coupon-codes": "Ange kupongkoder",
     "set-customer-for-order": "Ange kund",
-    "set-customer-success": "Ändra kund lyckades",
     "set-fulfillment-state": "Markera som {state}",
     "set-shipping-address": "Ange leveransadress",
     "set-shipping-method": "Ange leveranssätt",

+ 3 - 1
packages/admin-ui/src/lib/static/i18n-messages/uk.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "Додати варіанти товару в канал",
     "auto-update-option-variant-name": "Автоматично оновлювати назви варіантів товару, використовуючи цю опцію",
     "auto-update-product-variant-name": "Автоматично оновлювати назви варіантів товару",
+    "calculated-price": "Розрахована ціна",
+    "calculated-price-tooltip": "Є настроєний спеціальний розрахунок ціни, який змінює встановлену вище ціну:",
     "cannot-create-variants-without-options": "Не можна створити варіант без опцій",
     "channel-price-preview": "Попередній перегляд цін каналу",
     "collection": "Колекція",
@@ -792,4 +794,4 @@
     "job-state-pending": "В очікуванні",
     "job-state-running": "Виконується"
   }
-}
+}

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/zh_Hans.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "添加到销售渠道",
     "auto-update-option-variant-name": "此选项自动更新不同商品变体名称",
     "auto-update-product-variant-name": "自动更新不同商品变体名称",
+    "calculated-price": "计算价格",
+    "calculated-price-tooltip": "有一个配置的自定义价格计算,修改了上面设置的价格:",
     "cannot-create-variants-without-options": "",
     "channel-price-preview": "渠道价格预览",
     "collection": "",

+ 2 - 0
packages/admin-ui/src/lib/static/i18n-messages/zh_Hant.json

@@ -72,6 +72,8 @@
     "assign-variants-to-channel": "",
     "auto-update-option-variant-name": "",
     "auto-update-product-variant-name": "",
+    "calculated-price": "計算價格",
+    "calculated-price-tooltip": "有一個自定義價格計算配置,修改了上面設定的價格:",
     "cannot-create-variants-without-options": "",
     "channel-price-preview": "渠道價格覽",
     "collection": "",