From 383e95dfec534322c1155e1c0e9f025166b62479 Mon Sep 17 00:00:00 2001 From: I Nyoman Jyotisa Date: Thu, 5 Feb 2026 19:44:48 +0800 Subject: [PATCH 1/6] Add merchant rules option to workspace duplication --- src/languages/de.ts | 2 ++ src/languages/en.ts | 2 ++ src/languages/es.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 ++ src/libs/actions/Policy/Policy.ts | 8 ++++++++ .../duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx | 10 ++++++++++ 12 files changed, 38 insertions(+) diff --git a/src/languages/de.ts b/src/languages/de.ts index cab398077327..6701f318ad22 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -5582,6 +5582,8 @@ _Für ausführlichere Anweisungen [besuchen Sie unsere Hilfeseite](${CONST.NETSU reimbursementAccount: 'Erstattungskonto', welcomeNote: 'Bitte verwende meinen neuen Arbeitsbereich', delayedSubmission: 'verspätete Einreichung', + merchantRules: 'Händlerregeln', + merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'Händlerregel' : 'Händlerregeln'}`, confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Sie sind dabei, ${newWorkspaceName ?? ''} mit ${totalMembers ?? 0} Mitgliedern aus dem ursprünglichen Workspace zu erstellen und zu teilen.`, error: 'Beim Duplizieren deines neuen Workspace ist ein Fehler aufgetreten. Bitte versuche es erneut.', diff --git a/src/languages/en.ts b/src/languages/en.ts index f4b77a6f3f1d..4bc1af110294 100644 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -5539,6 +5539,8 @@ const translations = { reimbursementAccount: 'reimbursement account', welcomeNote: 'Please start using my new workspace', delayedSubmission: 'delayed submission', + merchantRules: 'Merchant rules', + merchantRulesCount: ({count}: {count: number}) => `${count} merchant ${count === 1 ? 'rule' : 'rules'}`, confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `You’re about to create and share ${newWorkspaceName ?? ''} with ${totalMembers ?? 0} members from the original workspace.`, error: 'An error occurred while duplicating your new workspace. Please try again.', diff --git a/src/languages/es.ts b/src/languages/es.ts index beb97e35fe0e..7e4eeb14714a 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -5272,6 +5272,8 @@ ${amount} para ${merchant} - ${date}`, reimbursementAccount: 'cuenta de reembolso', delayedSubmission: 'presentación retrasada', welcomeNote: 'Por favor, comience a utilizar mi nuevo espacio de trabajo.', + merchantRules: 'Reglas de comerciantes', + merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'regla de comerciante' : 'reglas de comerciantes'}`, confirmTitle: ({newWorkspaceName, totalMembers}) => `Estás a punto de crear y compartir ${newWorkspaceName ?? ''} con ${totalMembers ?? 0} miembros del espacio de trabajo original.`, error: 'Se produjo un error al duplicar tu nuevo espacio de trabajo. Inténtalo de nuevo.', diff --git a/src/languages/fr.ts b/src/languages/fr.ts index abf305231b97..27075f788999 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -5594,6 +5594,8 @@ _Pour des instructions plus détaillées, [visitez notre site d’aide](${CONST. reimbursementAccount: 'compte de remboursement', welcomeNote: 'Veuillez commencer à utiliser mon nouvel espace de travail', delayedSubmission: 'soumission retardée', + merchantRules: 'Règles de commerçant', + merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'règle de commerçant' : 'règles de commerçant'}`, confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Vous êtes sur le point de créer et de partager ${newWorkspaceName ?? ''} avec ${totalMembers ?? 0} membres de l’espace de travail d’origine.`, error: 'Une erreur s’est produite lors de la duplication de votre nouvel espace de travail. Veuillez réessayer.', diff --git a/src/languages/it.ts b/src/languages/it.ts index 86c1aaffbd5c..4ad32d492257 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -5565,6 +5565,8 @@ _Per istruzioni più dettagliate, [visita il nostro sito di assistenza](${CONST. reimbursementAccount: 'conto di rimborso', welcomeNote: 'Inizia a usare il mio nuovo workspace', delayedSubmission: 'invio posticipato', + merchantRules: 'Regole del commerciante', + merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'regola del commerciante' : 'regole del commerciante'}`, confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Stai per creare e condividere ${newWorkspaceName ?? ''} con ${totalMembers ?? 0} membri dello spazio di lavoro originale.`, error: 'Si è verificato un errore durante la duplicazione del tuo nuovo workspace. Riprova.', diff --git a/src/languages/ja.ts b/src/languages/ja.ts index 82161e61c595..1585fd2c0065 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -5529,6 +5529,8 @@ _詳しい手順については、[ヘルプサイトをご覧ください](${CO reimbursementAccount: '精算口座', welcomeNote: '私の新しいワークスペースを使い始めてください', delayedSubmission: '遅延提出', + merchantRules: '販売者ルール', + merchantRulesCount: ({count}: {count: number}) => `${count} 販売者ルール`, confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `元のワークスペースから ${totalMembers ?? 0} 人のメンバーと一緒に、${newWorkspaceName ?? ''} を作成して共有しようとしています。`, error: '新しいワークスペースの複製中にエラーが発生しました。もう一度お試しください。', diff --git a/src/languages/nl.ts b/src/languages/nl.ts index ce201a94f817..f5c3b6cdd49b 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -5558,6 +5558,8 @@ _Voor meer gedetailleerde instructies, [bezoek onze help-site](${CONST.NETSUITE_ reimbursementAccount: 'vergoedingsrekening', welcomeNote: 'Begin alsjeblieft mijn nieuwe werkruimte te gebruiken', delayedSubmission: 'vertraagde indiening', + merchantRules: 'Handelaarsregels', + merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'handelaarsregel' : 'handelaarsregels'}`, confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Je staat op het punt ${newWorkspaceName ?? ''} te maken en te delen met ${totalMembers ?? 0} leden van de oorspronkelijke werkruimte.`, error: 'Er is een fout opgetreden bij het dupliceren van je nieuwe werkruimte. Probeer het opnieuw.', diff --git a/src/languages/pl.ts b/src/languages/pl.ts index 6224f6a1cb2b..3d2941494947 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -5546,6 +5546,8 @@ _Aby uzyskać bardziej szczegółowe instrukcje, [odwiedź naszą stronę pomocy reimbursementAccount: 'konto zwrotów', welcomeNote: 'Proszę, zacznij używać mojego nowego obszaru roboczego', delayedSubmission: 'opóźnione przesłanie', + merchantRules: 'Zasady sprzedawcy', + merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'zasada sprzedawcy' : 'zasady sprzedawcy'}`, confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Za chwilę utworzysz i udostępnisz ${newWorkspaceName ?? ''} ${totalMembers ?? 0} członkom oryginalnego obszaru roboczego.`, error: 'Wystąpił błąd podczas duplikowania Twojego nowego obszaru roboczego. Spróbuj ponownie.', diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index 5d102ee84a1e..b79346d266b3 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -5549,6 +5549,8 @@ _Para instruções mais detalhadas, [visite nossa central de ajuda](${CONST.NETS reimbursementAccount: 'conta de reembolso', welcomeNote: 'Comece a usar meu novo espaço de trabalho', delayedSubmission: 'envio atrasado', + merchantRules: 'Regras do comerciante', + merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'regra do comerciante' : 'regras do comerciante'}`, confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Você está prestes to criar e compartilhar ${newWorkspaceName ?? ''} com ${totalMembers ?? 0} membros do workspace original.`, error: 'Ocorreu um erro ao duplicar seu novo espaço de trabalho. Tente novamente.', diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index f8525332888c..1db327762cd6 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -5453,6 +5453,8 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM reimbursementAccount: '报销账户', welcomeNote: '请开始使用我的新工作区', delayedSubmission: '延迟提交', + merchantRules: '商家规则', + merchantRulesCount: ({count}: {count: number}) => `${count} 商家规则`, confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `您即将创建并共享 ${newWorkspaceName ?? ''},其中包含来自原始工作区的 ${totalMembers ?? 0} 位成员。`, error: '复制您的新工作区时发生错误。请重试。', diff --git a/src/libs/actions/Policy/Policy.ts b/src/libs/actions/Policy/Policy.ts index 67d6b19da18d..a4de8339144e 100644 --- a/src/libs/actions/Policy/Policy.ts +++ b/src/libs/actions/Policy/Policy.ts @@ -2858,6 +2858,7 @@ function buildDuplicatePolicyData(policy: Policy, options: DuplicatePolicyDataOp const isPerDiemOptionSelected = parts?.perDiem; const isOverviewOptionSelected = parts?.overview; const isTravelOptionSelected = parts?.travel; + const isCodingRulesOptionSelected = parts?.codingRules; const outputCurrency = isOverviewOptionSelected ? policy?.outputCurrency : localCurrency; @@ -2900,6 +2901,13 @@ function buildDuplicatePolicyData(policy: Policy, options: DuplicatePolicyDataOp connections: isConnectionsOptionSelected ? policy?.connections : undefined, customUnits: getCustomUnitsForDuplication(policy, isDistanceRatesOptionSelected, isPerDiemOptionSelected), taxRates: isTaxesOptionSelected ? policy?.taxRates : undefined, + rules: isCodingRulesOptionSelected + ? policy?.rules + : { + approvalRules: policy?.rules?.approvalRules, + expenseRules: policy?.rules?.expenseRules, + codingRules: undefined, + }, pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, pendingFields: { autoReporting: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, diff --git a/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx b/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx index 14d9af1b012e..6e6495ed22b6 100644 --- a/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx +++ b/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx @@ -43,6 +43,7 @@ function WorkspaceDuplicateSelectFeaturesForm({policyID}: WorkspaceDuplicateForm const taxesLength = Object.keys(policy?.taxRates?.taxes ?? {}).length ?? 0; const [policyCategories] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY_CATEGORIES}${policyID}`, {canBeMissing: true}); const categoriesCount = Object.keys(policyCategories ?? {}).length; + const codingRulesCount = Object.keys(policy?.rules?.codingRules ?? {}).length; const [selectedItems, setSelectedItems] = useState([]); const reportFields = Object.keys(getReportFieldsByPolicyID(policyID)).length ?? 0; const customUnits = getPerDiemCustomUnit(policy); @@ -142,6 +143,13 @@ function WorkspaceDuplicateSelectFeaturesForm({policyID}: WorkspaceDuplicateForm : undefined, } : undefined, + codingRulesCount > 0 && !isCollect + ? { + translation: translate('workspace.duplicateWorkspace.merchantRules'), + value: 'codingRules', + alternateText: translate('workspace.duplicateWorkspace.merchantRulesCount', {count: codingRulesCount}), + } + : undefined, ratesCount > 0 && policy?.areDistanceRatesEnabled ? { translation: translate('workspace.common.distanceRates'), @@ -188,6 +196,7 @@ function WorkspaceDuplicateSelectFeaturesForm({policyID}: WorkspaceDuplicateForm allRates, bankAccountList, invoiceCompany, + codingRulesCount, ]); const featuresToCopy: ListItem[] = useMemo(() => { @@ -235,6 +244,7 @@ function WorkspaceDuplicateSelectFeaturesForm({policyID}: WorkspaceDuplicateForm exportLayouts: selectedItems.includes('workflows'), overview: selectedItems.includes('overview'), travel: selectedItems.includes('travel'), + codingRules: selectedItems.includes('codingRules'), }, file: duplicatedWorkspaceAvatar, localCurrency: currentUserPersonalDetails?.localCurrencyCode ?? '', From 993c0eabbc579b3cbf1593843da466d8138eb11e Mon Sep 17 00:00:00 2001 From: I Nyoman Jyotisa Date: Thu, 5 Feb 2026 20:35:32 +0800 Subject: [PATCH 2/6] lint fix --- src/CONST/index.ts | 3 +++ .../duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx | 1 + 2 files changed, 4 insertions(+) diff --git a/src/CONST/index.ts b/src/CONST/index.ts index dfa2ef7ab86b..5f9d8fac54e4 100755 --- a/src/CONST/index.ts +++ b/src/CONST/index.ts @@ -8231,6 +8231,9 @@ const CONST = { NEW_CHAT: { SELECT_PARTICIPANT: 'NewChat-SelectParticipant', }, + WORKSPACE: { + DUPLICATE_SELECT_FEATURES_SELECT_ALL: 'WorkspaceDuplicate-SelectFeaturesSelectAll', + }, }, DOMAIN: { diff --git a/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx b/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx index 6e6495ed22b6..361c52c5edc6 100644 --- a/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx +++ b/src/pages/workspace/duplicate/WorkspaceDuplicateSelectFeaturesForm.tsx @@ -370,6 +370,7 @@ function WorkspaceDuplicateSelectFeaturesForm({policyID}: WorkspaceDuplicateForm accessibilityLabel={translate('workspace.common.selectAll')} role="button" accessibilityState={{checked: isSelectAllChecked}} + sentryLabel={CONST.SENTRY_LABEL.WORKSPACE.DUPLICATE_SELECT_FEATURES_SELECT_ALL} dataSet={{[CONST.SELECTION_SCRAPER_HIDDEN_ELEMENT]: true}} > {translate('workspace.common.selectAll')} From f44d76d809d7fccd7842e0395ba1aae1caf1bcc0 Mon Sep 17 00:00:00 2001 From: I Nyoman Jyotisa Date: Thu, 5 Feb 2026 23:22:09 +0800 Subject: [PATCH 3/6] Update ES translation --- src/languages/es.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/languages/es.ts b/src/languages/es.ts index 7e4eeb14714a..1e502ec790ac 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -5272,8 +5272,8 @@ ${amount} para ${merchant} - ${date}`, reimbursementAccount: 'cuenta de reembolso', delayedSubmission: 'presentación retrasada', welcomeNote: 'Por favor, comience a utilizar mi nuevo espacio de trabajo.', - merchantRules: 'Reglas de comerciantes', - merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'regla de comerciante' : 'reglas de comerciantes'}`, + merchantRules: 'Reglas de comerciante', + merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'regla de comerciante' : 'reglas de comerciante'}`, confirmTitle: ({newWorkspaceName, totalMembers}) => `Estás a punto de crear y compartir ${newWorkspaceName ?? ''} con ${totalMembers ?? 0} miembros del espacio de trabajo original.`, error: 'Se produjo un error al duplicar tu nuevo espacio de trabajo. Inténtalo de nuevo.', From ab85a115e77c82e404fc28b893b41fbe353bb65f Mon Sep 17 00:00:00 2001 From: I Nyoman Jyotisa Date: Wed, 11 Feb 2026 21:44:44 +0800 Subject: [PATCH 4/6] Build rules object conditionally in duplicate workspace --- src/libs/actions/Policy/Policy.ts | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/libs/actions/Policy/Policy.ts b/src/libs/actions/Policy/Policy.ts index 1a0649c0b48b..d2ae66c7573a 100644 --- a/src/libs/actions/Policy/Policy.ts +++ b/src/libs/actions/Policy/Policy.ts @@ -2923,13 +2923,18 @@ function buildDuplicatePolicyData(policy: Policy, options: DuplicatePolicyDataOp connections: isConnectionsOptionSelected ? policy?.connections : undefined, customUnits: getCustomUnitsForDuplication(policy, isDistanceRatesOptionSelected, isPerDiemOptionSelected), taxRates: isTaxesOptionSelected ? policy?.taxRates : undefined, - rules: isCodingRulesOptionSelected - ? policy?.rules - : { - approvalRules: policy?.rules?.approvalRules, - expenseRules: policy?.rules?.expenseRules, - codingRules: undefined, - }, + rules: + isRulesOptionSelected || isCodingRulesOptionSelected + ? { + ...(isRulesOptionSelected && { + approvalRules: policy?.rules?.approvalRules, + expenseRules: policy?.rules?.expenseRules, + }), + ...(isCodingRulesOptionSelected && { + codingRules: policy?.rules?.codingRules, + }), + } + : undefined, pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, pendingFields: { autoReporting: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, From 8b771cce0ce285eef04b4bc97daa17b60775a162 Mon Sep 17 00:00:00 2001 From: I Nyoman Jyotisa Date: Thu, 19 Feb 2026 08:03:21 +0800 Subject: [PATCH 5/6] Remove approvalRules and expenseRules handling --- src/libs/actions/Policy/Policy.ts | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/libs/actions/Policy/Policy.ts b/src/libs/actions/Policy/Policy.ts index d22dc79dd836..87f35cfbf416 100644 --- a/src/libs/actions/Policy/Policy.ts +++ b/src/libs/actions/Policy/Policy.ts @@ -2964,18 +2964,7 @@ function buildDuplicatePolicyData(policy: Policy, options: DuplicatePolicyDataOp connections: isConnectionsOptionSelected ? policy?.connections : undefined, customUnits: getCustomUnitsForDuplication(policy, isDistanceRatesOptionSelected, isPerDiemOptionSelected), taxRates: isTaxesOptionSelected ? policy?.taxRates : undefined, - rules: - isRulesOptionSelected || isCodingRulesOptionSelected - ? { - ...(isRulesOptionSelected && { - approvalRules: policy?.rules?.approvalRules, - expenseRules: policy?.rules?.expenseRules, - }), - ...(isCodingRulesOptionSelected && { - codingRules: policy?.rules?.codingRules, - }), - } - : undefined, + rules: isCodingRulesOptionSelected ? {codingRules: policy?.rules?.codingRules} : undefined, pendingAction: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, pendingFields: { autoReporting: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD, From 8c41ee54a1467b17aed16910b63bc49bea246365 Mon Sep 17 00:00:00 2001 From: I Nyoman Jyotisa Date: Thu, 19 Feb 2026 08:27:34 +0800 Subject: [PATCH 6/6] Update merchantRulesCount translations pattern --- src/languages/de.ts | 5 ++++- src/languages/en.ts | 5 ++++- src/languages/es.ts | 5 ++++- src/languages/fr.ts | 5 ++++- src/languages/it.ts | 5 ++++- src/languages/ja.ts | 5 ++++- src/languages/nl.ts | 5 ++++- src/languages/pl.ts | 5 ++++- src/languages/pt-BR.ts | 5 ++++- src/languages/zh-hans.ts | 5 ++++- 10 files changed, 40 insertions(+), 10 deletions(-) diff --git a/src/languages/de.ts b/src/languages/de.ts index bc2eae08ee30..7ef9eda32b7a 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -5541,7 +5541,10 @@ _Für ausführlichere Anweisungen [besuchen Sie unsere Hilfeseite](${CONST.NETSU welcomeNote: 'Bitte verwende meinen neuen Arbeitsbereich', delayedSubmission: 'verspätete Einreichung', merchantRules: 'Händlerregeln', - merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'Händlerregel' : 'Händlerregeln'}`, + merchantRulesCount: () => ({ + one: '1 Händlerregel', + other: (count: number) => `${count} Händlerregeln`, + }), confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Sie sind dabei, ${newWorkspaceName ?? ''} mit ${totalMembers ?? 0} Mitgliedern aus dem ursprünglichen Workspace zu erstellen und zu teilen.`, error: 'Beim Duplizieren deines neuen Workspace ist ein Fehler aufgetreten. Bitte versuche es erneut.', diff --git a/src/languages/en.ts b/src/languages/en.ts index 5f784ef1b6fc..a9bd5117946f 100644 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -5498,7 +5498,10 @@ const translations = { welcomeNote: 'Please start using my new workspace', delayedSubmission: 'delayed submission', merchantRules: 'Merchant rules', - merchantRulesCount: ({count}: {count: number}) => `${count} merchant ${count === 1 ? 'rule' : 'rules'}`, + merchantRulesCount: () => ({ + one: '1 merchant rule', + other: (count: number) => `${count} merchant rules`, + }), confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `You’re about to create and share ${newWorkspaceName ?? ''} with ${totalMembers ?? 0} members from the original workspace.`, error: 'An error occurred while duplicating your new workspace. Please try again.', diff --git a/src/languages/es.ts b/src/languages/es.ts index 639f8ad63dda..ded46a7b552c 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -5309,7 +5309,10 @@ ${amount} para ${merchant} - ${date}`, delayedSubmission: 'presentación retrasada', welcomeNote: 'Por favor, comience a utilizar mi nuevo espacio de trabajo.', merchantRules: 'Reglas de comerciante', - merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'regla de comerciante' : 'reglas de comerciante'}`, + merchantRulesCount: () => ({ + one: '1 regla de comerciante', + other: (count: number) => `${count} reglas de comerciante`, + }), confirmTitle: ({newWorkspaceName, totalMembers}) => `Estás a punto de crear y compartir ${newWorkspaceName ?? ''} con ${totalMembers ?? 0} miembros del espacio de trabajo original.`, error: 'Se produjo un error al duplicar tu nuevo espacio de trabajo. Inténtalo de nuevo.', diff --git a/src/languages/fr.ts b/src/languages/fr.ts index c64a71d5fe10..ecbf456deefc 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -5562,7 +5562,10 @@ _Pour des instructions plus détaillées, [visitez notre site d’aide](${CONST. welcomeNote: 'Veuillez commencer à utiliser mon nouvel espace de travail', delayedSubmission: 'soumission retardée', merchantRules: 'Règles de commerçant', - merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'règle de commerçant' : 'règles de commerçant'}`, + merchantRulesCount: () => ({ + one: '1 règle de commerçant', + other: (count: number) => `${count} règles de commerçant`, + }), confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Vous êtes sur le point de créer et de partager ${newWorkspaceName ?? ''} avec ${totalMembers ?? 0} membres de l’espace de travail d’origine.`, error: 'Une erreur s’est produite lors de la duplication de votre nouvel espace de travail. Veuillez réessayer.', diff --git a/src/languages/it.ts b/src/languages/it.ts index 9cb60b54e4a9..a7a736071147 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -5529,7 +5529,10 @@ _Per istruzioni più dettagliate, [visita il nostro sito di assistenza](${CONST. welcomeNote: 'Inizia a usare il mio nuovo workspace', delayedSubmission: 'invio posticipato', merchantRules: 'Regole del commerciante', - merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'regola del commerciante' : 'regole del commerciante'}`, + merchantRulesCount: () => ({ + one: '1 regola del commerciante', + other: (count: number) => `${count} regole del commerciante`, + }), confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Stai per creare e condividere ${newWorkspaceName ?? ''} con ${totalMembers ?? 0} membri dello spazio di lavoro originale.`, error: 'Si è verificato un errore durante la duplicazione del tuo nuovo workspace. Riprova.', diff --git a/src/languages/ja.ts b/src/languages/ja.ts index d6e069119b9c..8377ef2b2fee 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -5482,7 +5482,10 @@ _詳しい手順については、[ヘルプサイトをご覧ください](${CO welcomeNote: '私の新しいワークスペースを使い始めてください', delayedSubmission: '遅延提出', merchantRules: '販売者ルール', - merchantRulesCount: ({count}: {count: number}) => `${count} 販売者ルール`, + merchantRulesCount: () => ({ + one: '1 販売者ルール', + other: (count: number) => `${count} 販売者ルール`, + }), confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `元のワークスペースから ${totalMembers ?? 0} 人のメンバーと一緒に、${newWorkspaceName ?? ''} を作成して共有しようとしています。`, error: '新しいワークスペースの複製中にエラーが発生しました。もう一度お試しください。', diff --git a/src/languages/nl.ts b/src/languages/nl.ts index a9f3abea742d..645a987803a4 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -5517,7 +5517,10 @@ _Voor meer gedetailleerde instructies, [bezoek onze help-site](${CONST.NETSUITE_ welcomeNote: 'Begin alsjeblieft mijn nieuwe werkruimte te gebruiken', delayedSubmission: 'vertraagde indiening', merchantRules: 'Handelaarsregels', - merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'handelaarsregel' : 'handelaarsregels'}`, + merchantRulesCount: () => ({ + one: '1 handelaarsregel', + other: (count: number) => `${count} handelaarsregels`, + }), confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Je staat op het punt ${newWorkspaceName ?? ''} te maken en te delen met ${totalMembers ?? 0} leden van de oorspronkelijke werkruimte.`, error: 'Er is een fout opgetreden bij het dupliceren van je nieuwe werkruimte. Probeer het opnieuw.', diff --git a/src/languages/pl.ts b/src/languages/pl.ts index b946ef162ae5..1d924796ded3 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -5507,7 +5507,10 @@ _Aby uzyskać bardziej szczegółowe instrukcje, [odwiedź naszą stronę pomocy welcomeNote: 'Proszę, zacznij używać mojego nowego obszaru roboczego', delayedSubmission: 'opóźnione przesłanie', merchantRules: 'Zasady sprzedawcy', - merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'zasada sprzedawcy' : 'zasady sprzedawcy'}`, + merchantRulesCount: () => ({ + one: '1 zasada sprzedawcy', + other: (count: number) => `${count} zasady sprzedawcy`, + }), confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Za chwilę utworzysz i udostępnisz ${newWorkspaceName ?? ''} ${totalMembers ?? 0} członkom oryginalnego obszaru roboczego.`, error: 'Wystąpił błąd podczas duplikowania Twojego nowego obszaru roboczego. Spróbuj ponownie.', diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index 38364a7948e7..854cb7c8806b 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -5512,7 +5512,10 @@ _Para instruções mais detalhadas, [visite nossa central de ajuda](${CONST.NETS welcomeNote: 'Comece a usar meu novo espaço de trabalho', delayedSubmission: 'envio atrasado', merchantRules: 'Regras do comerciante', - merchantRulesCount: ({count}: {count: number}) => `${count} ${count === 1 ? 'regra do comerciante' : 'regras do comerciante'}`, + merchantRulesCount: () => ({ + one: '1 regra do comerciante', + other: (count: number) => `${count} regras do comerciante`, + }), confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `Você está prestes to criar e compartilhar ${newWorkspaceName ?? ''} com ${totalMembers ?? 0} membros do workspace original.`, error: 'Ocorreu um erro ao duplicar seu novo espaço de trabalho. Tente novamente.', diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index 0d4b477979e2..cd98e14a41fb 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -5409,7 +5409,10 @@ _如需更详细的说明,请[访问我们的帮助网站](${CONST.NETSUITE_IM welcomeNote: '请开始使用我的新工作区', delayedSubmission: '延迟提交', merchantRules: '商家规则', - merchantRulesCount: ({count}: {count: number}) => `${count} 商家规则`, + merchantRulesCount: () => ({ + one: '1 商家规则', + other: (count: number) => `${count} 商家规则`, + }), confirmTitle: ({newWorkspaceName, totalMembers}: {newWorkspaceName?: string; totalMembers?: number}) => `您即将创建并共享 ${newWorkspaceName ?? ''},其中包含来自原始工作区的 ${totalMembers ?? 0} 位成员。`, error: '复制您的新工作区时发生错误。请重试。',