Skip to content

Commit 3337403

Browse files
authored
fix(plugin-ecommerce): translations not being mapped correctly (#15205)
Fixes translations not being mapped correctly into the config causing raw strings to be displayed
1 parent 734453d commit 3337403

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

packages/plugin-ecommerce/src/index.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
import type { AcceptedLanguages } from '@payloadcms/translations'
12
import type { Config, Endpoint } from 'payload'
23

34
import { deepMergeSimple } from 'payload/shared'
45

6+
import type { PluginDefaultTranslationsObject } from './translations/types.js'
57
import type { EcommercePluginConfig, SanitizedEcommercePluginConfig } from './types/index.js'
68

79
import { createAddressesCollection } from './collections/addresses/createAddressesCollection.js'
@@ -316,6 +318,33 @@ export const ecommercePlugin =
316318
incomingConfig.i18n?.translations,
317319
)
318320

321+
/**
322+
* Merge plugin translations
323+
*/
324+
if (!incomingConfig.i18n) {
325+
incomingConfig.i18n = {}
326+
}
327+
Object.entries(translations).forEach(([locale, pluginI18nObject]) => {
328+
const typedLocale = locale as AcceptedLanguages
329+
if (!incomingConfig.i18n!.translations) {
330+
incomingConfig.i18n!.translations = {}
331+
}
332+
if (!(typedLocale in incomingConfig.i18n!.translations)) {
333+
incomingConfig.i18n!.translations[typedLocale] = {}
334+
}
335+
if (!('plugin-ecommerce' in incomingConfig.i18n!.translations[typedLocale]!)) {
336+
;(incomingConfig.i18n!.translations[typedLocale] as PluginDefaultTranslationsObject)[
337+
'plugin-ecommerce'
338+
] = {} as PluginDefaultTranslationsObject['plugin-ecommerce']
339+
}
340+
341+
;(incomingConfig.i18n!.translations[typedLocale] as PluginDefaultTranslationsObject)[
342+
'plugin-ecommerce'
343+
] = {
344+
...pluginI18nObject.translations['plugin-ecommerce'],
345+
}
346+
})
347+
319348
if (!incomingConfig.typescript) {
320349
incomingConfig.typescript = {}
321350
}

0 commit comments

Comments
 (0)