Correct policy changelog report action system messages for: Workflows Submission frequency - #97921
Conversation
…ys "disabled scheduled submit" and "enabled scheduled submit". update the copy to use submissions instead of scheduled submit
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
|
@stitesExpensify Please copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button] |
|
@stitesExpensify - could you please run this workflow #97921 (comment) to generate the translations diff? Thanks! |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0afdc45852
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
🦜 Polyglot Parrot! 🦜Squawk! Looks like you added some shiny new English strings. Allow me to parrot them back to you in other tongues: View the translation diffdiff --git a/src/languages/de.ts b/src/languages/de.ts
index 706760860f5..981bf85282e 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -8829,6 +8829,7 @@ Fügen Sie weitere Ausgabelimits hinzu, um den Cashflow Ihres Unternehmens zu sc
invoices: (sourcePolicyName: string, sourcePolicyURL: string) => `Rechnungseinstellungen von <a href="${sourcePolicyURL}">${sourcePolicyName}</a> kopiert`,
travel: (sourcePolicyName: string, sourcePolicyURL: string) => `Reiseeinstellungen von <a href="${sourcePolicyURL}">${sourcePolicyName}</a> kopiert`,
},
+ updatedAutoHarvesting: (enabled: boolean) => `${enabled ? 'aktiviert' : 'deaktiviert'} Einreichungen`,
},
roomMembersPage: {
memberNotFound: 'Mitglied nicht gefunden.',
diff --git a/src/languages/el.ts b/src/languages/el.ts
index bc3ee09d41b..b8b23f8159a 100644
--- a/src/languages/el.ts
+++ b/src/languages/el.ts
@@ -320,7 +320,6 @@ const translations: TranslationDeepObject<typeof en> = {
automatic: 'Αυτόματο',
showing: 'Εμφανίζονται',
of: 'του',
- // @context Carousel pagination counter showing the current item's position out of the total (e.g. "3 of 50").
currentOfTotal: ({current, total}: {current: number; total: number}) => `${current} από ${total}`,
default: 'Προεπιλογή',
update: 'Ενημέρωση',
@@ -7496,8 +7495,10 @@ _Για πιο αναλυτικές οδηγίες, [επισκεφθείτε τ
},
exportAgainModal: {
title: 'Προσοχή!',
- description: (reportName, connectionName) =>
- `Οι παρακάτω αναφορές έχουν ήδη εξαχθεί στο ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}. Είστε βέβαιοι ότι θέλετε να τις εξαγάγετε ξανά;
+ description: (
+ reportName,
+ connectionName,
+ ) => `Οι παρακάτω αναφορές έχουν ήδη εξαχθεί στο ${CONST.POLICY.CONNECTIONS.NAME_USER_FRIENDLY[connectionName]}. Είστε βέβαιοι ότι θέλετε να τις εξαγάγετε ξανά;
${reportName}`,
confirmText: 'Ναι, εξαγωγή ξανά',
@@ -8815,7 +8816,7 @@ ${reportName}`,
updatedDefaultTitle: (newDefaultTitle: string, oldDefaultTitle: string) =>
`άλλαξε τον προεπιλεγμένο τύπο ονόματος προσαρμοσμένης αναφοράς σε «${newDefaultTitle}» (προηγουμένως «${oldDefaultTitle}»)`,
updatedOwnership: (oldOwnerEmail: string, oldOwnerName: string, policyName: string) => `ανέλαβε την κυριότητα του ${policyName} από τον/την ${oldOwnerName} (${oldOwnerEmail})`,
- updatedAutoHarvesting: (enabled: boolean) => `προγραμματισμένη υποβολή ${enabled ? 'ενεργοποιημένο' : 'απενεργοποιημένο'}`,
+ updatedAutoHarvesting: (enabled: boolean) => `${enabled ? 'ενεργοποιημένο' : 'ανενεργό'} υποβολές`,
updatedIndividualBudgetNotification: (
budgetAmount: string,
budgetFrequency: string,
diff --git a/src/languages/es.ts b/src/languages/es.ts
index d23c4627417..6b7b272b618 100644
--- a/src/languages/es.ts
+++ b/src/languages/es.ts
@@ -8660,6 +8660,7 @@ El plan Controlar empieza en 9 $ por miembro activo al mes.`,
invoices: (sourcePolicyName: string, sourcePolicyURL: string) => `copió la configuración de facturas de <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
travel: (sourcePolicyName: string, sourcePolicyURL: string) => `copió la configuración de viaje de <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
},
+ updatedAutoHarvesting: (enabled: boolean) => `${enabled ? 'habilitado' : 'desactivado'} envíos`,
},
roomMembersPage: {
memberNotFound: 'Miembro no encontrado.',
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index d384cb9c497..c59e9a12417 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -8863,6 +8863,7 @@ Ajoutez davantage de règles de dépenses pour protéger la trésorerie de l’e
invoices: (sourcePolicyName: string, sourcePolicyURL: string) => `paramètres de facturation copiés depuis <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
travel: (sourcePolicyName: string, sourcePolicyURL: string) => `paramètres de déplacement copiés depuis <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
},
+ updatedAutoHarvesting: (enabled: boolean) => `${enabled ? 'activé' : 'Désactivé'} envois`,
},
roomMembersPage: {
memberNotFound: 'Membre introuvable.',
diff --git a/src/languages/it.ts b/src/languages/it.ts
index 465f833aeb2..b0a6ce9bc9e 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -8802,6 +8802,7 @@ Aggiungi altre regole di spesa per proteggere il flusso di cassa aziendale.`,
invoices: (sourcePolicyName: string, sourcePolicyURL: string) => `impostazioni fattura copiate da <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
travel: (sourcePolicyName: string, sourcePolicyURL: string) => `impostazioni di viaggio copiate da <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
},
+ updatedAutoHarvesting: (enabled: boolean) => `invii ${enabled ? 'abilitato' : 'disattivato'}`,
},
roomMembersPage: {
memberNotFound: 'Membro non trovato.',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index 2090e9c98ff..be341a71adf 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -8691,6 +8691,7 @@ ${reportName}`,
invoices: (sourcePolicyName: string, sourcePolicyURL: string) => `<a href="${sourcePolicyURL}">${sourcePolicyName}</a> から請求書の設定をコピーしました`,
travel: (sourcePolicyName: string, sourcePolicyURL: string) => `<a href="${sourcePolicyURL}">${sourcePolicyName}</a> から出張設定をコピーしました`,
},
+ updatedAutoHarvesting: (enabled: boolean) => `${enabled ? '有効' : '無効'} 件の提出`,
},
roomMembersPage: {
memberNotFound: 'メンバーが見つかりません。',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index a8db3449eba..ea20d8e8f0d 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -8774,6 +8774,7 @@ er bestedingsregels toe om de kasstroom van het bedrijf te beschermen.`,
invoices: (sourcePolicyName: string, sourcePolicyURL: string) => `factuurinstellingen gekopieerd van <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
travel: (sourcePolicyName: string, sourcePolicyURL: string) => `reiskosteninstellingen gekopieerd van <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
},
+ updatedAutoHarvesting: (enabled: boolean) => `${enabled ? 'ingeschakeld' : 'uitgeschakeld'} inzendingen`,
},
roomMembersPage: {
memberNotFound: 'Lid niet gevonden.',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 4f87433599f..cfc69303989 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -8752,6 +8752,7 @@ Dodaj więcej zasad wydatków, żeby chronić płynność finansową firmy.`,
invoices: (sourcePolicyName: string, sourcePolicyURL: string) => `skopiowano ustawienia faktur z <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
travel: (sourcePolicyName: string, sourcePolicyURL: string) => `skopiowano ustawienia podróży z <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
},
+ updatedAutoHarvesting: (enabled: boolean) => `${enabled ? 'włączone' : 'wyłączone'} zgłoszenia`,
},
roomMembersPage: {
memberNotFound: 'Nie znaleziono członka.',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 0c1300f4d70..c9423f9fcba 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -8767,6 +8767,7 @@ Adicione mais regras de gasto para proteger o fluxo de caixa da empresa.`,
invoices: (sourcePolicyName: string, sourcePolicyURL: string) => `configurações de fatura copiadas de <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
travel: (sourcePolicyName: string, sourcePolicyURL: string) => `configurações de viagem copiadas de <a href="${sourcePolicyURL}">${sourcePolicyName}</a>`,
},
+ updatedAutoHarvesting: (enabled: boolean) => `${enabled ? 'ativado' : 'desativado'} envios`,
},
roomMembersPage: {
memberNotFound: 'Membro não encontrado.',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index beb0d4a8720..b8d7915c9bd 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -8466,6 +8466,7 @@ ${reportName}`,
invoices: (sourcePolicyName: string, sourcePolicyURL: string) => `已从 <a href="${sourcePolicyURL}">${sourcePolicyName}</a> 复制发票设置`,
travel: (sourcePolicyName: string, sourcePolicyURL: string) => `已从 <a href="${sourcePolicyURL}">${sourcePolicyName}</a> 复制出差设置`,
},
+ updatedAutoHarvesting: (enabled: boolean) => `${enabled ? '已启用' : '已禁用'} 次提交`,
},
roomMembersPage: {
memberNotFound: '未找到成员。',
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
Reviewer Checklist
Screenshots/VideosAndroid: HybridAppAndroid: mWeb ChromeiOS: HybridAppiOS: mWeb SafariMacOS: Chrome / Safari |
|
🚧 stitesExpensify has triggered a test Expensify/App build. You can view the workflow run here. |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
Deploy Blocker #98202 was identified to be related to this PR. |
|
🚀 Deployed to staging by https://github.com/stitesExpensify in version: 9.4.52-0 🚀
|
Help site review — changes required (minor)This PR renames the NewDot policy changelog system message from "enabled/disabled scheduled submit" to "enabled/disabled submissions", matching the current product name for the setting — Submissions (Workspace settings > Workflows). I reviewed
Deliberately left unchanged:
Verified against the live UI (web): Workspace settings > Workflows section reads exactly Submissions (capital S only) with a Frequency field — confirming "Submissions" is the current label, not "Scheduled Submit" / "Delay submissions". @rayane-d, please review the linked help site PR and confirm it reflects the current behavior. Then mark the linked help site PR |
|
🚀 Deployed to production by https://github.com/roryabraham in version: 9.4.52-11 🚀
Bundle Size Analysis (Sentry): |

Explanation of Change
"Scheduled Submit" is now called "Submissions" in the product, but the policy changelog system message was never
updated. It still says "enabled/disabled scheduled submit".
This PR change the copy to "enabled/disabled submissions".
Fixed Issues
Part of https://github.com/Expensify/Expensify/issues/668650
PROPOSAL:
Tests
Offline tests
N/A
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectionAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari