Add review disclaimer to prohibited expense violation text#85709
Add review disclaimer to prohibited expense violation text#85709
Conversation
…nse violation text Appends a review disclaimer after the list of prohibited expense types in the violation message across all 10 supported languages. Co-authored-by: Daniel Gale-Rosen <dangrous@users.noreply.github.com>
🦜 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 77cab252..941e43f6 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -7910,7 +7910,7 @@ Fordern Sie Spesendetails wie Belege und Beschreibungen an, legen Sie Limits und
},
itemizedReceiptRequired: (formattedLimit?: string) => `Einzelpostenbeleg erforderlich${formattedLimit ? `über ${formattedLimit}` : ''}`,
prohibitedExpense: ({prohibitedExpenseTypes}: ViolationsProhibitedExpenseParams) => {
- const preMessage = 'Unzulässige Ausgabe:';
+ const preMessage = 'Verbotene Ausgabe:';
const getProhibitedExpenseTypeText = (prohibitedExpenseType: string) => {
switch (prohibitedExpenseType) {
case 'alcohol':
@@ -7922,7 +7922,7 @@ Fordern Sie Spesendetails wie Belege und Beschreibungen an, legen Sie Limits und
case 'adultEntertainment':
return `Erwachsenenunterhaltung`;
case 'hotelIncidentals':
- return `Nebenkosten im Hotel`;
+ return `Hotelnebenkosten`;
default:
return `${prohibitedExpenseType}`;
}
diff --git a/src/languages/fr.ts b/src/languages/fr.ts
index 39779e0f..e600bfb9 100644
--- a/src/languages/fr.ts
+++ b/src/languages/fr.ts
@@ -7941,13 +7941,13 @@ Rendez obligatoires des informations de dépense comme les reçus et les descrip
case 'alcohol':
return `alcool`;
case 'gambling':
- return `jeux d’argent`;
+ return `jeux d'argent`;
case 'tobacco':
return `tabac`;
case 'adultEntertainment':
return `divertissement pour adultes`;
case 'hotelIncidentals':
- return `Frais annexes d'hôtel`;
+ return `frais annexes d’hôtel`;
default:
return `${prohibitedExpenseType}`;
}
@@ -7958,7 +7958,7 @@ Rendez obligatoires des informations de dépense comme les reçus et les descrip
} else if (prohibitedExpenseTypes) {
types = [prohibitedExpenseTypes];
}
- const postMessage = 'Veuillez vérifier le reçu pour confirmer.';
+ const postMessage = 'Veuillez examiner le reçu pour confirmer.';
if (types.length === 0) {
return `${preMessage} ${postMessage}`;
}
diff --git a/src/languages/it.ts b/src/languages/it.ts
index f2f711ce..52792757 100644
--- a/src/languages/it.ts
+++ b/src/languages/it.ts
@@ -7905,13 +7905,13 @@ Richiedi dettagli sulle spese come ricevute e descrizioni, imposta limiti e valo
case 'alcohol':
return `alcol`;
case 'gambling':
- return `gioco d’azzardo`;
+ return `gioco d'azzardo`;
case 'tobacco':
return `tabacco`;
case 'adultEntertainment':
return `intrattenimento per adulti`;
case 'hotelIncidentals':
- return `spese accessorie dell’hotel`;
+ return `spese accessorie d’hotel`;
default:
return `${prohibitedExpenseType}`;
}
@@ -7922,7 +7922,7 @@ Richiedi dettagli sulle spese come ricevute e descrizioni, imposta limiti e valo
} else if (prohibitedExpenseTypes) {
types = [prohibitedExpenseTypes];
}
- const postMessage = 'Si prega di controllare la ricevuta per confermare.';
+ const postMessage = 'Controlla la ricevuta per confermare.';
if (types.length === 0) {
return `${preMessage} ${postMessage}`;
}
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index e575383d..a0688a03 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -7821,11 +7821,11 @@ ${reportName}
case 'gambling':
return `ギャンブル`;
case 'tobacco':
- return `タバコ`;
+ return `たばこ`;
case 'adultEntertainment':
return `アダルトエンターテインメント`;
case 'hotelIncidentals':
- return `ホテル諸雑費`;
+ return `ホテル付帯費用`;
default:
return `${prohibitedExpenseType}`;
}
@@ -7836,11 +7836,11 @@ ${reportName}
} else if (prohibitedExpenseTypes) {
types = [prohibitedExpenseTypes];
}
- const postMessage = '確認のため、領収書をご確認ください。';
+ const postMessage = '確認のため、レシートを確認してください。';
if (types.length === 0) {
return `${preMessage} ${postMessage}`;
}
- return `${preMessage} ${types.map(getProhibitedExpenseTypeText).join('、')}。${postMessage}`;
+ return `${preMessage} ${types.map(getProhibitedExpenseTypeText).join(', ')}. ${postMessage}`;
},
customRules: (message: string) => message,
reviewRequired: '要レビュー',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 7c589561..ebb1c01e 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -7888,7 +7888,7 @@ Vereis onkostendetails zoals bonnen en beschrijvingen, stel limieten en standaar
case 'adultEntertainment':
return `entertainment voor volwassenen`;
case 'hotelIncidentals':
- return `hotelincidentals`;
+ return `hotelbijdragen`;
default:
return `${prohibitedExpenseType}`;
}
@@ -7899,7 +7899,7 @@ Vereis onkostendetails zoals bonnen en beschrijvingen, stel limieten en standaar
} else if (prohibitedExpenseTypes) {
types = [prohibitedExpenseTypes];
}
- const postMessage = 'Controleer de bon ter bevestiging.';
+ const postMessage = 'Controleer alsjeblieft de bon ter bevestiging.';
if (types.length === 0) {
return `${preMessage} ${postMessage}`;
}
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index cece3a48..690d3edb 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -7887,7 +7887,7 @@ Wymagaj szczegółów wydatków, takich jak paragony i opisy, ustawiaj limity i
} else if (prohibitedExpenseTypes) {
types = [prohibitedExpenseTypes];
}
- const postMessage = 'Prosimy o sprawdzenie paragonu w celu potwierdzenia.';
+ const postMessage = 'Sprawdź paragon, żeby potwierdzić.';
if (types.length === 0) {
return `${preMessage} ${postMessage}`;
}
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index 3bec19a2..bab3a82b 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -7880,7 +7880,7 @@ Exija dados de despesas como recibos e descrições, defina limites e padrões e
case 'adultEntertainment':
return `entretenimento adulto`;
case 'hotelIncidentals':
- return `despesas incidentais de hotel`;
+ return `despesas extras de hotel`;
default:
return `${prohibitedExpenseType}`;
}
@@ -7891,7 +7891,7 @@ Exija dados de despesas como recibos e descrições, defina limites e padrões e
} else if (prohibitedExpenseTypes) {
types = [prohibitedExpenseTypes];
}
- const postMessage = 'Por favor, revise o recibo para confirmar.';
+ const postMessage = 'Revise o recibo para confirmar.';
if (types.length === 0) {
return `${preMessage} ${postMessage}`;
}
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 6cb0642b..ebb8246e 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -7700,7 +7700,7 @@ ${reportName}
if (types.length === 0) {
return `${preMessage} ${postMessage}`;
}
- return `${preMessage} ${types.map(getProhibitedExpenseTypeText).join('、')}。${postMessage}`;
+ return `${preMessage} ${types.map(getProhibitedExpenseTypeText).join(', ')}. ${postMessage}`;
},
customRules: (message: string) => message,
reviewRequired: '需要审核',
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
|
@MelvinBot please update the non spanish and english translations to use those provided by Polyglot Parrot here |
Co-authored-by: dangrous <dangrous@users.noreply.github.com> Co-authored-by: Daniel Gale-Rosen <dangrous@users.noreply.github.com>
|
Updated all non-Spanish and non-English translations with the Polyglot Parrot suggestions. Here's a summary of changes:
|
|
@MelvinBot please merge main to fix failing checks |
Co-authored-by: dangrous <dangrous@users.noreply.github.com> Co-authored-by: Daniel Gale-Rosen <dangrous@users.noreply.github.com>
…xpenseDisclaimer Co-authored-by: Daniel Gale-Rosen <dangrous@users.noreply.github.com>
|
Merged main into the PR branch to fix failing checks. |
Keep dell'hotel from main to avoid Unicode quote corruption issue. Co-authored-by: dangrous <dangrous@users.noreply.github.com> Co-authored-by: Daniel Gale-Rosen <dangrous@users.noreply.github.com>
|
Fixed the failing typecheck by merging Root cause: The branch was created as an orphan (no shared git history with What was done:
|
|
The failing checks are unrelated to this PR's changes (translation files only). 1. 2. 3. Evidence: This PR only modifies |
|
The failing checks are all pre-existing issues on Typecheck — ESLint — Failures are in Test (job 2) — Build (developmentDebug) — Missing These failures haven't surfaced on |
|
Confirmed spanish translation in Slack https://expensify.slack.com/archives/C21FRDWCV/p1773946523030449 |
|
The failing checks are unrelated to this PR's changes (which only modify language translation files). Root cause:
This causes the cascading failures:
Evidence: The branch and These failures will resolve once |
|
@MelvinBot main shoudl be fixed, please try again |
…xpenseDisclaimer Co-authored-by: Daniel Gale-Rosen <dangrous@users.noreply.github.com>
|
Merged main into the PR branch — no conflicts. CI checks should re-run now. |
|
@MelvinBot please update the PR description to include the PR Author checklist so the PR Author Checklist / checklist (pull_request_target) check will pass. I will provide the screenshots and testing. |
|
The failing Analysis: The Android build fails during Gradle settings evaluation with: This is a build infrastructure issue — Evidence: The PR changes 10 language files ( The other failing check ( Recommendation: Re-run the failed |
|
Updated the PR description to include the full PR Author Checklist template. The description now includes all required sections: Explanation of Change, Fixed Issues, Tests, Offline tests, QA Steps, PR Author Checklist, and Screenshots/Videos. The checklist check should pass now. I've left the screenshots and platform testing checkboxes unchecked for you to fill in. |
|
The failing check is unrelated to this PR. Analysis: The This is an Android build infrastructure issue involving a missing Expo autolinking Gradle script in Evidence: The same build workflow is also failing on |
|
The failing check is unrelated to this PR. Analysis: The Evidence:
The |
|
The failing checks are unrelated to this PR's changes (which only modify translation strings in Failing checks:
Evidence these are CI infrastructure issues:
Recommended action: Re-run the failed workflow jobs. These are transient cache-miss failures that should resolve on retry. |
Explanation of Change
Adds "Please review receipt to confirm." disclaimer to the prohibited expense violation message, appended after the list of prohibited expense types. Updated across all 10 supported languages.
Before:
Prohibited expense: alcohol, gamblingAfter:
Prohibited expense: alcohol, gambling. Please review receipt to confirm.Translations added
Fixed Issues
$ #80696
Tests
Offline tests
N/A - this change only affects static translation strings, no network behavior changes.
QA Steps
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectiontoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, 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.ScrollViewcomponent to make it scrollable when more elements are added to the page.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