packages/upgrade/src/versions/core-2/common/removed-localization-keys.md
As part of the redesign of Clerk's components, a number of localization keys have been removed as they were no longer present in the new designs. You should remove any of these keys that are present in your localization object as they are no longer needed.
const deletedKeys = [
'formFieldLabel__emailAddress_phoneNumber',
'formFieldLabel__phoneNumber_username',
'formFieldLabel__emailAddress_phoneNumber_username',
'formFieldInputPlaceholder__emailAddress_phoneNumber',
'formFieldInputPlaceholder__phoneNumber_username',
'formFieldInputPlaceholder__emailAddress_phoneNumber_username',
'signIn.forgotPassword.title_email',
'signIn.forgotPassword.title_phone',
'signIn.forgotPassword.formSubtitle_email',
'signIn.forgotPassword.formSubtitle_phone',
'signIn.emailCode.formSubtitle',
'signIn.phoneCode.formSubtitle',
'signIn.phoneCodeMfa.formSubtitle',
'signIn.totpMfa.formSubtitle',
'signIn.backupCodeMfa.formTitle',
'signIn.backupCodeMfa.formSubtitle',
'userProfile.start.headerSubtitle__account',
'userProfile.start.headerSubtitle__security',
'userProfile.start.usernameSection.primaryButton__changeUsername',
'userProfile.start.emailAddressesSection.detailsTitle__primary',
'userProfile.start.emailAddressesSection.detailsSubtitle__primary',
'userProfile.start.emailAddressesSection.detailsTitle__nonPrimary',
'userProfile.start.emailAddressesSection.detailsSubtitle__nonPrimary',
'userProfile.start.emailAddressesSection.detailsTitle__unverified',
'userProfile.start.emailAddressesSection.detailsSubtitle__unverified',
'userProfile.start.emailAddressesSection.destructiveActionTitle',
'userProfile.start.emailAddressesSection.destructiveActionSubtitle',
'userProfile.start.phoneNumbersSection.detailsTitle__primary',
'userProfile.start.phoneNumbersSection.detailsSubtitle__primary',
'userProfile.start.phoneNumbersSection.detailsTitle__nonPrimary',
'userProfile.start.phoneNumbersSection.detailsSubtitle__nonPrimary',
'userProfile.start.phoneNumbersSection.detailsTitle__unverified',
'userProfile.start.phoneNumbersSection.detailsSubtitle__unverified',
'userProfile.start.phoneNumbersSection.destructiveActionTitle',
'userProfile.start.phoneNumbersSection.destructiveActionSubtitle',
'userProfile.start.connectedAccountsSection.title__conectionFailed',
'userProfile.start.connectedAccountsSection.title__connectionFailed',
'userProfile.start.connectedAccountsSection.title__reauthorize',
'userProfile.start.connectedAccountsSection.actionLabel__conectionFailed',
'userProfile.start.connectedAccountsSection.destructiveActionSubtitle',
'userProfile.start.connectedAccountsSection.destructiveActionAccordionSubtitle',
'userProfile.start.passwordSection.primaryButton__changePassword',
'userProfile.start.mfaSection.phoneCode.destructiveActionTitle',
'userProfile.start.mfaSection.phoneCode.destructiveActionSubtitle',
'userProfile.start.mfaSection.phoneCode.title__default',
'userProfile.start.mfaSection.phoneCode.title__setDefault',
'userProfile.start.mfaSection.phoneCode.subtitle__default',
'userProfile.start.mfaSection.phoneCode.subtitle__setDefault',
'userProfile.start.mfaSection.totp.title',
'userProfile.start.mfaSection.totp.subtitle',
'userProfile.start.mfaSection.totp.destructiveActionSubtitle',
'userProfile.start.mfaSection.totp.destructiveActionLabel',
'userProfile.start.activeDevicesSection.primaryButton',
'userProfile.start.activeDevicesSection.detailsTitle',
'userProfile.start.activeDevicesSection.detailsSubtitle',
'userProfile.start.activeDevicesSection.destructiveActionTitle',
'userProfile.start.activeDevicesSection.destructiveActionSubtitle',
'userProfile.start.web3WalletsSection.destructiveActionTitle',
'userProfile.start.web3WalletsSection.destructiveActionSubtitle',
'userProfile.start.dangerSection.deleteAccountTitle',
'userProfile.start.dangerSection.deleteAccountDescription',
'userProfile.profilePage.fileDropAreaTitle',
'userProfile.profilePage.fileDropAreaAction',
'userProfile.usernamePage.title',
'userProfile.phoneNumberPage.infoText__secondary',
'userProfile.passwordPage.title',
'userProfile.passwordPage.changePasswordTitle',
'userProfile.passwordPage.successMessage',
'userProfile.passwordPage.changePasswordSuccessMessage',
'userProfile.passwordPage.sessionsSignedOutSuccessMessage',
'userProfile.mfaPhoneCodePage.successMessage',
'organizationProfile.start.headerTitle__settings',
'organizationProfile.start.headerSubtitle__members',
'organizationProfile.start.headerSubtitle__settings',
'organizationProfile.profilePage.subtitle',
'organizationProfile.profilePage.domainSection.unverifiedDomain_menuAction__verify',
'organizationProfile.profilePage.domainSection.unverifiedDomain_menuAction__remove',
'organizationProfile.verifiedDomainPage.enrollmentTab.formButton__save',
'organizationProfile.membersPage.start.headerTitle__active',
'organizationProfile.membersPage.start.headerTitle__invited',
'organizationProfile.membersPage.invitationsTab.manualInvitations.headerTitle',
'organizationProfile.membersPage.invitationsTab.manualInvitations.headerSubtitle',
'organizationProfile.membersPage.requestsTab.requests.headerTitle',
'organizationProfile.membersPage.requestsTab.requests.headerSubtitle',
'createOrganization.subtitle',
];
If you'd like to automate this, you can use the lodash omit function as such:
import { omit } from 'lodash-es';
const localization = omit(yourOldOject, deletedKeys);