From bea3b6ab9bbb448bb4551494968a284931b062a5 Mon Sep 17 00:00:00 2001 From: vc-ci Date: Fri, 30 Aug 2024 03:20:26 +0000 Subject: [PATCH 1/5] ci: Auto update Github Action workflows --- .github/workflows/module-ci.yml | 8 ++++---- .github/workflows/module-release-hotfix.yml | 10 +++++----- .github/workflows/publish-nugets.yml | 10 +++++----- .github/workflows/release.yml | 6 +++--- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/module-ci.yml b/.github/workflows/module-ci.yml index 16340610..d52007ce 100644 --- a/.github/workflows/module-ci.yml +++ b/.github/workflows/module-ci.yml @@ -1,5 +1,5 @@ -# v3.800.6 -# https://virtocommerce.atlassian.net/browse/VCST-915 +# v3.800.9 +# https://virtocommerce.atlassian.net/browse/VCST-1260 name: Module CI on: @@ -241,7 +241,7 @@ jobs: if: ${{ ((github.ref == 'refs/heads/dev') && (github.event_name == 'push') && (needs.ci.outputs.run-e2e == 'true')) || (github.event_name == 'workflow_dispatch')}} needs: 'ci' - uses: VirtoCommerce/.github/.github/workflows/e2e.yml@v3.800.6 + uses: VirtoCommerce/.github/.github/workflows/e2e.yml@v3.800.9 with: katalonRepo: 'VirtoCommerce/vc-quality-gate-katalon' @@ -260,7 +260,7 @@ jobs: deploy-cloud: if: ${{ (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' || github.ref == 'refs/heads/dev') && github.event_name == 'push' }} needs: ci - uses: VirtoCommerce/.github/.github/workflows/deploy-cloud.yml@v3.800.6 + uses: VirtoCommerce/.github/.github/workflows/deploy-cloud.yml@v3.800.9 with: releaseSource: module moduleId: ${{ needs.ci.outputs.moduleId }} diff --git a/.github/workflows/module-release-hotfix.yml b/.github/workflows/module-release-hotfix.yml index 9b1b8b40..967db97d 100644 --- a/.github/workflows/module-release-hotfix.yml +++ b/.github/workflows/module-release-hotfix.yml @@ -1,5 +1,5 @@ -# v3.800.6 -# https://virtocommerce.atlassian.net/browse/VCST-915 +# v3.800.9 +# https://virtocommerce.atlassian.net/browse/VCST-1260 name: Release hotfix on: @@ -13,12 +13,12 @@ on: jobs: test: - uses: VirtoCommerce/.github/.github/workflows/test-and-sonar.yml@v3.800.6 + uses: VirtoCommerce/.github/.github/workflows/test-and-sonar.yml@v3.800.9 secrets: sonarToken: ${{ secrets.SONAR_TOKEN }} build: - uses: VirtoCommerce/.github/.github/workflows/build.yml@v3.800.6 + uses: VirtoCommerce/.github/.github/workflows/build.yml@v3.800.9 with: uploadPackage: 'true' uploadDocker: 'false' @@ -46,7 +46,7 @@ jobs: publish-github-release: needs: [build, test, get-metadata] - uses: VirtoCommerce/.github/.github/workflows/publish-github.yml@v3.800.6 + uses: VirtoCommerce/.github/.github/workflows/publish-github.yml@v3.800.9 with: fullKey: ${{ needs.build.outputs.packageFullKey }} changeLog: '${{ needs.get-metadata.outputs.changeLog }}' diff --git a/.github/workflows/publish-nugets.yml b/.github/workflows/publish-nugets.yml index 4b92b883..655f9ba5 100644 --- a/.github/workflows/publish-nugets.yml +++ b/.github/workflows/publish-nugets.yml @@ -1,5 +1,5 @@ -# v3.800.6 -# https://virtocommerce.atlassian.net/browse/VCST-915 +# v3.800.9 +# https://virtocommerce.atlassian.net/browse/VCST-1260 name: Publish nuget on: @@ -13,12 +13,12 @@ on: jobs: test: - uses: VirtoCommerce/.github/.github/workflows/test-and-sonar.yml@v3.800.6 + uses: VirtoCommerce/.github/.github/workflows/test-and-sonar.yml@v3.800.9 secrets: sonarToken: ${{ secrets.SONAR_TOKEN }} build: - uses: VirtoCommerce/.github/.github/workflows/build.yml@v3.800.6 + uses: VirtoCommerce/.github/.github/workflows/build.yml@v3.800.9 with: uploadPackage: 'true' uploadDocker: 'false' @@ -29,7 +29,7 @@ jobs: publish-nuget: needs: [build, test] - uses: VirtoCommerce/.github/.github/workflows/publish-github.yml@v3.800.6 + uses: VirtoCommerce/.github/.github/workflows/publish-github.yml@v3.800.9 with: fullKey: ${{ needs.build.outputs.packageFullKey }} forceGithub: false diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e2f7f304..cb4030eb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,5 +1,5 @@ -# v3.800.6 -# https://virtocommerce.atlassian.net/browse/VCST-915 +# v3.800.9 +# https://virtocommerce.atlassian.net/browse/VCST-1260 name: Release on: @@ -7,6 +7,6 @@ on: jobs: release: - uses: VirtoCommerce/.github/.github/workflows/release.yml@v3.800.6 + uses: VirtoCommerce/.github/.github/workflows/release.yml@v3.800.9 secrets: envPAT: ${{ secrets.REPO_TOKEN }} \ No newline at end of file From 1db0914e9878a003b383904e3bb22df315e90855 Mon Sep 17 00:00:00 2001 From: Oleg Zhuk Date: Thu, 24 Oct 2024 22:13:47 +0200 Subject: [PATCH 2/5] VCST-18168: Add FileUploadScopeName public property. (#119) feat: Add FileUploadScopeName Public property. It allows to specify the scope name for file upload configurations and policies. Default: quote-attachments --- .../ModuleConstants.cs | 12 ++++++++++++ .../Localizations/en.VirtoCommerce.Quote.json | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/src/VirtoCommerce.QuoteModule.Core/ModuleConstants.cs b/src/VirtoCommerce.QuoteModule.Core/ModuleConstants.cs index a0fbb4a7..f97cf7e7 100644 --- a/src/VirtoCommerce.QuoteModule.Core/ModuleConstants.cs +++ b/src/VirtoCommerce.QuoteModule.Core/ModuleConstants.cs @@ -69,6 +69,16 @@ public static class General DefaultValue = false, IsPublic = true, }; + + public static SettingDescriptor FileUploadScopeName { get; } = new SettingDescriptor + { + Name = "Quotes.FileUploadScopeName", + GroupName = "Quotes|General", + ValueType = SettingValueType.ShortText, + DefaultValue = "quote-attachments", + IsPublic = true, + }; + } public static IEnumerable AllSettings @@ -79,6 +89,7 @@ public static IEnumerable AllSettings yield return General.Status; yield return General.DefaultStatus; yield return General.QuoteRequestNewNumberTemplate; + yield return General.FileUploadScopeName; } } @@ -88,6 +99,7 @@ public static IEnumerable StoreLevelSettings { yield return General.QuoteRequestNewNumberTemplate; yield return General.EnableQuotes; + yield return General.FileUploadScopeName; } } } diff --git a/src/VirtoCommerce.QuoteModule.Web/Localizations/en.VirtoCommerce.Quote.json b/src/VirtoCommerce.QuoteModule.Web/Localizations/en.VirtoCommerce.Quote.json index 6ee9c1d7..3842588a 100644 --- a/src/VirtoCommerce.QuoteModule.Web/Localizations/en.VirtoCommerce.Quote.json +++ b/src/VirtoCommerce.QuoteModule.Web/Localizations/en.VirtoCommerce.Quote.json @@ -170,6 +170,10 @@ "EnableQuotes": { "title": "Enable quotes", "description": "Enable the switch to activate quotes in the store" + }, + "FileUploadScopeName": { + "title": "File upload scope name", + "description": "Specify the scope name for file upload configurations and policies. Default: quote-attachments" } } }, From 19e59d030dc95f1b0e0afea68738cfcf4ad951e9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:14:30 +0200 Subject: [PATCH 3/5] build(deps-dev): bump webpack from 5.58.2 to 5.94.0 in /samples/VirtoCommerce.QuoteExtensionsModule.Web (#118) fix: bump webpack from 5.58.2 to 5.94.0 in /samples/VirtoCommerce.QuoteExtensionsModule.Web (#118) --- .../package-lock.json | 493 +++++++++--------- .../package.json | 2 +- 2 files changed, 259 insertions(+), 236 deletions(-) diff --git a/samples/VirtoCommerce.QuoteExtensionsModule.Web/package-lock.json b/samples/VirtoCommerce.QuoteExtensionsModule.Web/package-lock.json index cc6f82f2..8f5c6b5a 100644 --- a/samples/VirtoCommerce.QuoteExtensionsModule.Web/package-lock.json +++ b/samples/VirtoCommerce.QuoteExtensionsModule.Web/package-lock.json @@ -10,187 +10,219 @@ "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", "dev": true }, - "@types/eslint": { - "version": "7.28.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.1.tgz", - "integrity": "sha512-XhZKznR3i/W5dXqUhgU9fFdJekufbeBd5DALmkuXoeFcjbQcPk+2cL+WLHf6Q81HWAnM2vrslIHpGVyCAviRwg==", + "@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "requires": { - "@types/estree": "*", - "@types/json-schema": "*" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "@types/eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "requires": { - "@types/eslint": "*", - "@types/estree": "*" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "@types/node": { - "version": "16.10.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.5.tgz", - "integrity": "sha512-9iI3OOlkyOjLQQ9s+itIJNMRepDhB/96jW3fqduJ2FTPQj1dJjw6Q3QCImF9FE1wmdBs5QSun4FjDSFS8d8JLw==", - "dev": true + "version": "22.5.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz", + "integrity": "sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==", + "dev": true, + "requires": { + "undici-types": "~6.19.2" + } }, "@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", + "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", "dev": true, "requires": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, "@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true }, "@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, "@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", "dev": true }, "@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", "@xtuc/long": "4.2.2" } }, "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, "@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", + "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.12.1" } }, "@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" } }, "@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, "requires": { "@xtuc/long": "4.2.2" } }, "@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true }, "@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", + "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-opt": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1", + "@webassemblyjs/wast-printer": "1.12.1" } }, "@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", + "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", + "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-buffer": "1.12.1", + "@webassemblyjs/wasm-gen": "1.12.1", + "@webassemblyjs/wasm-parser": "1.12.1" } }, "@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", + "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" + "@webassemblyjs/ast": "1.12.1", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, "@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", + "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", "dev": true, "requires": { - "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" } }, @@ -228,15 +260,15 @@ "dev": true }, "acorn": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true }, - "acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", "dev": true }, "ajv": { @@ -309,16 +341,15 @@ } }, "browserslist": { - "version": "4.17.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.3.tgz", - "integrity": "sha512-59IqHJV5VGdcJZ+GZ2hU5n4Kv3YiASzW6Xk5g9tf5a/MAzGeFwgGWU39fVzNIOVcgB3+Gp+kiQu0HEfTVU/3VQ==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001264", - "electron-to-chromium": "^1.3.857", - "escalade": "^3.1.1", - "node-releases": "^1.1.77", - "picocolors": "^0.2.1" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" } }, "buffer-from": { @@ -328,9 +359,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001265", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001265.tgz", - "integrity": "sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw==", + "version": "1.0.30001653", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz", + "integrity": "sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==", "dev": true }, "chalk": { @@ -347,9 +378,9 @@ } }, "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", "dev": true }, "clean-webpack-plugin": { @@ -454,9 +485,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.867", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.867.tgz", - "integrity": "sha512-WbTXOv7hsLhjJyl7jBfDkioaY++iVVZomZ4dU6TMe/SzucV6mUAs2VZn/AehBwuZMiNEQDaPuTGn22YK5o+aDw==", + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", "dev": true }, "emojis-list": { @@ -466,9 +497,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -482,15 +513,15 @@ "dev": true }, "es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "dev": true }, "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true }, "escape-string-regexp": { @@ -519,9 +550,9 @@ }, "dependencies": { "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true } } @@ -634,9 +665,9 @@ "dev": true }, "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, "has": { @@ -753,9 +784,9 @@ "dev": true }, "jest-worker": { - "version": "27.2.5", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.5.tgz", - "integrity": "sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, "requires": { "@types/node": "*", @@ -792,10 +823,10 @@ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-schema-traverse": { @@ -820,9 +851,9 @@ "dev": true }, "loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", "dev": true }, "loader-utils": { @@ -858,18 +889,18 @@ "dev": true }, "mime-db": { - "version": "1.50.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", - "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true }, "mime-types": { - "version": "2.1.33", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", - "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, "requires": { - "mime-db": "1.50.0" + "mime-db": "1.52.0" } }, "mimic-fn": { @@ -911,9 +942,9 @@ "dev": true }, "node-releases": { - "version": "1.1.77", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", - "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "npm-run-path": { @@ -943,15 +974,6 @@ "mimic-fn": "^2.1.0" } }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -1003,9 +1025,9 @@ "dev": true }, "picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "pkg-dir": { @@ -1212,9 +1234,9 @@ } }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -1263,9 +1285,9 @@ "dev": true }, "source-map-support": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", - "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", @@ -1300,36 +1322,28 @@ "dev": true }, "terser": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", - "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", + "version": "5.31.6", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz", + "integrity": "sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==", "dev": true, "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", - "source-map": "~0.7.2", "source-map-support": "~0.5.20" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } } }, "terser-webpack-plugin": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz", - "integrity": "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==", + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", "dev": true, "requires": { - "jest-worker": "^27.0.6", - "p-limit": "^3.1.0", + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" }, "dependencies": { "ajv": { @@ -1357,9 +1371,9 @@ "dev": true }, "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -1369,6 +1383,22 @@ } } }, + "undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "requires": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + } + }, "uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", @@ -1385,9 +1415,9 @@ "dev": true }, "watchpack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", - "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -1395,35 +1425,34 @@ } }, "webpack": { - "version": "5.58.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.58.2.tgz", - "integrity": "sha512-3S6e9Vo1W2ijk4F4PPWRIu6D/uGgqaPmqw+av3W3jLDujuNkdxX5h5c+RQ6GkjVR+WwIPOfgY8av+j5j4tMqJw==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", + "dev": true, + "requires": { + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.12.1", + "@webassemblyjs/wasm-edit": "^1.12.1", + "@webassemblyjs/wasm-parser": "^1.12.1", + "acorn": "^8.7.1", + "acorn-import-attributes": "^1.9.5", + "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.4", - "json-parse-better-errors": "^1.0.2", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", "loader-runner": "^4.2.0", "mime-types": "^2.1.27", "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", + "schema-utils": "^3.2.0", "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.2.0", - "webpack-sources": "^3.2.0" + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" }, "dependencies": { "ajv": { @@ -1451,9 +1480,9 @@ "dev": true }, "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", "dev": true, "requires": { "@types/json-schema": "^7.0.8", @@ -1462,9 +1491,9 @@ } }, "webpack-sources": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz", - "integrity": "sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", "dev": true } } @@ -1538,12 +1567,6 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true } } } diff --git a/samples/VirtoCommerce.QuoteExtensionsModule.Web/package.json b/samples/VirtoCommerce.QuoteExtensionsModule.Web/package.json index 92a6c133..07488f67 100644 --- a/samples/VirtoCommerce.QuoteExtensionsModule.Web/package.json +++ b/samples/VirtoCommerce.QuoteExtensionsModule.Web/package.json @@ -11,7 +11,7 @@ "clean-webpack-plugin": "^1.0.0", "css-loader": "^1.0.1", "mini-css-extract-plugin": "^0.4.5", - "webpack": "^5.58.1", + "webpack": "^5.94.0", "webpack-cli": "^4.9.0" }, "dependencies": {} From 431eb5adc2a5b696db795e8023985e61bcf7fa26 Mon Sep 17 00:00:00 2001 From: Maria-Volkova-Tula <106367190+Maria-Volkova-Tula@users.noreply.github.com> Date: Fri, 25 Oct 2024 09:25:11 +0300 Subject: [PATCH 4/5] VCST-1993: Add localization (#120) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit feat: Added localization: Deutsch, Español (Castellano), Français, Italiano, 日本語 (にほんご), Polski, Português, 语言, Русский язык. --- .../Localizations/de.VirtoCommerce.Quote.json | 150 +++++++++----- .../Localizations/en.VirtoCommerce.Quote.json | 30 +-- .../Localizations/es.VirtoCommerce.Quote.json | 191 ++++++++++++++++++ .../Localizations/fr.VirtoCommerce.Quote.json | 191 ++++++++++++++++++ .../Localizations/it.VirtoCommerce.Quote.json | 191 ++++++++++++++++++ .../Localizations/ja.VirtoCommerce.Quote.json | 191 ++++++++++++++++++ .../Localizations/pl.VirtoCommerce.Quote.json | 191 ++++++++++++++++++ .../Localizations/pt.VirtoCommerce.Quote.json | 191 ++++++++++++++++++ .../Localizations/ru.VirtoCommerce.Quote.json | 138 ++++++++----- .../Localizations/zh.VirtoCommerce.Quote.json | 191 ++++++++++++++++++ 10 files changed, 1535 insertions(+), 120 deletions(-) create mode 100644 src/VirtoCommerce.QuoteModule.Web/Localizations/es.VirtoCommerce.Quote.json create mode 100644 src/VirtoCommerce.QuoteModule.Web/Localizations/fr.VirtoCommerce.Quote.json create mode 100644 src/VirtoCommerce.QuoteModule.Web/Localizations/it.VirtoCommerce.Quote.json create mode 100644 src/VirtoCommerce.QuoteModule.Web/Localizations/ja.VirtoCommerce.Quote.json create mode 100644 src/VirtoCommerce.QuoteModule.Web/Localizations/pl.VirtoCommerce.Quote.json create mode 100644 src/VirtoCommerce.QuoteModule.Web/Localizations/pt.VirtoCommerce.Quote.json create mode 100644 src/VirtoCommerce.QuoteModule.Web/Localizations/zh.VirtoCommerce.Quote.json diff --git a/src/VirtoCommerce.QuoteModule.Web/Localizations/de.VirtoCommerce.Quote.json b/src/VirtoCommerce.QuoteModule.Web/Localizations/de.VirtoCommerce.Quote.json index 8cdd0d0b..37ed638c 100644 --- a/src/VirtoCommerce.QuoteModule.Web/Localizations/de.VirtoCommerce.Quote.json +++ b/src/VirtoCommerce.QuoteModule.Web/Localizations/de.VirtoCommerce.Quote.json @@ -1,11 +1,11 @@ { "quotes": { - "main-menu-title": "Kostenvoranschläge", + "main-menu-title": "Angebote", "blades": { "quotes-assets": { - "subtitle": "Anhänge", + "subtitle": "Angebotsanhänge", "labels": { - "drag-note": "Anzuhängende Dateien hier hin ziehen", + "drag-note": "Ziehen Sie Ihre Dateien hierher", "select-files": "Dateien auswählen", "progress": "Fortschritt", "type": "Typ", @@ -14,79 +14,79 @@ } }, "quote-detail": { - "subtitle": "Details zum Kostenvoranschlag", + "subtitle": "Angebotsdetails", "labels": { "customer": "Kunde", "created": "Erstellt", - "customer-organization": "Organisation", - "last-updated": "Letzte Aktualisierung", + "customer-organization": "Kundenunternehmen", + "last-updated": "Zuletzt aktualisiert", "status": "Status", - "expiry-date": "Verfalldatum", - "assigned-to": "Zugewiesen zu", - "rfq-from": "Angebotsanforderung von", - "reminder-date": "Mahndatum", - "general-comment": "Allgemeine Bemerkung", - "internal-comment": "Interne Bemerkung" + "expiry-date": "Ablaufdatum", + "assigned-to": "Zugewiesen an", + "rfq-from": "Anfrage von", + "reminder-date": "Erinnerungsdatum", + "general-comment": "Allgemeiner Kommentar", + "internal-comment": "Interner Kommentar" }, "placeholders": { - "status": "Wählen Sie aus...", + "status": "Auswählen...", "expiry-date": "Datum auswählen", - "assigned-to": "Wählen Sie aus...", - "rfq-from": "Shop auswählen", + "assigned-to": "Auswählen...", + "rfq-from": "Shop auswählen...", "reminder-date": "Datum auswählen", - "general-comment": "Allgemeine Anmerkung", - "internal-comment": "Interne Bemerkung" + "general-comment": "Öffentlicher Kommentar", + "internal-comment": "Interner Kommentar" } }, "quote-items": { "title": "{{title}} Positionen", "subtitle": "Positionen bearbeiten", "labels": { - "new-subtotal": "Neue Zwischensumme", - "relative-discount": "Rabatt", - "shipping-method": "Versandart", - "manual-shipping-total": "Manueller Versand gesamt", - "sub-total-placed": "Zwischensumme (gesetzt).", - "adjustment-quote": "Justierung", + "new-subtotal": "Neuer Zwischensumme", + "relative-discount": "Relativer Rabatt", + "shipping-method": "Versandmethode", + "manual-shipping-total": "Versandkosten gesamt (manuell)", + "sub-total-placed": "Zwischensumme (platziert)", + "adjustment-quote": "Anpassung", "sub-total": "Zwischensumme", "shipping": "Versand", "discount": "Rabatt", "grand-total": "Gesamtsumme", "taxes": "Steuern", - "grand-total-incl-tax": "Gesamtbetrag (Inkl. Steuern)", + "grand-total-incl-tax": "Gesamtsumme (inkl. Steuern)", "picture": "Bild", - "comment": "Kommentar mit Produkt", + "comment": "Produktkommentar", "list-price": "Listenpreis", - "sale-price": "Sonderangebot", + "sale-price": "Verkaufspreis", "quantity": "Menge", "proposed-price": "Vorgeschlagener Preis", "margin": "Marge (GP)", "product": "Produkt", - "sku": "Art.-Nr." + "sku": "Artikelnummer" }, "placeholders": { - "shipping-method": "Wählen Sie aus...", + "shipping-method": "Auswählen...", "comment": "Kommentar eingeben" } }, "quotes-list": { - "title": "Kostenvoranschläge", + "title": "Angebote", "labels": { - "quote-number": "Angebot Nr.", + "quote-number": "Angebotsnummer", "status": "Status", - "items-count": "Anzahl Artikel", + "items-count": "Artikelanzahl", "customer": "Kunde", "created": "Erstellt", - "no-quotes": "Keine Angebote noch" + "no-quotes": "Noch keine Angebote" } }, "catalog-items-select": { - "title": "Artikel zum Angebot einfügen" + "title": "Artikel zum Angebot hinzufügen" } }, "widgets": { "quote-address": { - "address-type": "Adresse eingeben", + "address-type": "Adresstyp", "no-address": "Keine Adresse", "blade-subtitle": "Adressen verwalten" }, @@ -94,7 +94,7 @@ "title": "Anhänge" }, "quote-items": { - "title": "Posten" + "title": "Positionen" }, "quote-totals": { "sub-total": "Zwischensumme", @@ -105,45 +105,87 @@ }, "dialogs": { "quote-requests-delete": { - "title": "Bestätigung löschen", - "message": "Sind Sie sicher, dass Sie ausgewählte Angebotanfragen löschen möchten?" + "title": "Löschen bestätigen", + "message": "Sind Sie sicher, dass Sie die ausgewählte(n) Angebotsanfrage(n) löschen möchten?" }, "quote-delete": { - "title": "Bestätigung löschen", - "message": "Möchten Sie dieses Angebot wirklich löschen?" + "title": "Löschen bestätigen", + "message": "Sind Sie sicher, dass Sie dieses Angebot löschen möchten?" }, "quote-save": { "title": "Änderungen speichern", - "message": "Der Kostenvoranschlag wurde geändert. Möchten Sie die Änderungen speichern?" + "message": "Das Angebot wurde geändert. Möchten Sie die Änderungen speichern?" }, "quote-cancel": { "title": "Angebot stornieren", - "message": "Möchten Sie dieses Angebot wirklich abbrechen?", + "message": "Sind Sie sicher, dass Sie dieses Angebot stornieren möchten?", "placeholders": { - "reason": "Ein Grund, hier abzubrechen..." + "reason": "Grund hier eingeben..." } }, "proposal-submit": { - "title": "Vorschlag bestätigen", - "message": "Nur begrenzte Änderungen sind verfügbar, nachdem der Antrag gesendet wurde. Sind Sie sicher, dass Sie diesen Vorschlag an den Kunden schicken möchten?" + "title": "Angebot bestätigen", + "message": "Sobald Sie Ihr Angebot eingereicht haben, werden bestimmte Teile Ihres Angebots gesperrt und können nicht mehr geändert werden. Sind Sie sicher, dass Sie fortfahren möchten?" }, "proposal-submit-with-warning": { - "title": "Unvollständiger Angebotsvorschlag", - "message": "Achtung: Das Angebot enthält entweder keine Artikel oder hat einen Gesamtwert von Null. Bitte stellen Sie sicher, dass alle Artikel aufgelistet und mit den richtigen Preisen versehen sind, bevor Sie fortfahren. Möchten Sie wirklich fortfahren?" + "title": "Unvollständiges Angebotsvorschlag", + "message": "Warnung: Angebot fehlt oder Summe ist Null. Bitte stellen Sie sicher, dass alle Artikel korrekt aufgelistet und bepreist sind, bevor Sie fortfahren. Sind Sie sicher, dass Sie fortfahren möchten?" }, "hold-confirmation": { - "title": "Warteschleifen Bestätigung", - "message-release": "Bist du sicher, dass die Pausierung aus diesem Angebot freigeben willst?", - "message-place": "Bist du sicher, dass die Pausierung aus diesem Angebot einsetzen willst?" + "title": "Anhalten bestätigen", + "message-release": "Sind Sie sicher, dass Sie dieses Angebot reaktivieren möchten?", + "message-place": "Sind Sie sicher, dass Sie dieses Angebot anhalten möchten?" } }, "commands": { - "release-hold": "Pausierung aufheben", - "place-on-hold": "Pausieren", - "submit-proposal": "Vorschlag senden", - "cancel-document": "Beleg stornieren", + "release-hold": "Reaktivieren", + "place-on-hold": "Anhalten", + "submit-proposal": "Angebot einreichen", + "cancel-document": "Dokument stornieren", "add-selected": "Ausgewählte hinzufügen", "add-item": "Artikel hinzufügen" } + }, + "permissions": { + "quote:access": "Angebotsmenü öffnen", + "quote:create": "Angebot erstellen", + "quote:read": "Angebote anzeigen", + "quote:update": "Angebote aktualisieren", + "quote:delete": "Angebote löschen" + }, + "settings": { + "Quotes": { + "Status": { + "title": "Angebotsstatus", + "description": "Liste der gültigen Angebotsstatus" + }, + "DefaultStatus": { + "title": "Standard-Angebotsstatus", + "description": "Dieser Status wird dem Angebot zugewiesen, das aus dem Warenkorb erstellt wurde" + }, + "QuoteRequestNewNumberTemplate": { + "title": "Vorlage für neue Angebotsanfragenummer", + "description": "Diese Vorlage oder dieses Muster wird verwendet, um Nummern für neue Angebotsanfragen zu generieren. 0 ist das Datum und die Uhrzeit (UTC), zu der die Nummer generiert wurde, während 1 die Sequenznummer ist" + }, + "EnableQuotes": { + "title": "Angebote aktivieren", + "description": "Aktivieren Sie den Schalter, um Angebote im Shop zu aktivieren" + } + } + }, + "file-upload-error": { + "status": "Fehler", + "status-text": "Datei-Upload fehlgeschlagen", + "invalid-configuration": "Datei-Upload-Bereich ist nicht konfiguriert", + "template": "{{fileName}}: {{errorMessage}}", + "duplicate-name": "Eine Datei mit demselben Namen existiert bereits", + "INVALID_SIZE": "Dateigröße überschreitet {{parameter}} Bytes", + "INVALID_EXTENSION": "Dateityp ist nicht einer der erlaubten Typen ({{parameter}})", + "UNKNOWN_ERROR": "Unbekannter Fehler: {{message}}" + }, + "module": { + "VirtoCommerce.Quote": { + "description": "Angebotsanfragen (RFQs) exportieren oder importieren" + } } -} +} \ No newline at end of file diff --git a/src/VirtoCommerce.QuoteModule.Web/Localizations/en.VirtoCommerce.Quote.json b/src/VirtoCommerce.QuoteModule.Web/Localizations/en.VirtoCommerce.Quote.json index 3842588a..9b9410bd 100644 --- a/src/VirtoCommerce.QuoteModule.Web/Localizations/en.VirtoCommerce.Quote.json +++ b/src/VirtoCommerce.QuoteModule.Web/Localizations/en.VirtoCommerce.Quote.json @@ -29,11 +29,11 @@ "internal-comment": "Internal comment" }, "placeholders": { - "status": "Please select...", + "status": "Select...", "expiry-date": "Select date", - "assigned-to": "Please select...", - "rfq-from": "Please select store...", - "reminder-date": "Please select date", + "assigned-to": "Select...", + "rfq-from": "Select store...", + "reminder-date": "Select date", "general-comment": "Public comment", "internal-comment": "Internal comment" } @@ -51,9 +51,9 @@ "sub-total": "Subtotal", "shipping": "Shipping", "discount": "Discount", - "grand-total": "Grand Total", + "grand-total": "Grand total", "taxes": "Taxes", - "grand-total-incl-tax": "Grand Total (Incl. Taxes)", + "grand-total-incl-tax": "Grand total (incl. taxes)", "picture": "Image", "comment": "Product comment", "list-price": "List price", @@ -65,7 +65,7 @@ "sku": "SKU" }, "placeholders": { - "shipping-method": "Please select...", + "shipping-method": "Select...", "comment": "Enter comment" } }, @@ -100,16 +100,16 @@ "sub-total": "Subtotal", "shipping": "Shipping", "discount": "Discount", - "grand-total": "Grand Total" + "grand-total": "Grand total" } }, "dialogs": { "quote-requests-delete": { - "title": "Confirm Delete", + "title": "Confirm delete", "message": "Are you sure you want to delete the selected quote request(s)?" }, "quote-delete": { - "title": "Confirm Delete", + "title": "Confirm delete", "message": "Are you sure you want to delete this quote?" }, "quote-save": { @@ -120,16 +120,16 @@ "title": "Cancel quote", "message": "Are you sure you want to cancel this quote?", "placeholders": { - "reason": "Please enter reason here..." + "reason": "Enter reason here..." } }, "proposal-submit": { "title": "Confirm proposal", - "message": "Once you submit your proposal, certain parts of your quote will be locked and cannot be modified. Are you sure you want to proceed?" + "message": "Once you have submitted your proposal, certain parts of your quote will be locked and cannot be modified. Are you sure you want to proceed?" }, "proposal-submit-with-warning": { "title": "Incomplete quote proposal", - "message": "Warning: The quote doesn't have either any items or with a zero total. Please ensure that all items are listed and priced appropriately before proceeding. Are you sure you want to proceed?" + "message": "Warning: Offer is missing or totals zero. Please ensure that all items are listed and priced correctly before proceeding. Are you sure you want to proceed?" }, "hold-confirmation": { "title": "Confirm put on hold", @@ -165,7 +165,7 @@ }, "QuoteRequestNewNumberTemplate": { "title": "RFQ number template", - "description": "This template or pattern will be used to generate numbers for new quote requests. 0 means date and time (UTC) the number gets generated, while 1 stands for the sequence number." + "description": "This template or pattern will be used to generate numbers for new quote requests. 0 is the date and time (UTC) when the number was generated, while 1 is the sequence number" }, "EnableQuotes": { "title": "Enable quotes", @@ -192,4 +192,4 @@ "description": "Export or import quote requests (RFQs)" } } -} +} \ No newline at end of file diff --git a/src/VirtoCommerce.QuoteModule.Web/Localizations/es.VirtoCommerce.Quote.json b/src/VirtoCommerce.QuoteModule.Web/Localizations/es.VirtoCommerce.Quote.json new file mode 100644 index 00000000..2260b596 --- /dev/null +++ b/src/VirtoCommerce.QuoteModule.Web/Localizations/es.VirtoCommerce.Quote.json @@ -0,0 +1,191 @@ +{ + "quotes": { + "main-menu-title": "Cotizaciones", + "blades": { + "quotes-assets": { + "subtitle": "Archivos adjuntos de la cotización", + "labels": { + "drag-note": "Arrastra y suelta tus archivos aquí", + "select-files": "Seleccionar archivos", + "progress": "Progreso", + "type": "Tipo", + "name": "Nombre", + "actions": "Acciones" + } + }, + "quote-detail": { + "subtitle": "Detalles de la cotización", + "labels": { + "customer": "Cliente", + "created": "Creado", + "customer-organization": "Empresa del cliente", + "last-updated": "Última actualización", + "status": "Estado", + "expiry-date": "Fecha de vencimiento", + "assigned-to": "Asignado a", + "rfq-from": "Solicitud de cotización de", + "reminder-date": "Fecha de recordatorio", + "general-comment": "Comentario general", + "internal-comment": "Comentario interno" + }, + "placeholders": { + "status": "Seleccionar...", + "expiry-date": "Seleccionar fecha", + "assigned-to": "Seleccionar...", + "rfq-from": "Seleccionar tienda...", + "reminder-date": "Seleccionar fecha", + "general-comment": "Comentario público", + "internal-comment": "Comentario interno" + } + }, + "quote-items": { + "title": "Artículos de {{title}}", + "subtitle": "Editar artículos", + "labels": { + "new-subtotal": "Nuevo subtotal", + "relative-discount": "Descuento relativo", + "shipping-method": "Método de envío", + "manual-shipping-total": "Total de envío (manual)", + "sub-total-placed": "Subtotal (colocado)", + "adjustment-quote": "Ajuste", + "sub-total": "Subtotal", + "shipping": "Envío", + "discount": "Descuento", + "grand-total": "Total general", + "taxes": "Impuestos", + "grand-total-incl-tax": "Total general (impuestos incluidos)", + "picture": "Imagen", + "comment": "Comentario del producto", + "list-price": "Precio de lista", + "sale-price": "Precio de venta", + "quantity": "Cantidad", + "proposed-price": "Precio propuesto", + "margin": "Margen (MB)", + "product": "Producto", + "sku": "SKU" + }, + "placeholders": { + "shipping-method": "Seleccionar...", + "comment": "Ingresar comentario" + } + }, + "quotes-list": { + "title": "Cotizaciones", + "labels": { + "quote-number": "Número de cotización", + "status": "Estado", + "items-count": "Cantidad de artículos", + "customer": "Cliente", + "created": "Creado", + "no-quotes": "Aún no hay cotizaciones" + } + }, + "catalog-items-select": { + "title": "Agregar artículo a la cotización" + } + }, + "widgets": { + "quote-address": { + "address-type": "Tipo de dirección", + "no-address": "Sin dirección", + "blade-subtitle": "Gestionar direcciones" + }, + "quotes-assets": { + "title": "Archivos adjuntos" + }, + "quote-items": { + "title": "Artículos" + }, + "quote-totals": { + "sub-total": "Subtotal", + "shipping": "Envío", + "discount": "Descuento", + "grand-total": "Total general" + } + }, + "dialogs": { + "quote-requests-delete": { + "title": "Confirmar eliminación", + "message": "¿Estás seguro de que deseas eliminar la(s) solicitud(es) de cotización seleccionada(s)?" + }, + "quote-delete": { + "title": "Confirmar eliminación", + "message": "¿Estás seguro de que deseas eliminar esta cotización?" + }, + "quote-save": { + "title": "Guardar cambios", + "message": "La cotización ha sido modificada. ¿Deseas guardar los cambios?" + }, + "quote-cancel": { + "title": "Cancelar cotización", + "message": "¿Estás seguro de que deseas cancelar esta cotización?", + "placeholders": { + "reason": "Ingresa el motivo aquí..." + } + }, + "proposal-submit": { + "title": "Confirmar propuesta", + "message": "Una vez que hayas enviado tu propuesta, ciertas partes de tu cotización se bloquearán y no podrán ser modificadas. ¿Estás seguro de que deseas continuar?" + }, + "proposal-submit-with-warning": { + "title": "Propuesta de cotización incompleta", + "message": "Advertencia: Falta la oferta o el total es cero. Asegúrate de que todos los artículos estén listados y con precios correctos antes de continuar. ¿Estás seguro de que deseas continuar?" + }, + "hold-confirmation": { + "title": "Confirmar retención", + "message-release": "¿Estás seguro de que deseas reactivar esta cotización?", + "message-place": "¿Estás seguro de que deseas poner esta cotización en espera?" + } + }, + "commands": { + "release-hold": "Reactivar", + "place-on-hold": "Poner en espera", + "submit-proposal": "Enviar propuesta", + "cancel-document": "Cancelar documento", + "add-selected": "Agregar seleccionados", + "add-item": "Agregar artículo" + } + }, + "permissions": { + "quote:access": "Abrir menú de cotizaciones", + "quote:create": "Crear cotización", + "quote:read": "Ver cotizaciones", + "quote:update": "Actualizar cotizaciones", + "quote:delete": "Eliminar cotizaciones" + }, + "settings": { + "Quotes": { + "Status": { + "title": "Estados de cotización", + "description": "Lista de estados de cotización válidos" + }, + "DefaultStatus": { + "title": "Estado de cotización predeterminado", + "description": "Este estado se asignará a la cotización creada desde el carrito de compras" + }, + "QuoteRequestNewNumberTemplate": { + "title": "Plantilla de número de solicitud de cotización", + "description": "Esta plantilla o patrón se utilizará para generar números para nuevas solicitudes de cotización. 0 es la fecha y hora (UTC) cuando se generó el número, mientras que 1 es el número de secuencia" + }, + "EnableQuotes": { + "title": "Habilitar cotizaciones", + "description": "Activa el interruptor para activar las cotizaciones en la tienda" + } + } + }, + "file-upload-error": { + "status": "Error", + "status-text": "Error en la carga del archivo", + "invalid-configuration": "El ámbito de carga de archivos no está configurado", + "template": "{{fileName}}: {{errorMessage}}", + "duplicate-name": "Ya existe un archivo con el mismo nombre", + "INVALID_SIZE": "El tamaño del archivo excede {{parameter}} bytes", + "INVALID_EXTENSION": "El tipo de archivo no es uno de los tipos permitidos ({{parameter}})", + "UNKNOWN_ERROR": "Error desconocido: {{message}}" + }, + "module": { + "VirtoCommerce.Quote": { + "description": "Exportar o importar solicitudes de cotización (RFQ)" + } + } +} \ No newline at end of file diff --git a/src/VirtoCommerce.QuoteModule.Web/Localizations/fr.VirtoCommerce.Quote.json b/src/VirtoCommerce.QuoteModule.Web/Localizations/fr.VirtoCommerce.Quote.json new file mode 100644 index 00000000..b794d3a4 --- /dev/null +++ b/src/VirtoCommerce.QuoteModule.Web/Localizations/fr.VirtoCommerce.Quote.json @@ -0,0 +1,191 @@ +{ + "quotes": { + "main-menu-title": "Devis", + "blades": { + "quotes-assets": { + "subtitle": "Pièces jointes du devis", + "labels": { + "drag-note": "Glissez et déposez vos fichiers ici", + "select-files": "Sélectionner des fichiers", + "progress": "Progression", + "type": "Type", + "name": "Nom", + "actions": "Actions" + } + }, + "quote-detail": { + "subtitle": "Détails du devis", + "labels": { + "customer": "Client", + "created": "Créé", + "customer-organization": "Entreprise du client", + "last-updated": "Dernière mise à jour", + "status": "Statut", + "expiry-date": "Date d'expiration", + "assigned-to": "Assigné à", + "rfq-from": "Demande de devis de", + "reminder-date": "Date de rappel", + "general-comment": "Commentaire général", + "internal-comment": "Commentaire interne" + }, + "placeholders": { + "status": "Sélectionner...", + "expiry-date": "Sélectionner une date", + "assigned-to": "Sélectionner...", + "rfq-from": "Sélectionner un magasin...", + "reminder-date": "Sélectionner une date", + "general-comment": "Commentaire public", + "internal-comment": "Commentaire interne" + } + }, + "quote-items": { + "title": "Articles du {{title}}", + "subtitle": "Modifier les articles", + "labels": { + "new-subtotal": "Nouveau sous-total", + "relative-discount": "Remise relative", + "shipping-method": "Méthode d'expédition", + "manual-shipping-total": "Total d'expédition (manuel)", + "sub-total-placed": "Sous-total (placé)", + "adjustment-quote": "Ajustement", + "sub-total": "Sous-total", + "shipping": "Expédition", + "discount": "Remise", + "grand-total": "Total général", + "taxes": "Taxes", + "grand-total-incl-tax": "Total général (taxes incluses)", + "picture": "Image", + "comment": "Commentaire sur le produit", + "list-price": "Prix catalogue", + "sale-price": "Prix de vente", + "quantity": "Quantité", + "proposed-price": "Prix proposé", + "margin": "Marge (MB)", + "product": "Produit", + "sku": "UGS" + }, + "placeholders": { + "shipping-method": "Sélectionner...", + "comment": "Entrer un commentaire" + } + }, + "quotes-list": { + "title": "Devis", + "labels": { + "quote-number": "Numéro de devis", + "status": "Statut", + "items-count": "Nombre d'articles", + "customer": "Client", + "created": "Créé", + "no-quotes": "Pas encore de devis" + } + }, + "catalog-items-select": { + "title": "Ajouter un article au devis" + } + }, + "widgets": { + "quote-address": { + "address-type": "Type d'adresse", + "no-address": "Pas d'adresse", + "blade-subtitle": "Gérer les adresses" + }, + "quotes-assets": { + "title": "Pièces jointes" + }, + "quote-items": { + "title": "Articles" + }, + "quote-totals": { + "sub-total": "Sous-total", + "shipping": "Expédition", + "discount": "Remise", + "grand-total": "Total général" + } + }, + "dialogs": { + "quote-requests-delete": { + "title": "Confirmer la suppression", + "message": "Êtes-vous sûr de vouloir supprimer la/les demande(s) de devis sélectionnée(s) ?" + }, + "quote-delete": { + "title": "Confirmer la suppression", + "message": "Êtes-vous sûr de vouloir supprimer ce devis ?" + }, + "quote-save": { + "title": "Enregistrer les modifications", + "message": "Le devis a été modifié. Voulez-vous enregistrer les modifications ?" + }, + "quote-cancel": { + "title": "Annuler le devis", + "message": "Êtes-vous sûr de vouloir annuler ce devis ?", + "placeholders": { + "reason": "Entrez la raison ici..." + } + }, + "proposal-submit": { + "title": "Confirmer la proposition", + "message": "Une fois que vous aurez soumis votre proposition, certaines parties de votre devis seront verrouillées et ne pourront pas être modifiées. Êtes-vous sûr de vouloir continuer ?" + }, + "proposal-submit-with-warning": { + "title": "Proposition de devis incomplète", + "message": "Avertissement : L'offre est manquante ou le total est nul. Veuillez vous assurer que tous les articles sont listés et correctement tarifés avant de continuer. Êtes-vous sûr de vouloir continuer ?" + }, + "hold-confirmation": { + "title": "Confirmer la mise en attente", + "message-release": "Êtes-vous sûr de vouloir réactiver ce devis ?", + "message-place": "Êtes-vous sûr de vouloir mettre ce devis en attente ?" + } + }, + "commands": { + "release-hold": "Réactiver", + "place-on-hold": "Mettre en attente", + "submit-proposal": "Soumettre la proposition", + "cancel-document": "Annuler le document", + "add-selected": "Ajouter la sélection", + "add-item": "Ajouter un article" + } + }, + "permissions": { + "quote:access": "Ouvrir le menu des devis", + "quote:create": "Créer un devis", + "quote:read": "Voir les devis", + "quote:update": "Mettre à jour les devis", + "quote:delete": "Supprimer les devis" + }, + "settings": { + "Quotes": { + "Status": { + "title": "Statuts des devis", + "description": "Liste des statuts de devis valides" + }, + "DefaultStatus": { + "title": "Statut de devis par défaut", + "description": "Ce statut sera attribué au devis créé à partir du panier" + }, + "QuoteRequestNewNumberTemplate": { + "title": "Modèle de numéro de demande de devis", + "description": "Ce modèle ou ce motif sera utilisé pour générer des numéros pour les nouvelles demandes de devis. 0 est la date et l'heure (UTC) de génération du numéro, tandis que 1 est le numéro de séquence" + }, + "EnableQuotes": { + "title": "Activer les devis", + "description": "Activez le commutateur pour activer les devis dans la boutique" + } + } + }, + "file-upload-error": { + "status": "Erreur", + "status-text": "Échec du téléchargement du fichier", + "invalid-configuration": "La portée du téléchargement de fichiers n'est pas configurée", + "template": "{{fileName}} : {{errorMessage}}", + "duplicate-name": "Un fichier portant le même nom existe déjà", + "INVALID_SIZE": "La taille du fichier dépasse {{parameter}} octets", + "INVALID_EXTENSION": "Le type de fichier n'est pas l'un des types autorisés ({{parameter}})", + "UNKNOWN_ERROR": "Erreur inconnue : {{message}}" + }, + "module": { + "VirtoCommerce.Quote": { + "description": "Exporter ou importer des demandes de devis (RFQ)" + } + } +} \ No newline at end of file diff --git a/src/VirtoCommerce.QuoteModule.Web/Localizations/it.VirtoCommerce.Quote.json b/src/VirtoCommerce.QuoteModule.Web/Localizations/it.VirtoCommerce.Quote.json new file mode 100644 index 00000000..307f45bf --- /dev/null +++ b/src/VirtoCommerce.QuoteModule.Web/Localizations/it.VirtoCommerce.Quote.json @@ -0,0 +1,191 @@ +{ + "quotes": { + "main-menu-title": "Preventivi", + "blades": { + "quotes-assets": { + "subtitle": "Allegati del preventivo", + "labels": { + "drag-note": "Trascina e rilascia i tuoi file qui", + "select-files": "Seleziona file", + "progress": "Progresso", + "type": "Tipo", + "name": "Nome", + "actions": "Azioni" + } + }, + "quote-detail": { + "subtitle": "Dettagli del preventivo", + "labels": { + "customer": "Cliente", + "created": "Creato", + "customer-organization": "Azienda del cliente", + "last-updated": "Ultimo aggiornamento", + "status": "Stato", + "expiry-date": "Data di scadenza", + "assigned-to": "Assegnato a", + "rfq-from": "RFQ da", + "reminder-date": "Data promemoria", + "general-comment": "Commento generale", + "internal-comment": "Commento interno" + }, + "placeholders": { + "status": "Seleziona...", + "expiry-date": "Seleziona data", + "assigned-to": "Seleziona...", + "rfq-from": "Seleziona negozio...", + "reminder-date": "Seleziona data", + "general-comment": "Commento pubblico", + "internal-comment": "Commento interno" + } + }, + "quote-items": { + "title": "Articoli del {{title}}", + "subtitle": "Modifica articoli", + "labels": { + "new-subtotal": "Nuovo subtotale", + "relative-discount": "Sconto relativo", + "shipping-method": "Metodo di spedizione", + "manual-shipping-total": "Totale spedizione (manuale)", + "sub-total-placed": "Subtotale (inserito)", + "adjustment-quote": "Aggiustamento", + "sub-total": "Subtotale", + "shipping": "Spedizione", + "discount": "Sconto", + "grand-total": "Totale generale", + "taxes": "Tasse", + "grand-total-incl-tax": "Totale generale (tasse incluse)", + "picture": "Immagine", + "comment": "Commento sul prodotto", + "list-price": "Prezzo di listino", + "sale-price": "Prezzo di vendita", + "quantity": "Quantità", + "proposed-price": "Prezzo proposto", + "margin": "Margine (GP)", + "product": "Prodotto", + "sku": "SKU" + }, + "placeholders": { + "shipping-method": "Seleziona...", + "comment": "Inserisci commento" + } + }, + "quotes-list": { + "title": "Preventivi", + "labels": { + "quote-number": "Numero preventivo", + "status": "Stato", + "items-count": "Numero articoli", + "customer": "Cliente", + "created": "Creato", + "no-quotes": "Nessun preventivo ancora" + } + }, + "catalog-items-select": { + "title": "Aggiungi articolo al preventivo" + } + }, + "widgets": { + "quote-address": { + "address-type": "Tipo di indirizzo", + "no-address": "Nessun indirizzo", + "blade-subtitle": "Gestisci indirizzi" + }, + "quotes-assets": { + "title": "Allegati" + }, + "quote-items": { + "title": "Articoli" + }, + "quote-totals": { + "sub-total": "Subtotale", + "shipping": "Spedizione", + "discount": "Sconto", + "grand-total": "Totale generale" + } + }, + "dialogs": { + "quote-requests-delete": { + "title": "Conferma eliminazione", + "message": "Sei sicuro di voler eliminare la/e richiesta/e di preventivo selezionata/e?" + }, + "quote-delete": { + "title": "Conferma eliminazione", + "message": "Sei sicuro di voler eliminare questo preventivo?" + }, + "quote-save": { + "title": "Salva modifiche", + "message": "Il preventivo è stato modificato. Vuoi salvare le modifiche?" + }, + "quote-cancel": { + "title": "Annulla preventivo", + "message": "Sei sicuro di voler annullare questo preventivo?", + "placeholders": { + "reason": "Inserisci il motivo qui..." + } + }, + "proposal-submit": { + "title": "Conferma proposta", + "message": "Una volta inviata la tua proposta, alcune parti del tuo preventivo saranno bloccate e non potranno essere modificate. Sei sicuro di voler procedere?" + }, + "proposal-submit-with-warning": { + "title": "Proposta di preventivo incompleta", + "message": "Attenzione: L'offerta è mancante o il totale è zero. Assicurati che tutti gli articoli siano elencati e prezzati correttamente prima di procedere. Sei sicuro di voler procedere?" + }, + "hold-confirmation": { + "title": "Conferma sospensione", + "message-release": "Sei sicuro di voler riattivare questo preventivo?", + "message-place": "Sei sicuro di voler sospendere questo preventivo?" + } + }, + "commands": { + "release-hold": "Riattiva", + "place-on-hold": "Sospendi", + "submit-proposal": "Invia proposta", + "cancel-document": "Annulla documento", + "add-selected": "Aggiungi selezionati", + "add-item": "Aggiungi articolo" + } + }, + "permissions": { + "quote:access": "Apri menu preventivi", + "quote:create": "Crea preventivo", + "quote:read": "Visualizza preventivi", + "quote:update": "Aggiorna preventivi", + "quote:delete": "Elimina preventivi" + }, + "settings": { + "Quotes": { + "Status": { + "title": "Stati dei preventivi", + "description": "Elenco degli stati validi per i preventivi" + }, + "DefaultStatus": { + "title": "Stato predefinito del preventivo", + "description": "Questo stato verrà assegnato al preventivo creato dal carrello" + }, + "QuoteRequestNewNumberTemplate": { + "title": "Modello numero RFQ", + "description": "Questo modello o pattern verrà utilizzato per generare numeri per nuove richieste di preventivo. 0 è la data e l'ora (UTC) in cui è stato generato il numero, mentre 1 è il numero di sequenza" + }, + "EnableQuotes": { + "title": "Abilita preventivi", + "description": "Attiva l'interruttore per abilitare i preventivi nel negozio" + } + } + }, + "file-upload-error": { + "status": "Errore", + "status-text": "Caricamento file fallito", + "invalid-configuration": "L'ambito di caricamento file non è configurato", + "template": "{{fileName}}: {{errorMessage}}", + "duplicate-name": "Un file con lo stesso nome esiste già", + "INVALID_SIZE": "La dimensione del file supera {{parameter}} byte", + "INVALID_EXTENSION": "Il tipo di file non è uno dei tipi consentiti ({{parameter}})", + "UNKNOWN_ERROR": "Errore sconosciuto: {{message}}" + }, + "module": { + "VirtoCommerce.Quote": { + "description": "Esporta o importa richieste di preventivo (RFQ)" + } + } +} \ No newline at end of file diff --git a/src/VirtoCommerce.QuoteModule.Web/Localizations/ja.VirtoCommerce.Quote.json b/src/VirtoCommerce.QuoteModule.Web/Localizations/ja.VirtoCommerce.Quote.json new file mode 100644 index 00000000..6a4f9a69 --- /dev/null +++ b/src/VirtoCommerce.QuoteModule.Web/Localizations/ja.VirtoCommerce.Quote.json @@ -0,0 +1,191 @@ +{ + "quotes": { + "main-menu-title": "見積書", + "blades": { + "quotes-assets": { + "subtitle": "見積書の添付ファイル", + "labels": { + "drag-note": "ファイルをここにドラッグ&ドロップしてください", + "select-files": "ファイルを選択", + "progress": "進捗", + "type": "タイプ", + "name": "名前", + "actions": "アクション" + } + }, + "quote-detail": { + "subtitle": "見積書の詳細", + "labels": { + "customer": "顧客", + "created": "作成日", + "customer-organization": "顧客の会社", + "last-updated": "最終更新日", + "status": "ステータス", + "expiry-date": "有効期限", + "assigned-to": "担当者", + "rfq-from": "見積依頼元", + "reminder-date": "リマインダー日", + "general-comment": "一般コメント", + "internal-comment": "内部コメント" + }, + "placeholders": { + "status": "選択...", + "expiry-date": "日付を選択", + "assigned-to": "選択...", + "rfq-from": "ストアを選択...", + "reminder-date": "日付を選択", + "general-comment": "公開コメント", + "internal-comment": "内部コメント" + } + }, + "quote-items": { + "title": "{{title}}の項目", + "subtitle": "項目を編集", + "labels": { + "new-subtotal": "新しい小計", + "relative-discount": "相対割引", + "shipping-method": "配送方法", + "manual-shipping-total": "配送料合計(手動)", + "sub-total-placed": "小計(配置済み)", + "adjustment-quote": "調整", + "sub-total": "小計", + "shipping": "配送料", + "discount": "割引", + "grand-total": "合計", + "taxes": "税金", + "grand-total-incl-tax": "合計(税込)", + "picture": "画像", + "comment": "商品コメント", + "list-price": "定価", + "sale-price": "販売価格", + "quantity": "数量", + "proposed-price": "提案価格", + "margin": "利益率(GP)", + "product": "商品", + "sku": "SKU" + }, + "placeholders": { + "shipping-method": "選択...", + "comment": "コメントを入力" + } + }, + "quotes-list": { + "title": "見積書", + "labels": { + "quote-number": "見積番号", + "status": "ステータス", + "items-count": "項目数", + "customer": "顧客", + "created": "作成日", + "no-quotes": "見積書はまだありません" + } + }, + "catalog-items-select": { + "title": "見積書に項目を追加" + } + }, + "widgets": { + "quote-address": { + "address-type": "住所タイプ", + "no-address": "住所なし", + "blade-subtitle": "住所を管理" + }, + "quotes-assets": { + "title": "添付ファイル" + }, + "quote-items": { + "title": "項目" + }, + "quote-totals": { + "sub-total": "小計", + "shipping": "配送料", + "discount": "割引", + "grand-total": "合計" + } + }, + "dialogs": { + "quote-requests-delete": { + "title": "削除の確認", + "message": "選択した見積依頼を削除してもよろしいですか?" + }, + "quote-delete": { + "title": "削除の確認", + "message": "この見積書を削除してもよろしいですか?" + }, + "quote-save": { + "title": "変更を保存", + "message": "見積書が変更されました。変更を保存しますか?" + }, + "quote-cancel": { + "title": "見積書をキャンセル", + "message": "この見積書をキャンセルしてもよろしいですか?", + "placeholders": { + "reason": "理由をここに入力..." + } + }, + "proposal-submit": { + "title": "提案の確認", + "message": "提案を送信すると、見積書の一部がロックされ、変更できなくなります。続行してもよろしいですか?" + }, + "proposal-submit-with-warning": { + "title": "不完全な見積提案", + "message": "警告:オファーが欠落しているか、合計がゼロです。続行する前に、すべての項目が正しく記載され、価格設定されていることを確認してください。続行してもよろしいですか?" + }, + "hold-confirmation": { + "title": "保留の確認", + "message-release": "この見積書を再アクティブ化してもよろしいですか?", + "message-place": "この見積書を保留にしてもよろしいですか?" + } + }, + "commands": { + "release-hold": "再アクティブ化", + "place-on-hold": "保留にする", + "submit-proposal": "提案を送信", + "cancel-document": "文書をキャンセル", + "add-selected": "選択項目を追加", + "add-item": "項目を追加" + } + }, + "permissions": { + "quote:access": "見積メニューを開く", + "quote:create": "見積書を作成", + "quote:read": "見積書を表示", + "quote:update": "見積書を更新", + "quote:delete": "見積書を削除" + }, + "settings": { + "Quotes": { + "Status": { + "title": "見積書のステータス", + "description": "有効な見積書ステータスのリスト" + }, + "DefaultStatus": { + "title": "デフォルトの見積書ステータス", + "description": "このステータスは、ショッピングカートから作成された見積書に割り当てられます" + }, + "QuoteRequestNewNumberTemplate": { + "title": "見積依頼の新規番号テンプレート", + "description": "このテンプレートまたはパターンは、新しい見積依頼の番号を生成するために使用されます。0は番号が生成された日時(UTC)、1はシーケンス番号です" + }, + "EnableQuotes": { + "title": "見積書を有効にする", + "description": "ストアで見積書を有効にするにはスイッチをオンにしてください" + } + } + }, + "file-upload-error": { + "status": "エラー", + "status-text": "ファイルのアップロードに失敗しました", + "invalid-configuration": "ファイルアップロードのスコープが設定されていません", + "template": "{{fileName}}: {{errorMessage}}", + "duplicate-name": "同じ名前のファイルが既に存在します", + "INVALID_SIZE": "ファイルサイズが{{parameter}}バイトを超えています", + "INVALID_EXTENSION": "ファイルタイプが許可されているタイプ({{parameter}})の1つではありません", + "UNKNOWN_ERROR": "不明なエラー: {{message}}" + }, + "module": { + "VirtoCommerce.Quote": { + "description": "見積依頼(RFQ)をエクスポートまたはインポート" + } + } +} \ No newline at end of file diff --git a/src/VirtoCommerce.QuoteModule.Web/Localizations/pl.VirtoCommerce.Quote.json b/src/VirtoCommerce.QuoteModule.Web/Localizations/pl.VirtoCommerce.Quote.json new file mode 100644 index 00000000..381c4a24 --- /dev/null +++ b/src/VirtoCommerce.QuoteModule.Web/Localizations/pl.VirtoCommerce.Quote.json @@ -0,0 +1,191 @@ +{ + "quotes": { + "main-menu-title": "Oferty", + "blades": { + "quotes-assets": { + "subtitle": "Załączniki oferty", + "labels": { + "drag-note": "Przeciągnij i upuść swoje pliki tutaj", + "select-files": "Wybierz pliki", + "progress": "Postęp", + "type": "Typ", + "name": "Nazwa", + "actions": "Akcje" + } + }, + "quote-detail": { + "subtitle": "Szczegóły oferty", + "labels": { + "customer": "Klient", + "created": "Utworzono", + "customer-organization": "Firma klienta", + "last-updated": "Ostatnia aktualizacja", + "status": "Status", + "expiry-date": "Data ważności", + "assigned-to": "Przypisano do", + "rfq-from": "Zapytanie ofertowe od", + "reminder-date": "Data przypomnienia", + "general-comment": "Komentarz ogólny", + "internal-comment": "Komentarz wewnętrzny" + }, + "placeholders": { + "status": "Wybierz...", + "expiry-date": "Wybierz datę", + "assigned-to": "Wybierz...", + "rfq-from": "Wybierz sklep...", + "reminder-date": "Wybierz datę", + "general-comment": "Komentarz publiczny", + "internal-comment": "Komentarz wewnętrzny" + } + }, + "quote-items": { + "title": "Pozycje {{title}}", + "subtitle": "Edytuj pozycje", + "labels": { + "new-subtotal": "Nowa suma częściowa", + "relative-discount": "Rabat względny", + "shipping-method": "Metoda wysyłki", + "manual-shipping-total": "Suma wysyłki (ręcznie)", + "sub-total-placed": "Suma częściowa (złożona)", + "adjustment-quote": "Korekta", + "sub-total": "Suma częściowa", + "shipping": "Wysyłka", + "discount": "Rabat", + "grand-total": "Suma całkowita", + "taxes": "Podatki", + "grand-total-incl-tax": "Suma całkowita (z podatkiem)", + "picture": "Obraz", + "comment": "Komentarz do produktu", + "list-price": "Cena katalogowa", + "sale-price": "Cena sprzedaży", + "quantity": "Ilość", + "proposed-price": "Proponowana cena", + "margin": "Marża (MB)", + "product": "Produkt", + "sku": "SKU" + }, + "placeholders": { + "shipping-method": "Wybierz...", + "comment": "Wprowadź komentarz" + } + }, + "quotes-list": { + "title": "Oferty", + "labels": { + "quote-number": "Numer oferty", + "status": "Status", + "items-count": "Liczba pozycji", + "customer": "Klient", + "created": "Utworzono", + "no-quotes": "Brak ofert" + } + }, + "catalog-items-select": { + "title": "Dodaj pozycję do oferty" + } + }, + "widgets": { + "quote-address": { + "address-type": "Typ adresu", + "no-address": "Brak adresu", + "blade-subtitle": "Zarządzaj adresami" + }, + "quotes-assets": { + "title": "Załączniki" + }, + "quote-items": { + "title": "Pozycje" + }, + "quote-totals": { + "sub-total": "Suma częściowa", + "shipping": "Wysyłka", + "discount": "Rabat", + "grand-total": "Suma całkowita" + } + }, + "dialogs": { + "quote-requests-delete": { + "title": "Potwierdź usunięcie", + "message": "Czy na pewno chcesz usunąć wybrane zapytanie(a) ofertowe?" + }, + "quote-delete": { + "title": "Potwierdź usunięcie", + "message": "Czy na pewno chcesz usunąć tę ofertę?" + }, + "quote-save": { + "title": "Zapisz zmiany", + "message": "Oferta została zmodyfikowana. Czy chcesz zapisać zmiany?" + }, + "quote-cancel": { + "title": "Anuluj ofertę", + "message": "Czy na pewno chcesz anulować tę ofertę?", + "placeholders": { + "reason": "Wprowadź powód tutaj..." + } + }, + "proposal-submit": { + "title": "Potwierdź propozycję", + "message": "Po przesłaniu propozycji niektóre części oferty zostaną zablokowane i nie będzie można ich modyfikować. Czy na pewno chcesz kontynuować?" + }, + "proposal-submit-with-warning": { + "title": "Niekompletna propozycja oferty", + "message": "Ostrzeżenie: Brak oferty lub suma wynosi zero. Upewnij się, że wszystkie pozycje są wymienione i prawidłowo wycenione przed kontynuowaniem. Czy na pewno chcesz kontynuować?" + }, + "hold-confirmation": { + "title": "Potwierdź wstrzymanie", + "message-release": "Czy na pewno chcesz ponownie aktywować tę ofertę?", + "message-place": "Czy na pewno chcesz wstrzymać tę ofertę?" + } + }, + "commands": { + "release-hold": "Ponownie aktywuj", + "place-on-hold": "Wstrzymaj", + "submit-proposal": "Prześlij propozycję", + "cancel-document": "Anuluj dokument", + "add-selected": "Dodaj wybrane", + "add-item": "Dodaj pozycję" + } + }, + "permissions": { + "quote:access": "Otwórz menu ofert", + "quote:create": "Utwórz ofertę", + "quote:read": "Przeglądaj oferty", + "quote:update": "Aktualizuj oferty", + "quote:delete": "Usuń oferty" + }, + "settings": { + "Quotes": { + "Status": { + "title": "Statusy ofert", + "description": "Lista prawidłowych statusów ofert" + }, + "DefaultStatus": { + "title": "Domyślny status oferty", + "description": "Ten status zostanie przypisany do oferty utworzonej z koszyka" + }, + "QuoteRequestNewNumberTemplate": { + "title": "Szablon numeru zapytania ofertowego", + "description": "Ten szablon lub wzorzec będzie używany do generowania numerów dla nowych zapytań ofertowych. 0 to data i czas (UTC) wygenerowania numeru, a 1 to numer sekwencyjny" + }, + "EnableQuotes": { + "title": "Włącz oferty", + "description": "Włącz przełącznik, aby aktywować oferty w sklepie" + } + } + }, + "file-upload-error": { + "status": "Błąd", + "status-text": "Przesyłanie pliku nie powiodło się", + "invalid-configuration": "Zakres przesyłania plików nie jest skonfigurowany", + "template": "{{fileName}}: {{errorMessage}}", + "duplicate-name": "Plik o tej samej nazwie już istnieje", + "INVALID_SIZE": "Rozmiar pliku przekracza {{parameter}} bajtów", + "INVALID_EXTENSION": "Typ pliku nie jest jednym z dozwolonych typów ({{parameter}})", + "UNKNOWN_ERROR": "Nieznany błąd: {{message}}" + }, + "module": { + "VirtoCommerce.Quote": { + "description": "Eksportuj lub importuj zapytania ofertowe (RFQ)" + } + } +} \ No newline at end of file diff --git a/src/VirtoCommerce.QuoteModule.Web/Localizations/pt.VirtoCommerce.Quote.json b/src/VirtoCommerce.QuoteModule.Web/Localizations/pt.VirtoCommerce.Quote.json new file mode 100644 index 00000000..5f2590f8 --- /dev/null +++ b/src/VirtoCommerce.QuoteModule.Web/Localizations/pt.VirtoCommerce.Quote.json @@ -0,0 +1,191 @@ +{ + "quotes": { + "main-menu-title": "Cotações", + "blades": { + "quotes-assets": { + "subtitle": "Anexos da cotação", + "labels": { + "drag-note": "Arraste e solte seus arquivos aqui", + "select-files": "Selecionar arquivos", + "progress": "Progresso", + "type": "Tipo", + "name": "Nome", + "actions": "Ações" + } + }, + "quote-detail": { + "subtitle": "Detalhes da cotação", + "labels": { + "customer": "Cliente", + "created": "Criado", + "customer-organization": "Empresa do cliente", + "last-updated": "Última atualização", + "status": "Status", + "expiry-date": "Data de expiração", + "assigned-to": "Atribuído a", + "rfq-from": "RFQ de", + "reminder-date": "Data de lembrete", + "general-comment": "Comentário geral", + "internal-comment": "Comentário interno" + }, + "placeholders": { + "status": "Selecionar...", + "expiry-date": "Selecionar data", + "assigned-to": "Selecionar...", + "rfq-from": "Selecionar loja...", + "reminder-date": "Selecionar data", + "general-comment": "Comentário público", + "internal-comment": "Comentário interno" + } + }, + "quote-items": { + "title": "Itens de {{title}}", + "subtitle": "Editar itens", + "labels": { + "new-subtotal": "Novo subtotal", + "relative-discount": "Desconto relativo", + "shipping-method": "Método de envio", + "manual-shipping-total": "Total de envio (manual)", + "sub-total-placed": "Subtotal (colocado)", + "adjustment-quote": "Ajuste", + "sub-total": "Subtotal", + "shipping": "Envio", + "discount": "Desconto", + "grand-total": "Total geral", + "taxes": "Impostos", + "grand-total-incl-tax": "Total geral (impostos incluídos)", + "picture": "Imagem", + "comment": "Comentário do produto", + "list-price": "Preço de tabela", + "sale-price": "Preço de venda", + "quantity": "Quantidade", + "proposed-price": "Preço proposto", + "margin": "Margem (MB)", + "product": "Produto", + "sku": "SKU" + }, + "placeholders": { + "shipping-method": "Selecionar...", + "comment": "Inserir comentário" + } + }, + "quotes-list": { + "title": "Cotações", + "labels": { + "quote-number": "Número da cotação", + "status": "Status", + "items-count": "Contagem de itens", + "customer": "Cliente", + "created": "Criado", + "no-quotes": "Ainda não há cotações" + } + }, + "catalog-items-select": { + "title": "Adicionar item à cotação" + } + }, + "widgets": { + "quote-address": { + "address-type": "Tipo de endereço", + "no-address": "Sem endereço", + "blade-subtitle": "Gerenciar endereços" + }, + "quotes-assets": { + "title": "Anexos" + }, + "quote-items": { + "title": "Itens" + }, + "quote-totals": { + "sub-total": "Subtotal", + "shipping": "Envio", + "discount": "Desconto", + "grand-total": "Total geral" + } + }, + "dialogs": { + "quote-requests-delete": { + "title": "Confirmar exclusão", + "message": "Tem certeza de que deseja excluir a(s) solicitação(ões) de cotação selecionada(s)?" + }, + "quote-delete": { + "title": "Confirmar exclusão", + "message": "Tem certeza de que deseja excluir esta cotação?" + }, + "quote-save": { + "title": "Salvar alterações", + "message": "A cotação foi modificada. Deseja salvar as alterações?" + }, + "quote-cancel": { + "title": "Cancelar cotação", + "message": "Tem certeza de que deseja cancelar esta cotação?", + "placeholders": { + "reason": "Insira o motivo aqui..." + } + }, + "proposal-submit": { + "title": "Confirmar proposta", + "message": "Depois de enviar sua proposta, certas partes da sua cotação serão bloqueadas e não poderão ser modificadas. Tem certeza de que deseja prosseguir?" + }, + "proposal-submit-with-warning": { + "title": "Proposta de cotação incompleta", + "message": "Aviso: A oferta está faltando ou o total é zero. Certifique-se de que todos os itens estejam listados e precificados corretamente antes de prosseguir. Tem certeza de que deseja prosseguir?" + }, + "hold-confirmation": { + "title": "Confirmar retenção", + "message-release": "Tem certeza de que deseja reativar esta cotação?", + "message-place": "Tem certeza de que deseja colocar esta cotação em espera?" + } + }, + "commands": { + "release-hold": "Reativar", + "place-on-hold": "Colocar em espera", + "submit-proposal": "Enviar proposta", + "cancel-document": "Cancelar documento", + "add-selected": "Adicionar selecionados", + "add-item": "Adicionar item" + } + }, + "permissions": { + "quote:access": "Abrir menu de cotações", + "quote:create": "Criar cotação", + "quote:read": "Visualizar cotações", + "quote:update": "Atualizar cotações", + "quote:delete": "Excluir cotações" + }, + "settings": { + "Quotes": { + "Status": { + "title": "Status de cotações", + "description": "Lista de status de cotações válidos" + }, + "DefaultStatus": { + "title": "Status padrão de cotação", + "description": "Este status será atribuído à cotação criada a partir do carrinho de compras" + }, + "QuoteRequestNewNumberTemplate": { + "title": "Modelo de número de solicitação de cotação", + "description": "Este modelo ou padrão será usado para gerar números para novas solicitações de cotação. 0 é a data e hora (UTC) quando o número foi gerado, enquanto 1 é o número de sequência" + }, + "EnableQuotes": { + "title": "Habilitar cotações", + "description": "Ative o interruptor para ativar cotações na loja" + } + } + }, + "file-upload-error": { + "status": "Erro", + "status-text": "Falha no upload do arquivo", + "invalid-configuration": "O escopo de upload de arquivo não está configurado", + "template": "{{fileName}}: {{errorMessage}}", + "duplicate-name": "Já existe um arquivo com o mesmo nome", + "INVALID_SIZE": "O tamanho do arquivo excede {{parameter}} bytes", + "INVALID_EXTENSION": "O tipo de arquivo não é um dos tipos permitidos ({{parameter}})", + "UNKNOWN_ERROR": "Erro desconhecido: {{message}}" + }, + "module": { + "VirtoCommerce.Quote": { + "description": "Exportar ou importar solicitações de cotação (RFQs)" + } + } +} \ No newline at end of file diff --git a/src/VirtoCommerce.QuoteModule.Web/Localizations/ru.VirtoCommerce.Quote.json b/src/VirtoCommerce.QuoteModule.Web/Localizations/ru.VirtoCommerce.Quote.json index c2b2ad1b..6179b7fc 100644 --- a/src/VirtoCommerce.QuoteModule.Web/Localizations/ru.VirtoCommerce.Quote.json +++ b/src/VirtoCommerce.QuoteModule.Web/Localizations/ru.VirtoCommerce.Quote.json @@ -1,29 +1,29 @@ { "quotes": { - "main-menu-title": "Котировки", + "main-menu-title": "Коммерческие предложения", "blades": { "quotes-assets": { - "subtitle": "Назначенные котировки", + "subtitle": "Вложения коммерческого предложения", "labels": { - "drag-note": "Перетащите файлы сюда", + "drag-note": "Перетащите ваши файлы сюда", "select-files": "Выбрать файлы", "progress": "Прогресс", "type": "Тип", - "name": "Название", + "name": "Имя", "actions": "Действия" } }, "quote-detail": { - "subtitle": "Детали котировок", + "subtitle": "Детали коммерческого предложения", "labels": { - "customer": "Покупатель", - "created": "Создан", - "customer-organization": "Организация клиентов", + "customer": "Клиент", + "created": "Создано", + "customer-organization": "Организация клиента", "last-updated": "Последнее обновление", "status": "Статус", - "expiry-date": "Срок действия", + "expiry-date": "Дата истечения срока", "assigned-to": "Назначено", - "rfq-from": "RFQ от", + "rfq-from": "Запрос от", "reminder-date": "Дата напоминания", "general-comment": "Общий комментарий", "internal-comment": "Внутренний комментарий" @@ -32,37 +32,37 @@ "status": "Выбрать...", "expiry-date": "Выбрать дату", "assigned-to": "Выбрать...", - "rfq-from": "Выбрать магазин", + "rfq-from": "Выбрать магазин...", "reminder-date": "Выбрать дату", "general-comment": "Публичный комментарий", - "internal-comment": "Внутренний комментарий" + "internal-comment": "Внутренний комментарий" } }, "quote-items": { "title": "{{title}} позиции", "subtitle": "Редактировать позиции", "labels": { - "new-subtotal": "Новый предварительный итог", + "new-subtotal": "Новый промежуточный итог", "relative-discount": "Относительная скидка", - "shipping-method": "Метод доставки", - "manual-shipping-total": "Общая стоимость доставки", - "sub-total-placed": "Итог (размещенный)", - "adjustment-quote": "Установка Котировки", + "shipping-method": "Способ доставки", + "manual-shipping-total": "Общая стоимость доставки (вручную)", + "sub-total-placed": "Промежуточный итог (размещено)", + "adjustment-quote": "Корректировка", "sub-total": "Промежуточный итог", "shipping": "Доставка", "discount": "Скидка", - "grand-total": "Общая сумма", + "grand-total": "Общий итог", "taxes": "Налоги", - "grand-total-incl-tax": "Общая сумма (с учетом налогов)", - "picture": "Картинка", - "comment": "Комментарий к продукту", + "grand-total-incl-tax": "Общий итог (с учетом налогов)", + "picture": "Изображение", + "comment": "Комментарий к товару", "list-price": "Цена по прайс-листу", - "sale-price": "Цена со скидкой", + "sale-price": "Цена продажи", "quantity": "Количество", "proposed-price": "Предлагаемая цена", - "margin": "Маржа (GP)", - "product": "Продукт", - "sku": "SKU" + "margin": "Маржа (ВП)", + "product": "Товар", + "sku": "Артикул" }, "placeholders": { "shipping-method": "Выбрать...", @@ -70,18 +70,18 @@ } }, "quotes-list": { - "title": "Котировки", + "title": "Коммерческие предложения", "labels": { - "quote-number": "Котировка #", + "quote-number": "Номер предложения", "status": "Статус", "items-count": "Количество позиций", - "customer": "Покупатель", + "customer": "Клиент", "created": "Создано", - "no-quotes": "Пока нет котировок" + "no-quotes": "Пока нет коммерческих предложений" } }, "catalog-items-select": { - "title": "Добавить позиции котировки" + "title": "Добавить позицию в коммерческое предложение" } }, "widgets": { @@ -100,56 +100,92 @@ "sub-total": "Промежуточный итог", "shipping": "Доставка", "discount": "Скидка", - "grand-total": "Общая сумма" + "grand-total": "Общий итог" } }, "dialogs": { "quote-requests-delete": { "title": "Подтверждение удаления", - "message": "Вы уверены, что хотите удалить выбранные Запросы Котировок?" + "message": "Вы уверены, что хотите удалить выбранный запрос(ы) на коммерческое предложение?" }, "quote-delete": { "title": "Подтверждение удаления", - "message": "Вы уверены, что хотите удалить эту Котировку?" + "message": "Вы уверены, что хотите удалить это коммерческое предложение?" }, "quote-save": { - "title": "Сохранение изменений", - "message": "Котировка была изменена. Вы хотите сохранить изменения?" + "title": "Сохранить изменения", + "message": "Коммерческое предложение было изменено. Хотите сохранить изменения?" }, "quote-cancel": { - "title": "Аннулирование Котировки", - "message": "Вы уверены, что хотите аннулировать эту котировку?", + "title": "Отменить коммерческое предложение", + "message": "Вы уверены, что хотите отменить это коммерческое предложение?", "placeholders": { - "reason": "Введите причину аннулирования..." + "reason": "Введите причину здесь..." } - }, "proposal-submit": { "title": "Подтверждение предложения", - "message": "После отправления предложения будут доступны лишь незначительные правки. Вы действительно хотите отправить это предложение покупателю?" + "message": "После отправки вашего предложения некоторые части вашего коммерческого предложения будут заблокированы и не могут быть изменены. Вы уверены, что хотите продолжить?" }, "proposal-submit-with-warning": { "title": "Неполное предложение", - "message": "Предупреждение: Ваша квота будет отправлена ​​без каких-либо позиций или с нулевой общей суммой. Пожалуйста, убедитесь, что все позиции перечислены и оценены надлежащим образом, прежде чем продолжить. Вы уверены, что хотите продолжить?" + "message": "Предупреждение: Предложение отсутствует или итоговая сумма равна нулю. Пожалуйста, убедитесь, что все позиции указаны и правильно оценены перед продолжением. Вы уверены, что хотите продолжить?" }, "hold-confirmation": { - "title": "Ожидание подтверждения", - "message-release": "Вы уверены, что хотите исключить это из квоты?", - "message-place": "Вы уверены, что хотите переместить в Ожидание эту квоту?" + "title": "Подтверждение приостановки", + "message-release": "Вы уверены, что хотите возобновить это коммерческое предложение?", + "message-place": "Вы уверены, что хотите приостановить это коммерческое предложение?" } }, "commands": { - "release-hold": "Отменить Ожидание", - "place-on-hold": "Переместить В Ожидание", + "release-hold": "Возобновить", + "place-on-hold": "Приостановить", "submit-proposal": "Отправить предложение", - "cancel-document": "Аннулировать документ", - "add-selected": "Добавить выбранные", - "add-item": "Добавить позиции" + "cancel-document": "Отменить документ", + "add-selected": "Добавить выбранное", + "add-item": "Добавить позицию" + } + }, + "permissions": { + "quote:access": "Открыть меню коммерческих предложений", + "quote:create": "Создать коммерческое предложение", + "quote:read": "Просмотреть коммерческие предложения", + "quote:update": "Обновить коммерческие предложения", + "quote:delete": "Удалить коммерческие предложения" + }, + "settings": { + "Quotes": { + "Status": { + "title": "Статусы коммерческих предложений", + "description": "Список допустимых статусов коммерческих предложений" + }, + "DefaultStatus": { + "title": "Статус по умолчанию для коммерческого предложения", + "description": "Этот статус будет присвоен коммерческому предложению, созданному из корзины" + }, + "QuoteRequestNewNumberTemplate": { + "title": "Шаблон номера запроса на коммерческое предложение", + "description": "Этот шаблон или паттерн будет использоваться для генерации номеров для новых запросов на коммерческие предложения. 0 - это дата и время (UTC), когда был сгенерирован номер, а 1 - порядковый номер" + }, + "EnableQuotes": { + "title": "Включить коммерческие предложения", + "description": "Включите переключатель для активации коммерческих предложений в магазине" + } } }, + "file-upload-error": { + "status": "Ошибка", + "status-text": "Загрузка файла не удалась", + "invalid-configuration": "Область загрузки файлов не настроена", + "template": "{{fileName}}: {{errorMessage}}", + "duplicate-name": "Файл с таким именем уже существует", + "INVALID_SIZE": "Размер файла превышает {{parameter}} байт", + "INVALID_EXTENSION": "Тип файла не является одним из разрешенных типов ({{parameter}})", + "UNKNOWN_ERROR": "Неизвестная ошибка: {{message}}" + }, "module": { "VirtoCommerce.Quote": { - "description": "Экспорт/Импорт запросов котировок (RFQ)" + "description": "Экспорт или импорт запросов на коммерческие предложения (RFQ)" } } -} +} \ No newline at end of file diff --git a/src/VirtoCommerce.QuoteModule.Web/Localizations/zh.VirtoCommerce.Quote.json b/src/VirtoCommerce.QuoteModule.Web/Localizations/zh.VirtoCommerce.Quote.json new file mode 100644 index 00000000..cf7af015 --- /dev/null +++ b/src/VirtoCommerce.QuoteModule.Web/Localizations/zh.VirtoCommerce.Quote.json @@ -0,0 +1,191 @@ +{ + "quotes": { + "main-menu-title": "报价单", + "blades": { + "quotes-assets": { + "subtitle": "报价单附件", + "labels": { + "drag-note": "将文件拖放到此处", + "select-files": "选择文件", + "progress": "进度", + "type": "类型", + "name": "名称", + "actions": "操作" + } + }, + "quote-detail": { + "subtitle": "报价单详情", + "labels": { + "customer": "客户", + "created": "创建时间", + "customer-organization": "客户公司", + "last-updated": "最后更新", + "status": "状态", + "expiry-date": "有效期", + "assigned-to": "分配给", + "rfq-from": "询价来源", + "reminder-date": "提醒日期", + "general-comment": "一般评论", + "internal-comment": "内部评论" + }, + "placeholders": { + "status": "选择...", + "expiry-date": "选择日期", + "assigned-to": "选择...", + "rfq-from": "选择商店...", + "reminder-date": "选择日期", + "general-comment": "公开评论", + "internal-comment": "内部评论" + } + }, + "quote-items": { + "title": "{{title}}项目", + "subtitle": "编辑项目", + "labels": { + "new-subtotal": "新小计", + "relative-discount": "相对折扣", + "shipping-method": "配送方式", + "manual-shipping-total": "总运费(手动)", + "sub-total-placed": "小计(已下单)", + "adjustment-quote": "调整", + "sub-total": "小计", + "shipping": "运费", + "discount": "折扣", + "grand-total": "总计", + "taxes": "税费", + "grand-total-incl-tax": "总计(含税)", + "picture": "图片", + "comment": "产品评论", + "list-price": "目录价", + "sale-price": "销售价", + "quantity": "数量", + "proposed-price": "建议价格", + "margin": "利润率(毛利)", + "product": "产品", + "sku": "SKU" + }, + "placeholders": { + "shipping-method": "选择...", + "comment": "输入评论" + } + }, + "quotes-list": { + "title": "报价单", + "labels": { + "quote-number": "报价单号", + "status": "状态", + "items-count": "项目数量", + "customer": "客户", + "created": "创建时间", + "no-quotes": "暂无报价单" + } + }, + "catalog-items-select": { + "title": "添加项目到报价单" + } + }, + "widgets": { + "quote-address": { + "address-type": "地址类型", + "no-address": "无地址", + "blade-subtitle": "管理地址" + }, + "quotes-assets": { + "title": "附件" + }, + "quote-items": { + "title": "项目" + }, + "quote-totals": { + "sub-total": "小计", + "shipping": "运费", + "discount": "折扣", + "grand-total": "总计" + } + }, + "dialogs": { + "quote-requests-delete": { + "title": "确认删除", + "message": "您确定要删除所选的报价请求吗?" + }, + "quote-delete": { + "title": "确认删除", + "message": "您确定要删除此报价单吗?" + }, + "quote-save": { + "title": "保存更改", + "message": "报价单已被修改。您想保存更改吗?" + }, + "quote-cancel": { + "title": "取消报价单", + "message": "您确定要取消此报价单吗?", + "placeholders": { + "reason": "在此输入原因..." + } + }, + "proposal-submit": { + "title": "确认提案", + "message": "提交提案后,报价单的某些部分将被锁定且无法修改。您确定要继续吗?" + }, + "proposal-submit-with-warning": { + "title": "不完整的报价提案", + "message": "警告:报价缺失或总额为零。请确保所有项目都已列出并正确定价后再继续。您确定要继续吗?" + }, + "hold-confirmation": { + "title": "确认暂停", + "message-release": "您确定要重新激活此报价单吗?", + "message-place": "您确定要暂停此报价单吗?" + } + }, + "commands": { + "release-hold": "重新激活", + "place-on-hold": "暂停", + "submit-proposal": "提交提案", + "cancel-document": "取消文档", + "add-selected": "添加所选", + "add-item": "添加项目" + } + }, + "permissions": { + "quote:access": "打开报价单菜单", + "quote:create": "创建报价单", + "quote:read": "查看报价单", + "quote:update": "更新报价单", + "quote:delete": "删除报价单" + }, + "settings": { + "Quotes": { + "Status": { + "title": "报价单状态", + "description": "有效报价单状态列表" + }, + "DefaultStatus": { + "title": "默认报价单状态", + "description": "此状态将分配给从购物车创建的报价单" + }, + "QuoteRequestNewNumberTemplate": { + "title": "报价请求新编号模板", + "description": "此模板或模式将用于为新的报价请求生成编号。0是生成编号时的日期和时间(UTC),而1是序列号" + }, + "EnableQuotes": { + "title": "启用报价单", + "description": "启用开关以在商店中激活报价单" + } + } + }, + "file-upload-error": { + "status": "错误", + "status-text": "文件上传失败", + "invalid-configuration": "文件上传范围未配置", + "template": "{{fileName}}: {{errorMessage}}", + "duplicate-name": "已存在同名文件", + "INVALID_SIZE": "文件大小超过{{parameter}}字节", + "INVALID_EXTENSION": "文件类型不是允许的类型之一({{parameter}})", + "UNKNOWN_ERROR": "未知错误:{{message}}" + }, + "module": { + "VirtoCommerce.Quote": { + "description": "导出或导入报价请求(RFQ)" + } + } +} \ No newline at end of file From b11b7ac15c12a01526f1ee94e91ffa4ea7163eba Mon Sep 17 00:00:00 2001 From: vc-ci Date: Fri, 25 Oct 2024 06:34:33 +0000 Subject: [PATCH 5/5] 3.818.0 --- Directory.Build.props | 2 +- src/VirtoCommerce.QuoteModule.Web/module.manifest | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 1b39958c..b2221a88 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -2,7 +2,7 @@ - 3.817.0 + 3.818.0 $(VersionSuffix)-$(BuildNumber) diff --git a/src/VirtoCommerce.QuoteModule.Web/module.manifest b/src/VirtoCommerce.QuoteModule.Web/module.manifest index 8fcce182..88214a58 100644 --- a/src/VirtoCommerce.QuoteModule.Web/module.manifest +++ b/src/VirtoCommerce.QuoteModule.Web/module.manifest @@ -1,7 +1,7 @@ VirtoCommerce.Quote - 3.817.0 + 3.818.0 3.841.0