Billy Remake
Billy Remake

Reputation: 35

i18n camespace in SAP Commerce / Spartacus

I dont get how namespaces work in SAP Commerce. (https://sap.github.io/spartacus-docs/1.x/i18n/)

How i think it works is as follows:

with the last part i have my problem. I don't know where to put it and my project just uses the default one. How do do i find that?

Upvotes: -1

Views: 154

Answers (1)

I recommend using translation chunks as described there: https://sap.github.io/spartacus-docs/i18n/#configuring-chunks-and-namespace-mapping

Working solution. In app.module.ts in providers provide this config:

provideConfig({
    i18n: {
        backend: {
            loadPath: 'assets/i18n-assets/{{lng}}/{{ns}}.json',
        },
        chunks: {
            'forms': ['updatePasswordForm'],
        },
    },

}),

Afterwards, we can create a json file in src/assets/i18n-assets/en/forms.json and inside this file add the following lines:

{
    "updatePasswordForm": {
        "oldPassword": {
            "placeholder": "Old password"
        }
    }
}

Explanation

loadPath defines the place where the translation chunks will be located.

{{lng}} defines a folder for translations language, e.g., en, de etc.

{{ns}} is placeholder for chunks. In chunks we defined 'forms' field which corresponds to our translations file - forms.json.

Also, we have to map translations to namespaces - we have defined that our forms.json file contains namespaces ['updatePasswordForm'], so when translations will be needed for namespaces that starts with updatePasswordForm, the forms.json file will be loaded.

Upvotes: 1

Related Questions