From c026e60555d4c3db1034ab5dea2035acf7defd2f Mon Sep 17 00:00:00 2001
From: mglatter <79203653+mglatter@users.noreply.github.com>
Date: Fri, 23 Aug 2024 11:22:41 +0200
Subject: [PATCH] chore: localization and documentation adjustments (#1706)
* adjustments after localization diff review, capitalization of "Punchout"
* localize apostrophes
* used ICU Message Format for pluralization since 'zero' as pluralization case did not work as expected
* migration guide text improvements
---
docs/guides/migrations.md | 67 +++++++++++++++++++-------------------
src/assets/i18n/de_DE.json | 18 +++++-----
src/assets/i18n/en_US.json | 48 +++++++++++++--------------
src/assets/i18n/fr_FR.json | 42 ++++++++++++------------
4 files changed, 88 insertions(+), 87 deletions(-)
diff --git a/docs/guides/migrations.md b/docs/guides/migrations.md
index beff193d24..bfa6450ff4 100644
--- a/docs/guides/migrations.md
+++ b/docs/guides/migrations.md
@@ -15,58 +15,59 @@ kb_sync_latest_only
>
> To use the fitting resource ID encoding for ICM 7.10 or ICM 11, the feature toggle `legacyEncoding` needs to be enabled.
-The function `encodeResourceID` has been moved to a method `encodeResourceId` of the [`api.service`](../../src/app/core/services/api/api.service.ts) and it is now used to encode all dynamic resource IDs in any REST API call to ICM.
-This was previously only done for the login but is now consistently used for all resource IDs.
-For ICM 7.10 and ICM 11 a duplicated `encodeURIComponent` encoding is applied, for ICM 12 and newer a single `encodeURIComponent` encoding with additional `+` character handling is used.
-To migrate custom code a simple search for `encodeResourceID(` and replace with `this.apiService.encodeResourceId(` should be sufficient.
+The function `encodeResourceID` has been moved to a method `encodeResourceId` of the [`api.service`](../../src/app/core/services/api/api.service.ts), and it is now used to encode all dynamic resource IDs in any REST API call to ICM.
+This was previously only done for the login, but is now consistently used for all resource IDs.
+For ICM 7.10 and ICM 11, a duplicated `encodeURIComponent` encoding is applied.
+For ICM 12 and newer, a single `encodeURIComponent` encoding with additional `+` character handling is used.
+To migrate custom code, searching for `encodeResourceID(` and replacing it with `this.apiService.encodeResourceId(` is sufficient.
Please be aware when migrating that there is an intermediate [commit](https://github.com/intershop/intershop-pwa/commit/3e7c0ae2ff1d6e676f98d7c399b70b505f389e16) for the resource ID encoding in the 5.2 release that was improved with a later [commit](https://github.com/intershop/intershop-pwa/commit/TODO_with_release_creation) to work with the `legacyEncoding` feature toggle for ICM 7.10 and ICM 11 encoding not requiring any code adaptions anymore.
The store action and method `addBasketToNewOrderTemplate` of the OrderTemplatesFacade have been renamed to `createOrderTemplateFromLineItems` and refactored slightly.
The Intershop PWA specific Pipes `sanitize`, `makeHref` and `htmlEncode` were renamed using the common `ish` prefix that is used for the other custom Pipes as well.
-When migrating all occurrences of these Pipes need to be renamed to `ishSanitize`, `ishMakeHref` and `ishHtmlEncode`.
-The code generation was adapted to generate new Pipes from the beginning with the correct prefixes now.
+When migrating, rename all occurrences of these Pipes to `ishSanitize`, `ishMakeHref` and `ishHtmlEncode`.
+The code generation has been adapted to generate new Pipes from the beginning with the correct prefixes now.
-A few Stylelint rules were changed and the `.scss` files were adapted.
-`color-function-notation` was changed to the default `modern` resulting in changed color notations from `rgba(0, 0, 0, 0.125)` to `rgb(0 0 0 / 0.125)`
-`scss/no-global-function-names` was enabled resulting in changes e.g. from `map-get($grid-breakpoints, 'xs')` to `map.get($grid-breakpoints, 'xs')` with the necessary `@use` references or from `darken($color-label-new, 20%)` to `color.adjust($color-label-new, $lightness: -20%)`.
-In addition empty comments in `.scss` files are no longer allowed and removed.
-In migration projects either keep the Stylelint rules with the old settings or migrate all your styling files accordingly running `npm run format`.
+A few Stylelint rules have been changed and the `.scss` files have been adapted.
+`color-function-notation` has been changed to the default `modern` resulting in changed color notations from `rgba(0, 0, 0, 0.125)` to `rgb(0 0 0 / 0.125)`.
+`scss/no-global-function-names` has been enabled resulting in changes, e.g., from `map-get($grid-breakpoints, 'xs')` to `map.get($grid-breakpoints, 'xs')` with the necessary `@use` references, or from `darken($color-label-new, 20%)` to `color.adjust($color-label-new, $lightness: -20%)`.
+In addition, empty comments in `.scss` files are no longer allowed and have been removed.
+In migration projects, either keep the Stylelint rules with the old settings or migrate all your styling files accordingly running `npm run format`.
-With the Intershop PWA version 5.2.0 the rendering of our demo/example view contexts was disabled by default.
+With Intershop PWA version 5.2.0, the rendering of our demo/example view contexts was disabled by default.
Each integrated view context triggers a REST call that will potentially decrease the SSR rendering performance, something that is not necessary if this feature is not actively used in a PWA project.
-For that reason the examples were commented out in the source code and have to be activated in the project source code if needed.
+For this reason, the examples were commented out in the source code and have to be activated in the project source code if needed.
See [CMS Integration - View Contexts](../concepts/cms-integration.md#view-contexts) for more information.
-The `ExternalDisplayPropertiesProvider` `setup` notation was changed from providing only the `product` context to providing a combined `{ product, prices }` context object.
-For that reason any custom `ContextDisplayPropertiesService` that implements the `ExternalDisplayPropertiesProvider` needs to be adapted accordingly (see the changes of #1657).
+The `ExternalDisplayPropertiesProvider` `setup` notation has been changed from providing only the `product` context to providing a combined `{ product, prices }` context object.
+For this reason, any custom `ContextDisplayPropertiesService` that implements the `ExternalDisplayPropertiesProvider` needs to be adapted accordingly (see the changes of #1657).
-The dead code detection script was improved and extended and is now checking Angular components in more detail.
+The dead code detection script has been improved and extended and is now checking Angular components in more detail.
This resulted in more variables and methods being declared as `private` and some unused code being removed.
-This should not affect PWA based projects as long as such internal declarations were not used, else compiling will fail and the code would need to be adapted/reverted accordingly.
+This should not affect PWA based projects as long as such internal declarations have not been used, else compiling will fail and the code would need to be adapted/reverted accordingly.
-Product variations were eagerly loaded via effects.
-In projects with a lot of Variations, this can lead to performance issues, especially if the variations data is not needed for the current views.
-For that reason product variations are now loaded lazily through the following changes that might need adaptions with project customizations.
+Product variations have been eagerly loaded via effects.
+In projects with many variations, this can lead to performance issues, especially if the variation data is not needed for the current views.
+For this reason, product variations are now loaded lazily through the following changes that might need adaptions with project customizations.
-- The `variations` property on the product view interface was removed. Variations can now be retrieved via the product context facade or the shopping facade.
+- The `variations` property on the product view interface has been removed. Variations can now be retrieved via the product context facade or the shopping facade.
- The `productMaster` property on the product view model has been removed. The master product should be individually retrieved.
- The `ish-product-item-variations` component has been refactored.
-The Formly wrapper `textarea-description` was renamed to the better suited name `maxlength-description` and the rendering logic and compatibility to the general `description` wrapper was improved.
-The renaming should better convey the fact that this wrapper can be used not only for `ish-textarea-field` (where it is configured by default) but with other input field types as well.
-Besides this the main difference to the general `description` wrapper is its remaining `maxlength` calculation.
-Together with the renaming the implementation was changed so that the description will only be rendered if the according field has a `props.maxLength` value configured.
-And the `props` key to provide an alternative translation key was changed from `customDescription` to `maxLengthDescription`.
-This change provides the possibility to use the `description` wrapper with its `customDescription` together with the `maxlength-description` wrapper with a customized `maxLengthDescription`.
-For the migration of customer projects it needs to be checked whether a `customDescription` is configured for a `ish-textarea-field` and if so it needs to be replaced with `maxLengthDescription`.
-Additionally it needs to be checked if the `textarea-description` wrapper is configured anywhere else then the default assignment to the `ish-textarea-field`.
-If so these wrapper configurations need to be replaced with `maxlength-description`.
+The Formly wrapper `textarea-description` has been renamed to the more appropriate name `maxlength-description`, and the rendering logic and compatibility to the general `description` wrapper has been improved.
+The renaming should better convey the fact that this wrapper can be used not only for `ish-textarea-field` (where it is configured by default), but with other input field types as well.
+Besides this, the main difference to the general `description` wrapper is its remaining `maxlength` calculation.
+Together with the renaming, the implementation has been changed so that the description will only be rendered if the corresponding field has a `props.maxLength` value configured.
+Additionally, the `props` key to provide an alternative translation key has been changed from `customDescription` to `maxLengthDescription`.
+This change allows to use the `description` wrapper with its `customDescription` together with the `maxlength-description` wrapper with a customized `maxLengthDescription`.
+When migrating customer projects, check to see if a `customDescription` is configured for an `ish-textarea-field`, and if so, replace it with `maxLengthDescription`.
+You also need to check if the `textarea-description` wrapper is configured somewhere other than the default assignment to the `ish-textarea-field`.
+If so, replace these wrapper configurations with `maxlength-description`.
-B2B users with the permission `APP_B2B_MANAGE_ORDERS` (only available for admin users in ICM 12.1.0 and higher) see now the orders of all users of the company on the My Account order history page.
-They can filter the orders by buyer in order to see only e.g. the own orders again.
+B2B users with the permission `APP_B2B_MANAGE_ORDERS` (only available for admin users in ICM 12.1.0 and higher) now see the orders of all users of the company on the My Account order history page.
+They can filter the orders by buyer in order to see, e.g., only their own orders again.
-In preparation of the cXML punchout self service configuration we switched from a hidden route parameter that conveys the punchout type context information to an URL query parameter (e.g. `?format=cxml`).
+In preparation of the cXML punchout self service configuration, we switched from a hidden route parameter that conveys the punchout type context information to a URL query parameter (e.g., `?format=cxml`).
So customized routing within the punchout area needs to be adapted accordingly.
## From 5.0 to 5.1
diff --git a/src/assets/i18n/de_DE.json b/src/assets/i18n/de_DE.json
index 402ca9adcf..11a74acde8 100644
--- a/src/assets/i18n/de_DE.json
+++ b/src/assets/i18n/de_DE.json
@@ -1,7 +1,7 @@
{
"account.address.address1.error.required": "Geben Sie eine Straße ein.",
"account.address.apo_fpo.link": "Feldpost",
- "account.address.apo_fpo.tooltip": "Geben Sie APO oder FPO im Feld \"Ort\" ein und wählen Sie eine der drei Möglichkeiten aus dem Auswahlmenü \"Bundesland\": AA für Armed Forces of America, AE für Armed Forces Europe, AP für Armed Forces Pacific.",
+ "account.address.apo_fpo.tooltip": "Geben Sie APO oder FPO im Feld „Ort“ ein und wählen Sie eine der drei Möglichkeiten aus dem Auswahlmenü „Bundesland“: AA für Armed Forces of America, AE für Armed Forces Europe, AP für Armed Forces Pacific.",
"account.address.apo_fpo.tooltip.headline": "Feldpostadressen",
"account.address.city.error.required": "Geben Sie einen Ort ein.",
"account.address.city.label": "Ort",
@@ -354,8 +354,8 @@
"account.punchout.configuration.form.heading.format": "Format",
"account.punchout.configuration.form.heading.mapping": "Mapping",
"account.punchout.configuration.form.heading.transformed-attribute": "Parameterwert",
- "account.punchout.configuration.form.mapping.from.error": "Der \"Mapping von\"-Wert fehlt.",
- "account.punchout.configuration.form.mapping.to.error": "Der \"Mapping nach\"-Wert fehlt.",
+ "account.punchout.configuration.form.mapping.from.error": "Der „Mapping von“-Wert fehlt.",
+ "account.punchout.configuration.form.mapping.to.error": "Der „Mapping nach“-Wert fehlt.",
"account.punchout.configuration.form.tooltip.mapping.content": "Das Daten-Mapping ermöglicht es, Ihrer Konfiguration individuelle Werte zuzuordnen. Die Feldwerte aus dem externen Punchout-Katalog werden Ihrem Procurement-System zugeordnet. Bitte beachten Sie Folgendes:
- Eine Mappingregel kann nur für Felder mit einem Parameterwert eingegeben werden.
- Eine Mappingregel muss immer einen "von"- und einen "nach"-Wert haben, sonst wird sie nicht gespeichert.
- Wenn mehrere Zuordnungsregeln existieren, wird nur die erste Zuordnungsregel angewendet. Eine Verkettung von Regeln ist nicht möglich.
- Eine Regel wird nur einmal innerhalb eines Strings angewendet.
- Ein Sternchen (*) entspricht einer beliebigen Anzahl von Zeichen, zum Beispiel 2345* 23450000.
",
"account.punchout.configuration.form.tooltip.mapping.headline": "Daten-Mapping",
"account.punchout.configuration.form.tooltip.placeholder.headline": "Verfügbare Platzhalter",
@@ -372,15 +372,15 @@
"account.punchout.cxml.configuration.link": "Konfiguration",
"account.punchout.cxml.configuration.no_configuration": "Derzeit ist keine Konfiguration angelegt.",
"account.punchout.cxml.configuration.save_success.message": "Die cXML-Punchout-Konfiguration wurde gespeichert.",
- "account.punchout.cxml.info.url.helptext": "Bitte verwenden Sie die folgende URL für die Punchout-Konfiguration in Ihrem cXML-Procurement-System. Verwenden Sie für die Absender-Anmeldeinformationen den Benutzernamen als \"Identity\" und das Kennwort als \"SharedSecret\".",
+ "account.punchout.cxml.info.url.helptext": "Bitte verwenden Sie die folgende URL für die Punchout-Konfiguration in Ihrem cXML-Procurement-System. Verwenden Sie für die Absender-Anmeldeinformationen den Benutzernamen als „Identity“ und das Kennwort als „SharedSecret“.",
"account.punchout.heading": "Punchout",
"account.punchout.link": "Punchout",
"account.punchout.no.protocols.info": "Punchout-Protokolle werden derzeit nicht unterstützt. Wenn das Problem weiterhin besteht, wenden Sie sich bitte an den Kundensupport.",
"account.punchout.no_user.text": "Derzeit haben Sie keine {{0, translate, account.punchout.type.text}}-Punchout-Benutzer.",
"account.punchout.oci.formatter.aria_label": "Format des Wertes",
"account.punchout.oci.info.url.helptext": "Bitte verwenden Sie die folgende URL für die Konfiguration in Ihrem OCI-Procurement-System. Ersetzen Sie und durch die OCI Punchout-Benutzerdaten und setzen Sie die entsprechend Ihrem Procurement-System.",
- "account.punchout.oci.map_from.aria_label": "Wert 'map from'",
- "account.punchout.oci.map_to.aria_label": "Wert 'map to'",
+ "account.punchout.oci.map_from.aria_label": "Wert „map from“",
+ "account.punchout.oci.map_to.aria_label": "Wert „map to“",
"account.punchout.oci.transform.aria_label": "Parameterwert",
"account.punchout.password.confirmation.error.required": "Bitte bestätigen Sie das Kennwort.",
"account.punchout.password.confirmation.label": "Kennwort bestätigen",
@@ -754,7 +754,7 @@
"checkout.orderReferenceId.success.message": "Ihre Kundenbestellnummer wurde übernommen.",
"checkout.orderReferenceId.title": "Kundenbestellnummer eingeben",
"checkout.order_details.heading": "Bestellübersicht",
- "checkout.order_review.heading.text": "Prüfen Sie die Details Ihrer Bestellung und nehmen Sie, falls notwendig, noch Änderungen vor. Klicken Sie auf \"Bestellung absenden\", um den Bestellvorgang abzuschließen.",
+ "checkout.order_review.heading.text": "Prüfen Sie die Details Ihrer Bestellung und nehmen Sie, falls notwendig, noch Änderungen vor. Klicken Sie auf „Bestellung absenden“, um den Bestellvorgang abzuschließen.",
"checkout.order_review.heading.title": "Ihre Bestelldaten prüfen",
"checkout.order_review.send.button": "Bestellung absenden",
"checkout.order_summary.heading": "Bestellübersicht",
@@ -1066,7 +1066,7 @@
"product.reviews.your_review.heading": "Ihre Produktbewertung",
"product.short_description.label": "Kurzbeschreibung",
"product.specific_attributes.label": "Spezifische Attribute",
- "product.variations.text": "{{ 0, plural, zero{keine Variationen} one{eine Variation} other{# Variationen}}}",
+ "product.variations.text": "{{ 0, plural, =0{Keine Variationen} =1{Eine Variation} other{# Variationen}}}",
"product.warranty.code.text": "Garantie-Code:",
"product.warranty.detail.text": "Details",
"product.warranty.expire_date.text": "Läuft aus am:",
@@ -1251,7 +1251,7 @@
"store_locator.form.country.label": "Land",
"store_locator.form.postalCode.label": "PLZ",
"store_locator.form.submit.label": "Suchen",
- "store_locator.howto": "Wählen Sie einfach ein Land aus der Dropdown-Liste aus, geben Sie Bundesland, Postleitzahl oder Stadt ein und klicken Sie auf \"Suchen\".",
+ "store_locator.howto": "Wählen Sie einfach ein Land aus der Dropdown-Liste aus, geben Sie Bundesland, Postleitzahl oder Stadt ein und klicken Sie auf „Suchen“.",
"store_locator.link.subtitle": "Finden Sie eine Filiale in Ihrer Nähe",
"store_locator.link.title": "Filialen",
"store_locator.notFound": "Keine Filiale gefunden:
Leider gibt es keine Filiale in dieser Region.
Sie können unsere Produkte jedoch jederzeit im Online-Shop bestellen.
",
diff --git a/src/assets/i18n/en_US.json b/src/assets/i18n/en_US.json
index ef7674d3ef..cea4d91179 100644
--- a/src/assets/i18n/en_US.json
+++ b/src/assets/i18n/en_US.json
@@ -151,7 +151,7 @@
"account.create.benefit4.text": "Comprehensive view of your order history",
"account.create.benefit5.text": "Quick access to products saved in your shopping cart",
"account.create.button.label": "Create account",
- "account.customer.approval.message": "Your account needs to be approved. We will send an e-mail to {{0}} once your account is active and you can login.
Please contact our customer service if you have any questions.",
+ "account.customer.approval.message": "Your account needs to be approved. We will send an e-mail to {{0}} once your account is active and you can log in.
Please contact our customer service if you have any questions.",
"account.customer.registered.title": "Thanks for registering!",
"account.date.month": "Month",
"account.date.month.error.required": "Please select a month.",
@@ -168,8 +168,8 @@
"account.forgotdata.password_retrieval_info.text": "For security purposes, please provide your e-mail address and submit the form. If the information you entered is correct, we will send you an e-mail with a link. Follow this link to create a new password. If you have any problems or need help, please contact our customer service.",
"account.go_to_account.aria_label": "Go to account",
"account.help.heading": "Help topics",
- "account.login.addresses.message": "Please login to your account to update addresses.",
- "account.login.customer_approval.error.invalid": "Your account requires approval before you can login.",
+ "account.login.addresses.message": "Please log in to your account to update addresses.",
+ "account.login.customer_approval.error.invalid": "Your account requires approval before you can log in.",
"account.login.disabled_customer.error": "Your customer account is disabled.",
"account.login.disabled_user.error": "Your account is disabled.",
"account.login.email.label": "E-mail",
@@ -348,7 +348,7 @@
"account.profile.update_profile.message": "Your profile information has been updated.",
"account.punchout.configuration.back_to_list": "Back to user list",
"account.punchout.configuration.button.label": "Configure",
- "account.punchout.configuration.description": "Specify the return values of the OCI punchout transfer format for your procurement system.",
+ "account.punchout.configuration.description": "Specify the return values of the OCI Punchout transfer format for your procurement system.",
"account.punchout.configuration.form.add_row.link": "Add a row",
"account.punchout.configuration.form.heading.attribute": "Parameter name",
"account.punchout.configuration.form.heading.format": "Format",
@@ -356,29 +356,29 @@
"account.punchout.configuration.form.heading.transformed-attribute": "Parameter value",
"account.punchout.configuration.form.mapping.from.error": "The \"mapping from\" value is missing.",
"account.punchout.configuration.form.mapping.to.error": "The \"mapping to\" value is missing.",
- "account.punchout.configuration.form.tooltip.mapping.content": "The data mapping allows values to be assigned individually to the configuration. The field values are mapped from the external punchout catalog to your procurement system. Please note the following:- A mapping rule can only be entered for fields with a parameter value.
- A mapping rule must always have a "from" and a "to" value, otherwise it will not be saved.
- If multiple mapping rules exist, only the first matching rule will be applied. Chaining rules is not possible.
- A rule is only applied once within a string.
- An asterisk (*) matches any number of characters, e.g. 2345* = 23450000.
",
+ "account.punchout.configuration.form.tooltip.mapping.content": "The data mapping allows values to be assigned individually to the configuration. The field values are mapped from the external Punchout catalog to your procurement system. Please note the following:- A mapping rule can only be entered for fields with a parameter value.
- A mapping rule must always have a "from" and a "to" value, otherwise it will not be saved.
- If multiple mapping rules exist, only the first matching rule will be applied. Chaining rules is not possible.
- A rule is only applied once within a string.
- An asterisk (*) matches any number of characters, e.g. 2345* = 23450000.
",
"account.punchout.configuration.form.tooltip.mapping.headline": "Data mapping",
"account.punchout.configuration.form.tooltip.placeholder.headline": "Available placeholders",
"account.punchout.configuration.heading": "Punchout configuration",
"account.punchout.configuration.link": "Configuration",
"account.punchout.configuration.option.none.label": "None",
- "account.punchout.configuration.save_success.message": "The OCI punchout configuration has been saved.",
+ "account.punchout.configuration.save_success.message": "The OCI Punchout configuration has been saved.",
"account.punchout.configure.link": "Configure {{0}}",
- "account.punchout.create.description": "Please specify your user with your {{0, translate, account.punchout.type.text}} punchout credentials.",
- "account.punchout.create.heading": "Create a new {{0, translate, account.punchout.type.text}} punchout user",
- "account.punchout.create.link": "Create a new punchout user",
+ "account.punchout.create.description": "Please specify your user with your {{0, translate, account.punchout.type.text}} Punchout credentials.",
+ "account.punchout.create.heading": "Create a new {{0, translate, account.punchout.type.text}} Punchout user",
+ "account.punchout.create.link": "Create a new Punchout user",
"account.punchout.cxml.configuration.default.description": "Default value: {{defaultValue}}",
"account.punchout.cxml.configuration.helptext": "Use the following preferences to determine the content of the cXML Punchout document. Set values can be reset to return to the default value as specified.",
"account.punchout.cxml.configuration.link": "Configuration",
"account.punchout.cxml.configuration.no_configuration": "No configuration has been created at this time.",
"account.punchout.cxml.configuration.save_success.message": "The cXML Punchout configuration has been saved.",
- "account.punchout.cxml.info.url.helptext": "Please use the following URL for the punchout configuration in your cXML procurement system. For the sender credentials use the username as \"Identity\" and the password as \"SharedSecret\".",
+ "account.punchout.cxml.info.url.helptext": "Please use the following URL for the Punchout configuration in your cXML procurement system. For the sender credentials use the username as \"Identity\" and the password as \"SharedSecret\".",
"account.punchout.heading": "Punchout",
"account.punchout.link": "Punchout",
"account.punchout.no.protocols.info": "Punchout protocols are currently not supported. If the problem persists, please contact the customer support.",
- "account.punchout.no_user.text": "Currently you don’t have any {{0, translate, account.punchout.type.text}} punchout users.",
+ "account.punchout.no_user.text": "Currently you don’t have any {{0, translate, account.punchout.type.text}} Punchout users.",
"account.punchout.oci.formatter.aria_label": "Format of value",
- "account.punchout.oci.info.url.helptext": "Please use the following URL for the configuration in your OCI procurement system. Replace and with the OCI punchout user credentials and consider setting the according to your procurement system.",
+ "account.punchout.oci.info.url.helptext": "Please use the following URL for the configuration in your OCI procurement system. Replace and with the OCI Punchout user credentials and consider setting the according to your procurement system.",
"account.punchout.oci.map_from.aria_label": "Map from value",
"account.punchout.oci.map_to.aria_label": "Map to value",
"account.punchout.oci.transform.aria_label": "Parameter value",
@@ -387,17 +387,17 @@
"account.punchout.password.label": "Password",
"account.punchout.password.new.confirmation.label": "Confirm new password",
"account.punchout.password.new.label": "New password",
- "account.punchout.subtitle": "Create a punchout user to connect your procurement system with our online shop via punchout protocol.",
+ "account.punchout.subtitle": "Create a Punchout user to connect your procurement system with our online shop via Punchout protocol.",
"account.punchout.type.text": "{{0, select, =oci{OCI} =cxml{cXML}}}",
- "account.punchout.update.description": "You can update the user status or change the password of the punchout user account.",
+ "account.punchout.update.description": "You can update the user status or change the password of the Punchout user account.",
"account.punchout.user.add.button.label": "Add user",
- "account.punchout.user.created.message": "The punchout user \"{{0}}\" has been created.",
- "account.punchout.user.delete.confirmation": "The punchout user \"{{0}}\" has been deleted.",
- "account.punchout.user.delete.text": "Do you really want to delete this punchout user?",
+ "account.punchout.user.created.message": "The Punchout user \"{{0}}\" has been created.",
+ "account.punchout.user.delete.confirmation": "The Punchout user \"{{0}}\" has been deleted.",
+ "account.punchout.user.delete.text": "Do you really want to delete this Punchout user?",
"account.punchout.user.details.heading": "Edit {{0}}",
"account.punchout.user.details.link": "Edit",
"account.punchout.user.list.heading": "{{0, translate, account.punchout.type.text}} Punchout users",
- "account.punchout.user.updated.message": "The punchout user \"{{0}}\" has been updated.",
+ "account.punchout.user.updated.message": "The Punchout user \"{{0}}\" has been updated.",
"account.punchout.username.error.required": "Please enter a username.",
"account.punchout.username.invalid": "Please enter a valid username. It must not contain whitespace characters.",
"account.punchout.username.label": "Username",
@@ -669,7 +669,7 @@
"checkout.address.update.invoice.label": "Edit invoice address",
"checkout.address.update.shipping.label": "Edit shipping address",
"checkout.addresses.billing_address.heading": "Invoice address",
- "checkout.addresses.checkout_as_guest.heading": "Checkout as guest",
+ "checkout.addresses.checkout_as_guest.heading": "Check out as guest",
"checkout.addresses.email.label": "E-mail address",
"checkout.addresses.heading": "Addresses",
"checkout.addresses.no_Selection.error": "Please specify your invoice and shipping address to continue checkout.",
@@ -1066,7 +1066,7 @@
"product.reviews.your_review.heading": "Your product review",
"product.short_description.label": "Short description",
"product.specific_attributes.label": "Specific attributes",
- "product.variations.text": "{{ 0, plural, one{# Variation} other{# Variations}}}",
+ "product.variations.text": "{{ 0, plural, =0{No variations} =1{# variation} other{# variations}}}",
"product.warranty.code.text": "Warranty code:",
"product.warranty.detail.text": "Details",
"product.warranty.expire_date.text": "Expires:",
@@ -1078,8 +1078,8 @@
"promotion.detailslink.label": "Promotion details",
"promotion.detailslink.text": "Details",
"promotion.removelink.text": "Remove",
- "punchout.error.missing.parameters": "Error connecting to the punchout catalog. Required start parameters are missing.",
- "punchout.login_already_exists.error": "A punchout user with that user name already exists. Please check the information for accuracy or enter a different name.",
+ "punchout.error.missing.parameters": "Error connecting to the Punchout catalog. Required start parameters are missing.",
+ "punchout.login_already_exists.error": "A Punchout user with that user name already exists. Please check the information for accuracy or enter a different name.",
"quickorder.page.add.cart": "Add to cart",
"quickorder.page.add.row": "Add another row",
"quickorder.page.add.row.multiple": "Add {{0}} more rows",
@@ -1178,7 +1178,7 @@
"search.noResult.heading": "No results found:",
"search.noResult.message": "Your search for \"{{0}}\" returned 0 results.",
"search.noresult.filtered_products.message": "We are sorry, we could not find any products that match your filter choice.",
- "search.noresult.guidelines": "Search tips & guidelines
- Double check the spelling. Try varying the spelling or browse our lists of product categories that appear on our homepage.
- Limit the search to one or two terms.
- Be less specific in your terminology. Using (a) more general term(s) is likely to lead you to similar and related products.
",
+ "search.noresult.guidelines": "Search tips & guidelines
- Double-check the spelling. Try varying the spelling or browse our lists of product categories that appear on our homepage.
- Limit the search to one or two terms.
- Be less specific in your terminology. Using (a) more general term(s) is likely to lead you to similar and related products.
",
"search.searchbox.button.reset.title": "Remove search term",
"search.searchbox.button.title": "Start search",
"search.searchbox.instructional_text": "Search",
@@ -1223,7 +1223,7 @@
"shopping_cart.ministatus.view_cart.link": "View cart",
"shopping_cart.oci.transfer_basket.button": "Transfer cart",
"shopping_cart.paging.items.label": "{{0, plural, one{# line item} other{# line items}}}",
- "shopping_cart.payment.canceled.text": "Your payment was canceled. You can continue with the checkout or use the express checkout.",
+ "shopping_cart.payment.canceled.text": "Your payment was canceled. Please select another payment method. You can continue with the checkout or use the express checkout.",
"shopping_cart.payment.creditCardExpiryDate.invalid.error": "The credit card expiration date must be 5 characters long and in the format nn/nn, where n is a number.",
"shopping_cart.payment.creditCardNumberRange.invalid.error": "You entered an invalid number for the selected card.",
"shopping_cart.payment.or.text": "or",
diff --git a/src/assets/i18n/fr_FR.json b/src/assets/i18n/fr_FR.json
index d93118b4f3..bc0c4bcbff 100644
--- a/src/assets/i18n/fr_FR.json
+++ b/src/assets/i18n/fr_FR.json
@@ -356,29 +356,29 @@
"account.punchout.configuration.form.heading.transformed-attribute": "Valeur du paramètre",
"account.punchout.configuration.form.mapping.from.error": "La valeur «Mappage de» est manquante.",
"account.punchout.configuration.form.mapping.to.error": "La valeur «Mappage à» est manquante.",
- "account.punchout.configuration.form.tooltip.mapping.content": "Le mappage des données permet d’attribuer des valeurs individuellement à la configuration. Les valeurs des champs sont mappées à partir du catalogue punchout externe vers votre système d’approvisionnement. Veuillez noter ce qui suit:- Une règle de mappage ne peut être saisie que pour les champs ayant une valeur de paramètre.
- Une règle de mappage doit toujours avoir une valeur « de » et une valeur « à », sinon elle ne sera pas sauvegardée.
- Si plusieurs règles de mappage existent, seule la première règle correspondante sera appliquée. Les règles de chaînage ne sont pas possibles.
- Une règle n’est appliquée qu’une fois dans un string.
- Un astérisque (*) correspond à un nombre quelconque de caractères, par exemple 2345* = 23450000.
",
+ "account.punchout.configuration.form.tooltip.mapping.content": "Le mappage des données permet d’attribuer des valeurs individuellement à la configuration. Les valeurs des champs sont mappées à partir du catalogue Punchout externe vers votre système d’approvisionnement. Veuillez noter ce qui suit:- Une règle de mappage ne peut être saisie que pour les champs ayant une valeur de paramètre.
- Une règle de mappage doit toujours avoir une valeur « de » et une valeur « à », sinon elle ne sera pas sauvegardée.
- Si plusieurs règles de mappage existent, seule la première règle correspondante sera appliquée. Les règles de chaînage ne sont pas possibles.
- Une règle n’est appliquée qu’une fois dans un string.
- Un astérisque (*) correspond à un nombre quelconque de caractères, par exemple 2345* = 23450000.
",
"account.punchout.configuration.form.tooltip.mapping.headline": "Mappage des données",
"account.punchout.configuration.form.tooltip.placeholder.headline": "Emplacements disponibles",
- "account.punchout.configuration.heading": "Configuration punchout",
+ "account.punchout.configuration.heading": "Configuration Punchout",
"account.punchout.configuration.link": "Configuration",
"account.punchout.configuration.option.none.label": "Aucun",
- "account.punchout.configuration.save_success.message": "La configuration de l’OCI punchout a été sauvegardée.",
+ "account.punchout.configuration.save_success.message": "La configuration de l’OCI Punchout a été sauvegardée.",
"account.punchout.configure.link": "Configurer {{0}}",
- "account.punchout.create.description": "Veuillez indiquer votre utilisateur avec vos données d’identification {{0, translate, account.punchout.type.text}} punchout.",
- "account.punchout.create.heading": "Créer un nouvel utilisateur {{0, translate, account.punchout.type.text}} punchout",
- "account.punchout.create.link": "Créer un nouvel utilisateur punchout",
+ "account.punchout.create.description": "Veuillez indiquer votre utilisateur avec vos données d’identification {{0, translate, account.punchout.type.text}} Punchout.",
+ "account.punchout.create.heading": "Créer un nouvel utilisateur {{0, translate, account.punchout.type.text}} Punchout",
+ "account.punchout.create.link": "Créer un nouvel utilisateur Punchout",
"account.punchout.cxml.configuration.default.description": "Valeur par défaut : {{defaultValue}}",
- "account.punchout.cxml.configuration.helptext": "Les préférences suivantes permettent de déterminer le contenu du document cXML punchout. Les valeurs définies peuvent être réinitialisées pour revenir à la valeur par défaut spécifiée.",
+ "account.punchout.cxml.configuration.helptext": "Les préférences suivantes permettent de déterminer le contenu du document cXML Punchout. Les valeurs définies peuvent être réinitialisées pour revenir à la valeur par défaut spécifiée.",
"account.punchout.cxml.configuration.link": "Configuration",
"account.punchout.cxml.configuration.no_configuration": "Aucune configuration n’est disponible pour le moment.",
- "account.punchout.cxml.configuration.save_success.message": "La configuration de cXML punchout a été sauvegardée.",
- "account.punchout.cxml.info.url.helptext": "Veuillez utiliser l’URL suivante pour la configuration de Punchout dans votre système d’approvisionnement cXML. Pour les données d’identification de l’expéditeur, utilisez le nom d’utilisateur comme \"Identity\" et le mot de passe comme \"SharedSecret\".",
+ "account.punchout.cxml.configuration.save_success.message": "La configuration de cXML Punchout a été sauvegardée.",
+ "account.punchout.cxml.info.url.helptext": "Veuillez utiliser l’URL suivante pour la configuration de Punchout dans votre système d’approvisionnement cXML. Pour les données d’identification de l’expéditeur, utilisez le nom d’utilisateur comme « Identity » et le mot de passe comme « SharedSecret ».",
"account.punchout.heading": "Punchout",
"account.punchout.link": "Punchout",
- "account.punchout.no.protocols.info": "Les protocoles \"Punchout\" ne sont actuellement pas supportés. Si le problème persiste, veuillez contacter le support client.",
- "account.punchout.no_user.text": "Actuellement, vous n’avez pas d’utilisateurs {{0, translate, account.punchout.type.text}} punchout.",
+ "account.punchout.no.protocols.info": "Les protocoles Punchout ne sont actuellement pas supportés. Si le problème persiste, veuillez contacter le support client.",
+ "account.punchout.no_user.text": "Actuellement, vous n’avez pas d’utilisateurs {{0, translate, account.punchout.type.text}} Punchout.",
"account.punchout.oci.formatter.aria_label": "Format de la valeur",
- "account.punchout.oci.info.url.helptext": "Veuillez utiliser l’URL suivante pour la configuration dans votre système d’approvisionnement \"OCI\". Remplacez et par les données de connexion de l’utilisateur OCI Punchout et utilisez le selon votre système d’approvisionnement.",
+ "account.punchout.oci.info.url.helptext": "Veuillez utiliser l’URL suivante pour la configuration dans votre système d’approvisionnement « OCI ». Remplacez et par les données de connexion de l’utilisateur OCI Punchout et utilisez le selon votre système d’approvisionnement.",
"account.punchout.oci.map_from.aria_label": "Valeur « map from »",
"account.punchout.oci.map_to.aria_label": "Valeur « map to »",
"account.punchout.oci.transform.aria_label": "Valeur du paramètre",
@@ -387,16 +387,16 @@
"account.punchout.password.label": "Mot de passe",
"account.punchout.password.new.confirmation.label": "Confirmez le nouveau mot de passe",
"account.punchout.password.new.label": "Nouveau mot de passe",
- "account.punchout.subtitle": "Créez un utilisateur \"Punchout\" pour connecter votre système d’approvisionnement à notre boutique en ligne via le protocole \"Punchout\".",
+ "account.punchout.subtitle": "Créez un utilisateur Punchout pour connecter votre système d’approvisionnement à notre boutique en ligne via le protocole Punchout.",
"account.punchout.type.text": "{{0, select, =oci{OCI} =cxml{cXML}}}",
- "account.punchout.update.description": "Vous pouvez mettre à jour le statut de l’utilisateur ou modifier le mot de passe du compte utilisateur \"Punchout\".",
+ "account.punchout.update.description": "Vous pouvez mettre à jour le statut de l’utilisateur ou modifier le mot de passe du compte utilisateur Punchout.",
"account.punchout.user.add.button.label": "Ajouter un utilisateur",
"account.punchout.user.created.message": "L’utilisateur Punchout \"{{0}}\" a été créé.",
"account.punchout.user.delete.confirmation": "L’utilisateur Punchout \"{{0}}\" a été supprimé.",
"account.punchout.user.delete.text": "Voulez-vous vraiment supprimer cet utilisateur Punchout ?",
"account.punchout.user.details.heading": "Modifier {{0}}",
"account.punchout.user.details.link": "Modifier",
- "account.punchout.user.list.heading": "Utilisateurs {{0, translate, account.punchout.type.text}} punchout",
+ "account.punchout.user.list.heading": "Utilisateurs {{0, translate, account.punchout.type.text}} Punchout",
"account.punchout.user.updated.message": "L’utilisateur Punchout \"{{0}}\" a été mis à jour.",
"account.punchout.username.error.required": "Veuillez saisir un nom d’utilisateur.",
"account.punchout.username.invalid": "Veuillez saisir un nom d’utilisateur valide. Il ne doit pas contenir d’espaces.",
@@ -568,7 +568,7 @@
"account.wishlists.new_wishlist.confirmation": "Votre liste de souhaits \"{{0}}\" a été créé.",
"account.wishlists.new_wishlist_dialog.header": "Ajouter une liste de souhaits",
"account.wishlists.new_wishlist_form.create_button.text": "Créer",
- "account.wishlists.no_items": "Vous n’avez ajouté aucun article à votre liste de souhaits.",
+ "account.wishlists.no_items": "Vous n’avez ajouté aucun article disponible à votre liste de souhaits.",
"account.wishlists.no_wishlists": "Actuellement vous n’avez aucune liste de souhaits.",
"account.wishlists.table.preferred": "Préférée",
"account.wishlists.widget.heading": "Articles sur votre liste de souhaits",
@@ -864,7 +864,7 @@
"cookies.banner.accept_all": "Autoriser tous",
"cookies.banner.accept_all.tooltip": "Accepter l’utilisation de tous les cookies",
"cookies.banner.accept_only_required": "N’accepter que les essentiels",
- "cookies.banner.accept_only_required.tooltip": "Accepter uniquement l'utilisation des cookies essentiels",
+ "cookies.banner.accept_only_required.tooltip": "Accepter uniquement l’utilisation des cookies essentiels",
"cookies.banner.set_preferences": "Définir les préférences",
"cookies.banner.set_preferences.tooltip": "En savoir plus et gérer les options",
"cookies.banner.text": "Ce site web utilise des cookies et d’autres technologies pour assurer la sécurité de notre site, pour mesurer la performance, pour personnaliser le contenu et pour améliorer votre expérience sur notre site. Pour en savoir plus, lisez notre politique de confidentialité.",
@@ -1066,7 +1066,7 @@
"product.reviews.your_review.heading": "Votre avis sur le produit",
"product.short_description.label": "Description courte",
"product.specific_attributes.label": "Attributs spécifiques",
- "product.variations.text": "{{ 0, plural, one{# Variation} other{# Variations}}}",
+ "product.variations.text": "{{ 0, plural, =0{Aucune variation} =1{Une variation} other{# variations}}}",
"product.warranty.code.text": "Code de garantie",
"product.warranty.detail.text": "Détails",
"product.warranty.expire_date.text": "Expire le :",
@@ -1078,7 +1078,7 @@
"promotion.detailslink.label": "Détails de promotion",
"promotion.detailslink.text": "Détails",
"promotion.removelink.text": "Supprimer",
- "punchout.error.missing.parameters": "Erreur de connexion au catalogue punchout. Le paramètre ... est manquant.",
+ "punchout.error.missing.parameters": "Erreur de connexion au catalogue Punchout. Le paramètre ... est manquant.",
"punchout.login_already_exists.error": "Un utilisateur avec ce nom d’utilisateur existe déjà. Veuillez vérifier l’exactitude des informations ou entrer un nom d’utilisateur différent.",
"quickorder.page.add.cart": "Ajouter au panier",
"quickorder.page.add.row": "Ajouter une ligne supplémentaire",
@@ -1223,7 +1223,7 @@
"shopping_cart.ministatus.view_cart.link": "Afficher le panier",
"shopping_cart.oci.transfer_basket.button": "Transférer le panier",
"shopping_cart.paging.items.label": "{{0, plural, one{# article} other{# articles}}}",
- "shopping_cart.payment.canceled.text": "Votre paiement a été annulé. Veuillez poursuivre le paiement ou utiliser le paiement express.",
+ "shopping_cart.payment.canceled.text": "Votre paiement a été annulé. Veuillez sélectionner un autre mode de paiement. Vous pouvez poursuivre le paiement ou utiliser le paiement express.",
"shopping_cart.payment.creditCardExpiryDate.invalid.error": "La date d’expiration de la carte de crédit doit contenir 5 caractères et être au format nn/nn, où n est un nombre.",
"shopping_cart.payment.creditCardNumberRange.invalid.error": "Vous avez saisi un numéro non valide pour la carte sélectionnée.",
"shopping_cart.payment.or.text": "ou",
@@ -1251,7 +1251,7 @@
"store_locator.form.country.label": "Pays",
"store_locator.form.postalCode.label": "Code postal",
"store_locator.form.submit.label": "Rechercher",
- "store_locator.howto": "Sélectionnez un pays de la liste déroulante, entrez un département, un code postal ou une ville, et cliquez sur \"Rechercher\".",
+ "store_locator.howto": "Sélectionnez un pays de la liste déroulante, entrez un département, un code postal ou une ville, et cliquez sur « Rechercher ».",
"store_locator.link.subtitle": "Trouver un magasin près de chez vous",
"store_locator.link.title": "Magasins",
"store_locator.notFound": "Aucun magasin trouvé:
Désolé, il n’y a pas de magasin dans cette région.
Cependant, vous pouvez toujours commander nos produits dans notre magasin en ligne.
",