Update odometer error message to include missing 'to continue' suffix#89034
Update odometer error message to include missing 'to continue' suffix#89034
Conversation
The invalidReadings error message was missing the 'to continue' suffix that the expected behavior requires. Updated the English string from 'Please enter both start and end readings' to 'Please enter both start & end readings to continue', and added equivalent suffixes to all 9 other language translations. Co-authored-by: thelullabyy <thelullabyy@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 89d1d7c8..14a7b3f4 100644
--- a/src/languages/de.ts
+++ b/src/languages/de.ts
@@ -1421,7 +1421,7 @@ const translations: TranslationDeepObject<typeof en> = {
invalidTagLength: 'Der Tagname überschreitet 255 Zeichen. Bitte kürzen Sie ihn oder wählen Sie einen anderen Tag.',
invalidAmount: 'Bitte gib vor dem Fortfahren einen gültigen Betrag ein',
invalidDistance: 'Bitte gib eine gültige Entfernung ein, bevor du fortfährst',
- invalidReadings: 'Bitte geben Sie sowohl Start- als auch Endstand ein, bevor Sie fortfahren',
+ invalidReadings: 'Bitte gib sowohl Start- als auch Endstand ein, um fortzufahren',
negativeDistanceNotAllowed: 'Endstand muss größer als Anfangsstand sein',
distanceAmountTooLarge: 'Der Gesamtbetrag ist zu hoch. Verringere die Entfernung oder reduziere den Satz.',
distanceAmountTooLargeReduceDistance: 'Der Gesamtbetrag ist zu hoch. Verringere die Entfernung.',
diff --git a/src/languages/ja.ts b/src/languages/ja.ts
index 2bb7ae0a..5050648d 100644
--- a/src/languages/ja.ts
+++ b/src/languages/ja.ts
@@ -1400,7 +1400,7 @@ const translations: TranslationDeepObject<typeof en> = {
invalidTagLength: 'タグ名が255文字を超えています。短くするか、別のタグを選択してください。',
invalidAmount: '続行する前に有効な金額を入力してください',
invalidDistance: '続行する前に有効な距離を入力してください',
- invalidReadings: '続行する前に開始値と終了値の両方を入力してください',
+ invalidReadings: '続行するには開始値と終了値の両方を入力してください',
negativeDistanceNotAllowed: '終了値は開始値より大きくなければなりません',
distanceAmountTooLarge: '合計金額が大きすぎます。距離を減らすか、レートを下げてください。',
distanceAmountTooLargeReduceDistance: '合計金額が大きすぎます。距離を減らしてください。',
diff --git a/src/languages/nl.ts b/src/languages/nl.ts
index 46526cd3..1beb0473 100644
--- a/src/languages/nl.ts
+++ b/src/languages/nl.ts
@@ -1417,7 +1417,7 @@ const translations: TranslationDeepObject<typeof en> = {
invalidTagLength: 'De tagnaam is langer dan 255 tekens. Maak deze korter of kies een andere tag.',
invalidAmount: 'Voer een geldig bedrag in voordat je doorgaat',
invalidDistance: 'Voer een geldige afstand in voordat je verdergaat',
- invalidReadings: 'Voer zowel de begin- als eindstanden in voordat je doorgaat',
+ invalidReadings: 'Voer zowel de begin- als eindstanden in om door te gaan',
negativeDistanceNotAllowed: 'Eindstand moet hoger zijn dan beginstand',
distanceAmountTooLarge: 'Het totale bedrag is te hoog. Verlaag de afstand of verlaag het tarief.',
distanceAmountTooLargeReduceDistance: 'Het totale bedrag is te hoog. Verlaag de afstand.',
diff --git a/src/languages/pl.ts b/src/languages/pl.ts
index 2e022088..0d766834 100644
--- a/src/languages/pl.ts
+++ b/src/languages/pl.ts
@@ -1415,7 +1415,7 @@ const translations: TranslationDeepObject<typeof en> = {
invalidTagLength: 'Nazwa taga przekracza 255 znaków. Skróć ją lub wybierz inny tag.',
invalidAmount: 'Wprowadź poprawną kwotę przed kontynuowaniem',
invalidDistance: 'Wprowadź prawidłowy dystans przed kontynuowaniem',
- invalidReadings: 'Wprowadź zarówno odczyt początkowy, jak i końcowy przed kontynuowaniem',
+ invalidReadings: 'Wprowadź zarówno odczyt początkowy, jak i końcowy, aby kontynuować',
negativeDistanceNotAllowed: 'Końcowy odczyt musi być większy niż początkowy odczyt',
distanceAmountTooLarge: 'Łączna kwota jest zbyt wysoka. Zmniejsz dystans lub obniż stawkę.',
distanceAmountTooLargeReduceDistance: 'Łączna kwota jest zbyt wysoka. Zmniejsz dystans.',
diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts
index b6b28b0a..ddb5e73b 100644
--- a/src/languages/pt-BR.ts
+++ b/src/languages/pt-BR.ts
@@ -1414,7 +1414,7 @@ const translations: TranslationDeepObject<typeof en> = {
invalidTagLength: 'O nome da tag excede 255 caracteres. Reduza-o ou escolha uma tag diferente.',
invalidAmount: 'Insira um valor válido antes de continuar',
invalidDistance: 'Insira uma distância válida antes de continuar',
- invalidReadings: 'Insira as leituras de início e fim antes de continuar',
+ invalidReadings: 'Insira as leituras inicial e final para continuar',
negativeDistanceNotAllowed: 'A leitura final deve ser maior que a leitura inicial',
distanceAmountTooLarge: 'O valor total é muito alto. Diminua a distância ou reduza a tarifa.',
distanceAmountTooLargeReduceDistance: 'O valor total é muito alto. Diminua a distância.',
diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts
index 6f49eca5..03523b2a 100644
--- a/src/languages/zh-hans.ts
+++ b/src/languages/zh-hans.ts
@@ -1374,7 +1374,7 @@ const translations: TranslationDeepObject<typeof en> = {
invalidTagLength: '标签名称超过了 255 个字符。请缩短它或选择其他标签。',
invalidAmount: '请在继续之前输入有效金额',
invalidDistance: '请在继续之前输入有效的距离',
- invalidReadings: '请在继续之前输入起始读数和结束读数',
+ invalidReadings: '请输入起始和结束读数后继续',
negativeDistanceNotAllowed: '结束读数必须大于开始读数',
distanceAmountTooLarge: '总金额过大。请减少距离或降低费率。',
distanceAmountTooLargeReduceDistance: '总金额过大。请减少距离。',
Note You can apply these changes to your branch by copying the patch to your clipboard, then running |
|
@MelvinBot Please tick all checklist and open the PR for review |
|
Done! All checklist items have been ticked and the PR has been marked as ready for review. |
|
@thelullabyy 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] |
Reviewer Checklist
Screenshots/VideosAndroid: HybridApp |
joekaufmanexpensify
left a comment
There was a problem hiding this comment.
Fine for product
|
@MelvinBot Please add this test case to Test part |
|
Added the requested test case to the Tests section of the PR description. |
| invalidAmount: 'Por favor, ingresa un importe válido antes de continuar', | ||
| invalidDistance: 'Por favor, ingresa una distancia válida antes de continuar', | ||
| invalidReadings: 'Por favor ingrese ambas lecturas de inicio y fin', | ||
| invalidReadings: 'Por favor ingrese ambas lecturas de inicio y fin para continuar', |
thelullabyy
left a comment
There was a problem hiding this comment.
Copy changes. LGTM!
Confirming ES translation 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. |
|
🚧 @marcaaron has triggered a test Expensify/App build. You can view the workflow run here. |
|
🧪🧪 Use the links below to test this adhoc build on Android, iOS, and Web. Happy testing! 🧪🧪
|
|
🚀 Deployed to staging by https://github.com/marcaaron in version: 9.3.66-0 🚀
|
|
I reviewed the changes in this PR. It's a string-only change that updates the odometer validation error message ( No help site changes are required. The help site articles under |




Explanation of Change
The odometer validation error message (
invalidReadings) was missing the "to continue" suffix and used "and" instead of "&". Updated the English string fromPlease enter both start and end readingstoPlease enter both start & end readings to continueto match the expected behavior from the regression test case. Also added the equivalent "to continue" suffix to all 9 non-English translations, matching the phrasing pattern already used by neighboring error strings (invalidAmount,invalidDistance).Fixed Issues
$ #88695
PROPOSAL: #88695 (comment)
Tests
Offline tests
N/A — This is a string-only change with no network dependency.
QA Steps
// TODO: These must be filled out, or the issue title must include "[No QA]."
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