From 807b02f7d425ce1f02cb3717c7fbb713852b395c Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Wed, 22 Apr 2026 23:38:12 +0100 Subject: [PATCH 1/6] Add support for POLICYCHANGELOG_UPDATE_MCC_GROUP_CATEGORY policy changelog --- src/CONST/index.ts | 1 + src/languages/en.ts | 2 ++ src/libs/ReportActionsUtils.ts | 11 +++++++++++ .../report/actionContents/PolicyChangeLogContent.tsx | 2 ++ src/types/onyx/OriginalMessage.ts | 9 +++++++++ 5 files changed, 25 insertions(+) diff --git a/src/CONST/index.ts b/src/CONST/index.ts index aaac07e5d513..63583a1f5de4 100644 --- a/src/CONST/index.ts +++ b/src/CONST/index.ts @@ -1556,6 +1556,7 @@ const CONST = { UPDATE_AUTO_HARVESTING: 'POLICYCHANGELOG_UPDATE_AUTOHARVESTING', UPDATE_AUTO_REIMBURSEMENT: 'POLICYCHANGELOG_UPDATE_AUTOREIMBURSEMENT', UPDATE_AUTO_PAY_APPROVED_REPORTS_ENABLED: 'POLICYCHANGELOG_UPDATE_AUTO_PAY_APPROVED_REPORTS_ENABLED', + UPDATE_MCC_GROUP_CATEGORY: 'POLICYCHANGELOG_UPDATE_MCC_GROUP_CATEGORY', UPDATE_AUTO_REPORTING_FREQUENCY: 'POLICYCHANGELOG_UPDATE_AUTOREPORTING_FREQUENCY', UPDATE_BUDGET: 'POLICYCHANGELOG_UPDATE_BUDGET', UPDATE_CATEGORY: 'POLICYCHANGELOG_UPDATE_CATEGORY', diff --git a/src/languages/en.ts b/src/languages/en.ts index 936ae26c37fe..f7c1f9cde8b7 100644 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -7393,6 +7393,8 @@ const translations = { updatedAutoPayApprovedReportsLimit: ({oldLimit, newLimit}: {oldLimit: string; newLimit: string}) => `changed the auto-pay approved reports threshold to "${newLimit}" (previously "${oldLimit}")`, removedAutoPayApprovedReportsLimit: 'removed the auto-pay approved reports threshold', + updatedMccGroupCategory: ({mccGroupName, oldCategory, newCategory}: {mccGroupName: string; oldCategory: string; newCategory: string}) => + `changed the default spend category for "${mccGroupName}" to "${newCategory}" (previously "${oldCategory}")`, changedDefaultApprover: ({newApprover, previousApprover}: {newApprover: string; previousApprover?: string}) => previousApprover ? `changed the default approver to ${newApprover} (previously ${previousApprover})` : `changed the default approver to ${newApprover}`, changedSubmitsToApprover: ({ diff --git a/src/libs/ReportActionsUtils.ts b/src/libs/ReportActionsUtils.ts index 8aaf95c2580e..26f008defa4b 100644 --- a/src/libs/ReportActionsUtils.ts +++ b/src/libs/ReportActionsUtils.ts @@ -3520,6 +3520,16 @@ function getAutoReimbursementMessage(translate: LocalizedTranslate, action: Repo return getReportActionText(action); } +function getMccGroupCategoryMessage(translate: LocalizedTranslate, action: ReportAction): string { + const {mccGroupName, oldCategory, newCategory} = getOriginalMessage(action as ReportAction) ?? {}; + + if (!mccGroupName || !oldCategory || !newCategory) { + return getReportActionText(action); + } + + return translate('workspaceActions.updatedMccGroupCategory', {mccGroupName, oldCategory, newCategory}); +} + type DefaultApproverOriginalMessage = { approver: {email: string; name: string; accountID: number}; previousApprover?: {email: string; name: string; accountID: number}; @@ -4768,6 +4778,7 @@ export { getWorkspaceAttendeeTrackingUpdateMessage, getAutoPayApprovedReportsEnabledMessage, getAutoReimbursementMessage, + getMccGroupCategoryMessage, formatAddressToString, getCompanyAddressUpdateMessage, getDefaultApproverUpdateMessage, diff --git a/src/pages/inbox/report/actionContents/PolicyChangeLogContent.tsx b/src/pages/inbox/report/actionContents/PolicyChangeLogContent.tsx index 45efcc416348..430eca5b1691 100644 --- a/src/pages/inbox/report/actionContents/PolicyChangeLogContent.tsx +++ b/src/pages/inbox/report/actionContents/PolicyChangeLogContent.tsx @@ -22,6 +22,7 @@ import { getForwardsToUpdateMessage, getInvoiceCompanyNameUpdateMessage, getInvoiceCompanyWebsiteUpdateMessage, + getMccGroupCategoryMessage, getPolicyChangeLogAddEmployeeMessage, getPolicyChangeLogDefaultBillableMessage, getPolicyChangeLogDefaultReimbursableMessage, @@ -138,6 +139,7 @@ const POLICY_CHANGE_LOG_RESOLVERS: Record = { [CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_FORWARDS_TO]: (translate, action) => getForwardsToUpdateMessage(translate, action), [CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_AUTO_PAY_APPROVED_REPORTS_ENABLED]: (translate, action) => getAutoPayApprovedReportsEnabledMessage(translate, action), [CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_AUTO_REIMBURSEMENT]: (translate, action) => getAutoReimbursementMessage(translate, action), + [CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MCC_GROUP_CATEGORY]: (translate, action) => getMccGroupCategoryMessage(translate, action), [CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_INVOICE_COMPANY_NAME]: (translate, action) => getInvoiceCompanyNameUpdateMessage(translate, action), [CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_INVOICE_COMPANY_WEBSITE]: (translate, action) => getInvoiceCompanyWebsiteUpdateMessage(translate, action), [CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_REIMBURSER]: (translate, action) => getReimburserUpdateMessage(translate, action), diff --git a/src/types/onyx/OriginalMessage.ts b/src/types/onyx/OriginalMessage.ts index 0f5c7c1a8e89..a6c9b1e73a27 100644 --- a/src/types/onyx/OriginalMessage.ts +++ b/src/types/onyx/OriginalMessage.ts @@ -511,6 +511,15 @@ type OriginalMessagePolicyChangeLog = { /** New default reimbursable value */ newDefaultReimbursable?: string; + /** MCC group name whose default spend category changed (e.g. "Airlines") */ + mccGroupName?: string; + + /** Previous category name for the MCC group */ + oldCategory?: string; + + /** New category name for the MCC group */ + newCategory?: string; + /** Old default report title formula */ oldDefaultTitle?: string; From c24c11b5b37b7f429e08d5998689ca0fb5ca831d Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Wed, 22 Apr 2026 23:38:20 +0100 Subject: [PATCH 2/6] add spanish translation from jamesGPT --- src/languages/es.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/languages/es.ts b/src/languages/es.ts index 97f4ac09c34a..c08d8dd4ec9a 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -7265,6 +7265,8 @@ ${amount} para ${merchant} - ${date}`, updatedAutoPayApprovedReportsLimit: ({oldLimit, newLimit}: {oldLimit: string; newLimit: string}) => `cambió el umbral de autopago de informes aprobados a "${newLimit}" (previamente "${oldLimit}")`, removedAutoPayApprovedReportsLimit: 'eliminó el umbral de autopago de informes aprobados', + updatedMccGroupCategory: ({mccGroupName, oldCategory, newCategory}: {mccGroupName: string; oldCategory: string; newCategory: string}) => + `cambió la categoría de gasto predeterminada para "${mccGroupName}" a "${newCategory}" (previamente "${oldCategory}")`, changedDefaultApprover: ({newApprover, previousApprover}: {newApprover: string; previousApprover?: string}) => previousApprover ? `cambió el aprobador predeterminado a ${newApprover} (anteriormente ${previousApprover})` : `cambió el aprobador predeterminado a ${newApprover}`, changedSubmitsToApprover: ({ From c4e84e52a2ff5a8198bc4fed7d011c2f7f11ced7 Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Wed, 22 Apr 2026 23:39:17 +0100 Subject: [PATCH 3/6] Add handling for POLICYCHANGELOG_UPDATE_MCC_GROUP_CATEGORY message and translations in report names, context menu copy, sidebar, options list --- src/libs/OptionsListUtils/index.ts | 4 ++++ src/libs/ReportNameUtils.ts | 4 ++++ src/libs/SidebarUtils.ts | 3 +++ src/pages/inbox/report/ContextMenu/ContextMenuActions.tsx | 3 +++ 4 files changed, 14 insertions(+) diff --git a/src/libs/OptionsListUtils/index.ts b/src/libs/OptionsListUtils/index.ts index 597fa41545e3..2eb1cf0dddcc 100644 --- a/src/libs/OptionsListUtils/index.ts +++ b/src/libs/OptionsListUtils/index.ts @@ -57,6 +57,7 @@ import { getLastVisibleActionIncludingTransactionThread, getLastVisibleMessage, getMarkedReimbursedMessage, + getMccGroupCategoryMessage, getMentionedAccountIDsFromAction, getMessageOfOldDotReportAction, getOneTransactionThreadReportID, @@ -884,6 +885,9 @@ function getLastMessageTextForReport({ if (isActionOfType(lastReportAction, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_AUTO_REIMBURSEMENT)) { lastMessageTextFromReport = getAutoReimbursementMessage(translate, lastReportAction); } + if (isActionOfType(lastReportAction, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MCC_GROUP_CATEGORY)) { + lastMessageTextFromReport = getMccGroupCategoryMessage(translate, lastReportAction); + } if ( isActionOfType(lastReportAction, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.ADD_TAX) || isActionOfType(lastReportAction, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.DELETE_TAX) || diff --git a/src/libs/ReportNameUtils.ts b/src/libs/ReportNameUtils.ts index 12e319d9a277..1e673785d6a5 100644 --- a/src/libs/ReportNameUtils.ts +++ b/src/libs/ReportNameUtils.ts @@ -57,6 +57,7 @@ import { getInvoiceCompanyWebsiteUpdateMessage, getJoinRequestMessage, getMarkedReimbursedMessage, + getMccGroupCategoryMessage, getMessageOfOldDotReportAction, getOriginalMessage, getPlaidBalanceFailureMessage, @@ -576,6 +577,9 @@ function computeReportNameBasedOnReportAction( if (isActionOfType(parentReportAction, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_AUTO_REIMBURSEMENT)) { return getAutoReimbursementMessage(translate, parentReportAction); } + if (isActionOfType(parentReportAction, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MCC_GROUP_CATEGORY)) { + return getMccGroupCategoryMessage(translate, parentReportAction); + } if (isActionOfType(parentReportAction, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_DEFAULT_APPROVER)) { return getDefaultApproverUpdateMessage(translate, parentReportAction); } diff --git a/src/libs/SidebarUtils.ts b/src/libs/SidebarUtils.ts index 121b82128a28..4bfce4190b67 100644 --- a/src/libs/SidebarUtils.ts +++ b/src/libs/SidebarUtils.ts @@ -61,6 +61,7 @@ import { getInvoiceCompanyWebsiteUpdateMessage, getIOUReportIDFromReportActionPreview, getLastVisibleMessage, + getMccGroupCategoryMessage, getMessageOfOldDotReportAction, getOriginalMessage, getPlaidBalanceFailureMessage, @@ -1078,6 +1079,8 @@ function getOptionData({ result.alternateText = getAutoPayApprovedReportsEnabledMessage(translate, lastAction); } else if (lastAction?.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_AUTO_REIMBURSEMENT) { result.alternateText = getAutoReimbursementMessage(translate, lastAction); + } else if (lastAction?.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MCC_GROUP_CATEGORY) { + result.alternateText = getMccGroupCategoryMessage(translate, lastAction); } else if (lastAction?.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_DEFAULT_APPROVER) { result.alternateText = getDefaultApproverUpdateMessage(translate, lastAction); } else if (lastAction?.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_SUBMITS_TO) { diff --git a/src/pages/inbox/report/ContextMenu/ContextMenuActions.tsx b/src/pages/inbox/report/ContextMenu/ContextMenuActions.tsx index 8484702fa9af..34a77f1ef7a5 100644 --- a/src/pages/inbox/report/ContextMenu/ContextMenuActions.tsx +++ b/src/pages/inbox/report/ContextMenu/ContextMenuActions.tsx @@ -60,6 +60,7 @@ import { getIOUReportIDFromReportActionPreview, getJoinRequestMessage, getMarkedReimbursedMessage, + getMccGroupCategoryMessage, getMemberChangeMessageFragment, getMessageOfOldDotReportAction, getOriginalMessage, @@ -935,6 +936,8 @@ const ContextMenuActions: ContextMenuAction[] = [ Clipboard.setString(getAutoPayApprovedReportsEnabledMessage(translate, reportAction)); } else if (reportAction.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_AUTO_REIMBURSEMENT) { Clipboard.setString(getAutoReimbursementMessage(translate, reportAction)); + } else if (reportAction.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MCC_GROUP_CATEGORY) { + Clipboard.setString(getMccGroupCategoryMessage(translate, reportAction)); } else if (reportAction.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_INVOICE_COMPANY_NAME) { Clipboard.setString(getInvoiceCompanyNameUpdateMessage(translate, reportAction)); } else if (reportAction.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_INVOICE_COMPANY_WEBSITE) { From aaf3eabba4e92b43ad939f4e73fb96de7efe5427 Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Wed, 22 Apr 2026 23:40:22 +0100 Subject: [PATCH 4/6] Add unit tests for getMccGroupCategoryMessage --- tests/unit/ReportActionsUtilsTest.ts | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/tests/unit/ReportActionsUtilsTest.ts b/tests/unit/ReportActionsUtilsTest.ts index 9f35156377ac..a2b2b1438cfa 100644 --- a/tests/unit/ReportActionsUtilsTest.ts +++ b/tests/unit/ReportActionsUtilsTest.ts @@ -28,6 +28,7 @@ import { getHumanAgentFirstName, getInvoiceCompanyNameUpdateMessage, getInvoiceCompanyWebsiteUpdateMessage, + getMccGroupCategoryMessage, getOneTransactionThreadReportID, getOriginalMessage, getPolicyChangeLogMaxExpenseAgeMessage, @@ -4345,6 +4346,42 @@ describe('ReportActionsUtils', () => { }); }); + describe('getMccGroupCategoryMessage', () => { + it('should render the friendly MCC group label that the emitter already resolved', () => { + const action = { + actionName: CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MCC_GROUP_CATEGORY, + reportActionID: '1', + created: '', + originalMessage: { + mccGroupName: 'Airlines', + oldCategory: 'Insurance', + newCategory: 'Travel', + }, + message: [], + } as ReportAction; + + const result = getMccGroupCategoryMessage(translateLocal, action); + expect(result).toBe('changed the default spend category for "Airlines" to "Travel" (previously "Insurance")'); + }); + + it('should pass through a fallback raw groupID when the emitter could not resolve it', () => { + const action = { + actionName: CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MCC_GROUP_CATEGORY, + reportActionID: '1', + created: '', + originalMessage: { + mccGroupName: 'spaceflight', + oldCategory: 'Travel', + newCategory: 'Equipment', + }, + message: [], + } as ReportAction; + + const result = getMccGroupCategoryMessage(translateLocal, action); + expect(result).toBe('changed the default spend category for "spaceflight" to "Equipment" (previously "Travel")'); + }); + }); + describe('isNewerReportAction', () => { const makeAction = (overrides: Partial): ReportAction => ({ From 9e2b08fec47be5c30d76b2c722a0223db695638b Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Wed, 22 Apr 2026 23:40:34 +0100 Subject: [PATCH 5/6] Add unit tests for handling getMccGroupCategoryMessage action in OptionsListUtils, ReportNameUtils, and SidebarUtils --- tests/unit/OptionsListUtilsTest.tsx | 29 ++++++++++++++++++ tests/unit/ReportNameUtilsTest.ts | 38 +++++++++++++++++++++++ tests/unit/SidebarUtilsTest.ts | 47 +++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+) diff --git a/tests/unit/OptionsListUtilsTest.tsx b/tests/unit/OptionsListUtilsTest.tsx index 4fc9910761a3..fad478e3807c 100644 --- a/tests/unit/OptionsListUtilsTest.tsx +++ b/tests/unit/OptionsListUtilsTest.tsx @@ -5064,6 +5064,35 @@ describe('OptionsListUtils', () => { ); }); }); + describe('UPDATE_MCC_GROUP_CATEGORY action', () => { + it('should surface the friendly MCC group label in the last-message preview', async () => { + const report: Report = createRandomReport(0, undefined); + const changelogAction: ReportAction = { + ...createRandomReportAction(1), + actionName: CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MCC_GROUP_CATEGORY, + message: [{type: 'COMMENT', text: ''}], + originalMessage: { + mccGroupName: 'Airlines', + oldCategory: 'Insurance', + newCategory: 'Travel', + }, + }; + await Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${report.reportID}`, { + [changelogAction.reportActionID]: changelogAction, + }); + + const lastMessage = getLastMessageTextForReport({ + translate: translateLocal, + report, + lastActorDetails: null, + policy: undefined, + isReportArchived: false, + currentUserLogin: CURRENT_USER_EMAIL, + }); + + expect(lastMessage).toBe('changed the default spend category for "Airlines" to "Travel" (previously "Insurance")'); + }); + }); }); describe('getPersonalDetailSearchTerms', () => { diff --git a/tests/unit/ReportNameUtilsTest.ts b/tests/unit/ReportNameUtilsTest.ts index ae03f038ae27..33ee46efa87f 100644 --- a/tests/unit/ReportNameUtilsTest.ts +++ b/tests/unit/ReportNameUtilsTest.ts @@ -805,6 +805,44 @@ describe('ReportNameUtils', () => { ); expect(name).toBe('changed card feed "Visa Commercial" statement period end day to "15" (previously "20")'); }); + + test('UPDATE_MCC_GROUP_CATEGORY parent action renders the friendly MCC group label', () => { + const thread: Report = createWorkspaceThread(75); + const parentAction: ReportAction = { + actionName: CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MCC_GROUP_CATEGORY, + reportActionID: String(thread.parentReportActionID), + message: [], + created: '', + lastModified: '', + actorAccountID: 1, + person: [], + originalMessage: { + mccGroupName: 'Airlines', + oldCategory: 'Insurance', + newCategory: 'Travel', + }, + } as unknown as ReportAction; + + const parentId = String(thread.parentReportID); + const actionId = String(thread.parentReportActionID); + const reportActionsCollection: Record = { + [`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${parentId}`]: { + [actionId]: parentAction, + }, + }; + + const name = computeReportName( + thread, + emptyCollections.reports, + emptyCollections.policies, + undefined, + undefined, + participantsPersonalDetails, + reportActionsCollection, + currentUserAccountID, + ); + expect(name).toBe('changed the default spend category for "Airlines" to "Travel" (previously "Insurance")'); + }); }); describe('getReportName (derived value vs fallback)', () => { diff --git a/tests/unit/SidebarUtilsTest.ts b/tests/unit/SidebarUtilsTest.ts index d3e626b7f31d..4e1452ccf8f6 100644 --- a/tests/unit/SidebarUtilsTest.ts +++ b/tests/unit/SidebarUtilsTest.ts @@ -3223,6 +3223,53 @@ describe('SidebarUtils', () => { expect(result?.isConciergeChat).toBe(false); }); }); + + it('renders the UPDATE_MCC_GROUP_CATEGORY changelog with the friendly MCC group label as alternate text', async () => { + const report: Report = { + ...createRandomReport(4, 'policyAdmins'), + lastVisibleActionCreated: '2026-04-22 12:30:03.784', + }; + const lastAction: ReportAction = { + ...createRandomReportAction(2), + message: [{type: 'COMMENT', html: '', text: '', isDeletedParentAction: false, deleted: ''}], + actionName: CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MCC_GROUP_CATEGORY, + actorAccountID: 18921695, + person: [{type: 'TEXT', style: 'strong', text: 'Admin'}], + originalMessage: { + mccGroupName: 'Airlines', + oldCategory: 'Insurance', + newCategory: 'Travel', + }, + }; + const reportActions: ReportActions = {[lastAction.reportActionID]: lastAction}; + await act(async () => { + await Onyx.set(`${ONYXKEYS.COLLECTION.REPORT}${report.reportID}`, report); + await Onyx.set(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${report.reportID}`, reportActions); + }); + + const result = SidebarUtils.getOptionData({ + report, + reportAttributes: undefined, + reportNameValuePairs: {}, + personalDetails: {}, + policy: undefined, + invoiceReceiverPolicy: undefined, + parentReportAction: undefined, + conciergeReportID: '', + oneTransactionThreadReport: undefined, + card: undefined, + translate: translateLocal, + localeCompare, + lastAction, + lastActionReport: undefined, + isReportArchived: undefined, + currentUserAccountID: 0, + currentUserLogin: CURRENT_USER_LOGIN, + reportAttributesDerived: undefined, + }); + + expect(result?.alternateText).toBe('changed the default spend category for "Airlines" to "Travel" (previously "Insurance")'); + }); }); describe('sortReportsToDisplayInLHN', () => { From 26366e8fcaf235ff051b615253305b6019cabd6d Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Tue, 28 Apr 2026 14:57:17 +0100 Subject: [PATCH 6/6] add translations --- src/languages/de.ts | 2 ++ src/languages/fr.ts | 2 ++ src/languages/it.ts | 2 ++ src/languages/ja.ts | 2 ++ src/languages/nl.ts | 2 ++ src/languages/pl.ts | 2 ++ src/languages/pt-BR.ts | 2 ++ src/languages/zh-hans.ts | 2 ++ 8 files changed, 16 insertions(+) diff --git a/src/languages/de.ts b/src/languages/de.ts index 0c8f00926938..6139043348e9 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -7498,6 +7498,8 @@ Fügen Sie weitere Ausgabelimits hinzu, um den Cashflow Ihres Unternehmens zu sc `Kartenfeed-Tag für das Abrechnungsperiodenende von „${feedName}“ geändert${newValue ? ` in „${newValue}“` : ''}${previousValue ? ` (zuvor „${previousValue}“)` : ''}`, addedReportField: ({fieldType, fieldName, defaultValue}: AddedOrDeletedPolicyReportFieldParams) => `${fieldType}-Berichtsfeld „${fieldName}“${defaultValue ? ` mit Standardwert „${defaultValue}“` : ''} hinzugefügt`, + updatedMccGroupCategory: ({mccGroupName, oldCategory, newCategory}: {mccGroupName: string; oldCategory: string; newCategory: string}) => + `hat die Standardausgabenkategorie für „${mccGroupName}“ in „${newCategory}“ geändert (zuvor „${oldCategory}“)`, }, roomMembersPage: { memberNotFound: 'Mitglied nicht gefunden.', diff --git a/src/languages/fr.ts b/src/languages/fr.ts index 62d12fdb43af..e5f4bf384020 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -7520,6 +7520,8 @@ Ajoutez davantage de règles de dépenses pour protéger la trésorerie de l’e `a modifié le jour de fin de période de relevé du flux de carte « ${feedName} »${newValue ? ` à « ${newValue} »` : ''}${previousValue ? ` (précédemment « ${previousValue} »)` : ''}`, addedReportField: ({fieldType, fieldName, defaultValue}: AddedOrDeletedPolicyReportFieldParams) => `a ajouté le champ de note de frais ${fieldType} « ${fieldName} »${defaultValue ? ` avec la valeur par défaut « ${defaultValue} »` : ''}`, + updatedMccGroupCategory: ({mccGroupName, oldCategory, newCategory}: {mccGroupName: string; oldCategory: string; newCategory: string}) => + `a modifié la catégorie de dépense par défaut pour « ${mccGroupName} » en « ${newCategory} » (auparavant « ${oldCategory} »)`, }, roomMembersPage: { memberNotFound: 'Membre introuvable.', diff --git a/src/languages/it.ts b/src/languages/it.ts index 3ed65ebec7b2..c5eb4644ddb2 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -7485,6 +7485,8 @@ Aggiungi altre regole di spesa per proteggere il flusso di cassa aziendale.`, `ha modificato il giorno di fine periodo dell’estratto conto del flusso carta "${feedName}"${newValue ? ` a "${newValue}"` : ''}${previousValue ? ` (in precedenza "${previousValue}")` : ''}`, addedReportField: ({fieldType, fieldName, defaultValue}: AddedOrDeletedPolicyReportFieldParams) => `aggiunto campo di report ${fieldType} "${fieldName}"${defaultValue ? ` con valore predefinito "${defaultValue}"` : ''}`, + updatedMccGroupCategory: ({mccGroupName, oldCategory, newCategory}: {mccGroupName: string; oldCategory: string; newCategory: string}) => + `ha modificato la categoria di spesa predefinita per "${mccGroupName}" in "${newCategory}" (precedentemente "${oldCategory}")`, }, roomMembersPage: { memberNotFound: 'Membro non trovato.', diff --git a/src/languages/ja.ts b/src/languages/ja.ts index 2723e83a119a..08a6e120d38a 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -7394,6 +7394,8 @@ ${reportName} `カード明細フィード「${feedName}」の利用明細期間の終了日を変更しました${newValue ? ` を「${newValue}」に` : ''}${previousValue ? ` (以前の値:「${previousValue}」)` : ''}`, addedReportField: ({fieldType, fieldName, defaultValue}: AddedOrDeletedPolicyReportFieldParams) => `${fieldType}レポートフィールド「${fieldName}」を追加しました${defaultValue ? ` デフォルト値「${defaultValue}」付き` : ''}`, + updatedMccGroupCategory: ({mccGroupName, oldCategory, newCategory}: {mccGroupName: string; oldCategory: string; newCategory: string}) => + `「${mccGroupName}」のデフォルト支出カテゴリーを「${newCategory}」に変更しました(以前は「${oldCategory}」)`, }, roomMembersPage: { memberNotFound: 'メンバーが見つかりません。', diff --git a/src/languages/nl.ts b/src/languages/nl.ts index 4c7a16b46b01..555d521ba2f8 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -7462,6 +7462,8 @@ Voeg meer bestedingsregels toe om de kasstroom van het bedrijf te beschermen.`, `heeft de einddag van de afrekenperiode van kaartfeed "${feedName}" gewijzigd${newValue ? ` naar "${newValue}"` : ''}${previousValue ? ` (voorheen "${previousValue}")` : ''}`, addedReportField: ({fieldType, fieldName, defaultValue}: AddedOrDeletedPolicyReportFieldParams) => `heeft ${fieldType}-rapportveld "${fieldName}" toegevoegd${defaultValue ? ` met standaardwaarde "${defaultValue}"` : ''}`, + updatedMccGroupCategory: ({mccGroupName, oldCategory, newCategory}: {mccGroupName: string; oldCategory: string; newCategory: string}) => + `heeft de standaarduitgavencategorie voor ‘${mccGroupName}’ gewijzigd in ‘${newCategory}’ (voorheen ‘${oldCategory}’)`, }, roomMembersPage: { memberNotFound: 'Lid niet gevonden.', diff --git a/src/languages/pl.ts b/src/languages/pl.ts index a0291f78d160..a40543672574 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -7453,6 +7453,8 @@ Dodaj więcej zasad wydatków, żeby chronić płynność finansową firmy.`, `zmienił dzień zakończenia okresu rozliczeniowego dla źródła karty „${feedName}”${newValue ? ` na „${newValue}”` : ''}${previousValue ? ` (wcześniej „${previousValue}”)` : ''}`, addedReportField: ({fieldType, fieldName, defaultValue}: AddedOrDeletedPolicyReportFieldParams) => `dodano pole raportu typu ${fieldType} „${fieldName}”${defaultValue ? ` z domyślną wartością „${defaultValue}”` : ''}`, + updatedMccGroupCategory: ({mccGroupName, oldCategory, newCategory}: {mccGroupName: string; oldCategory: string; newCategory: string}) => + `zmieniono domyślną kategorię wydatków dla „${mccGroupName}” na „${newCategory}” (poprzednio „${oldCategory}”)`, }, roomMembersPage: { memberNotFound: 'Nie znaleziono członka.', diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index 5b236b8b0ec4..347287de87cc 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -7454,6 +7454,8 @@ Adicione mais regras de gasto para proteger o fluxo de caixa da empresa.`, `changed card feed "${feedName}" statement period end day${newValue ? ` para "${newValue}"` : ''}${previousValue ? `(antes " ${previousValue}")` : ''}`, addedReportField: ({fieldType, fieldName, defaultValue}: AddedOrDeletedPolicyReportFieldParams) => `adicionou o campo de relatório ${fieldType} "${fieldName}"${defaultValue ? ` com valor padrão "${defaultValue}"` : ''}`, + updatedMccGroupCategory: ({mccGroupName, oldCategory, newCategory}: {mccGroupName: string; oldCategory: string; newCategory: string}) => + `alterou a categoria de gasto padrão de "${mccGroupName}" para "${newCategory}" (antes "${oldCategory}")`, }, roomMembersPage: { memberNotFound: 'Membro não encontrado.', diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index 49c115dfe58e..a86217932e71 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -7265,6 +7265,8 @@ ${reportName} `已更改卡片流水“${feedName}”的账单周期截止日${newValue ? ` 为“${newValue}”` : ''}${previousValue ? ` (先前为“${previousValue}”)` : ''}`, addedReportField: ({fieldType, fieldName, defaultValue}: AddedOrDeletedPolicyReportFieldParams) => `已添加 ${fieldType} 报告字段“${fieldName}”${defaultValue ? ` 默认值为“${defaultValue}”` : ''}`, + updatedMccGroupCategory: ({mccGroupName, oldCategory, newCategory}: {mccGroupName: string; oldCategory: string; newCategory: string}) => + `已将“${mccGroupName}”的默认支出类别更改为“${newCategory}”(此前为“${oldCategory}”)`, }, roomMembersPage: { memberNotFound: '未找到成员。',