diff --git a/src/fields/traverseFields.ts b/src/fields/traverseFields.ts index 07f06ca748..f2fda2dfcd 100644 --- a/src/fields/traverseFields.ts +++ b/src/fields/traverseFields.ts @@ -81,7 +81,7 @@ const traverseFields = (args: Arguments): void => { dataCopy[field.name] = JSON.parse(data[field.name] as string); } - const hasLocalizedValue = (typeof data[field.name] === 'object' && data[field.name] !== null) + const hasLocalizedValue = (typeof data?.[field.name] === 'object' && data?.[field.name] !== null) && field.name && field.localized && locale !== 'all' diff --git a/src/localization/plugin.ts b/src/localization/plugin.ts index 40eba807f5..32d9a1c626 100644 --- a/src/localization/plugin.ts +++ b/src/localization/plugin.ts @@ -73,18 +73,6 @@ export default function localizationPlugin(schema: any, options): void { return value; }) .set(function (value) { - // multiple locales are set as an object - if (value && typeof value === 'object' && !Array.isArray(value)) { - const { locales } = options; - locales.forEach((locale) => { - if (!value[locale]) { - return; - } - this.set(`${path}.${locale}`, value[locale]); - }, this); - return; - } - // embedded and sub-documents will use locale methods from the top level document const owner = this.ownerDocument ? this.ownerDocument() : this; const locale = owner.getLocale();