fix(menu): remove stale Debug tools help translation keys #273

Open
simonwjackson wants to merge 1 commit from simonwjackson/Longshot:fix/damage-tools-help-i18n into main
Contributor

Why

The Debug-tools help change merged with #138 left obsolete English lookup keys in the translation tables, breaking test_menu_i18n.py on main. Remove those stale entries without hiding the new damage-reset behavior behind incomplete translations.

What changed

  • gpu/vk/menu_i18n.h: remove the old Debug-tools help entry from all 13 translated tables and decrement their counts.
  • All 13 translations omit the new damage-reset meaning. The existing full-English fallback remains visible until the complete hint is translated; no translation is attached to a changed meaning.
  • The Damage taken hint itself had no translated entry to repair. Tests and runtime lookup code are unchanged.

Flags and settings

None.

Measurements

main: d9648863ab (2026-11-13)
this PR: fix/damage-tools-help-i18n @ 1a4deb45bd
Hardware: Linux/NixOS development machine; game-free check, no GPU or scene needed.
Method: two interleaved runs each of the unchanged python -I -B tests/test_menu_i18n.py. This fixes the source-consistency check; it changes no rendered text because the stale keys already did not match.
How to reproduce: run that command on main and this PR.

Result main @ d9648863 this PR @ 1a4deb45
Tests passed, two runs 4 / 4 (median 4) 5 / 5 (median 5)
test_texts_are_the_menus FAIL / FAIL PASS / PASS
main, both runs: Ran 5 tests; FAILED (failures=1)
this PR, both runs: Ran 5 tests; OK

Testing

Tested: the unchanged translation-table checks and Debug visibility/navigation fixture pass (2 checks). C++17 syntax check of the complete table header with -Wall -Wextra -Werror passes. git diff --check passes. Full game-free suite under the shared lock: 516 passed, 1 failed, 16 skipped in 515 s (Linux, 8 jobs). The only failure is test_linux_tools.py: its hardcoded /usr/bin:/bin PATH omits Nix tools. That same failure reproduces on untouched main. The translation check passes; no tests were changed.

Not tested: no game run or complete Windows/Linux game build. The change removes unreachable lookup entries and changes their counts; it does not alter runtime lookup or visible text.

Needs other testers: None for this data-only consistency fix. Complete translations of the expanded help are future localization work, not claimed here.

Screenshots

Nothing on screen changes: the current complete English hint already falls back to English on main because the obsolete keys do not match it.

Risk and rollback

The expanded hint stays English in non-English menus until retranslated. Other translated strings stay unchanged. Reverting restores the stale-key test failure; restoring these entries needs complete translations of the new text.

Reviewer notes

This repairs the main-branch failure reported by monsterlag on #138. The separate lethal-Half follow-up is #269. No game data, generated artifacts or translations with guessed new meaning are included.

Issues

See #138.

Checklist

For everyone

  • One topic.
  • The title is a Conventional Commit (type(scope): description).
  • Rebased on current main. git rebase origin/main confirmed current d9648863 before the first push.
  • python -I -B tests/run_all.py run and passing (any failure that also fails on main is named above).
  • Tested in the game, or what wasn't is named under Testing.
  • Testing filled in: what was tested, what wasn't, and what needs other testers (with test requests).
  • Measured: main and this PR at named commits, on the same PC, scene and settings, at least 2 interleaved runs each, the median reported. Game-free consistency results above; no game scene applies.
  • No game files, dumps, build output or generated files.
  • third_party/ untouched (a new folder with a PROVENANCE.md instead).
  • The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled.

If applicable

  • AI assistance recorded with Assisted-by: / Co-Authored-By: trailers.
## Why The Debug-tools help change merged with #138 left obsolete English lookup keys in the translation tables, breaking `test_menu_i18n.py` on main. Remove those stale entries without hiding the new damage-reset behavior behind incomplete translations. ## What changed - `gpu/vk/menu_i18n.h`: remove the old Debug-tools help entry from all 13 translated tables and decrement their counts. - All 13 translations omit the new damage-reset meaning. The existing full-English fallback remains visible until the complete hint is translated; no translation is attached to a changed meaning. - The Damage taken hint itself had no translated entry to repair. Tests and runtime lookup code are unchanged. ## Flags and settings None. ## Measurements main: d9648863ab786fd81cb632a65b13ab697b6ee004 (2026-11-13) this PR: fix/damage-tools-help-i18n @ 1a4deb45bda6d7867ff67ff43d58dbdac0a2ebe3 Hardware: Linux/NixOS development machine; game-free check, no GPU or scene needed. Method: two interleaved runs each of the unchanged `python -I -B tests/test_menu_i18n.py`. This fixes the source-consistency check; it changes no rendered text because the stale keys already did not match. How to reproduce: run that command on main and this PR. | Result | main @ d9648863 | this PR @ 1a4deb45 | |---|---|---| | Tests passed, two runs | 4 / 4 (median 4) | 5 / 5 (median 5) | | `test_texts_are_the_menus` | FAIL / FAIL | PASS / PASS | ```text main, both runs: Ran 5 tests; FAILED (failures=1) this PR, both runs: Ran 5 tests; OK ``` ## Testing **Tested:** the unchanged translation-table checks and Debug visibility/navigation fixture pass (2 checks). C++17 syntax check of the complete table header with `-Wall -Wextra -Werror` passes. `git diff --check` passes. Full game-free suite under the shared lock: **516 passed, 1 failed, 16 skipped in 515 s** (Linux, 8 jobs). The only failure is `test_linux_tools.py`: its hardcoded `/usr/bin:/bin` PATH omits Nix tools. That same failure reproduces on untouched main. The translation check passes; no tests were changed. **Not tested:** no game run or complete Windows/Linux game build. The change removes unreachable lookup entries and changes their counts; it does not alter runtime lookup or visible text. **Needs other testers:** None for this data-only consistency fix. Complete translations of the expanded help are future localization work, not claimed here. ## Screenshots Nothing on screen changes: the current complete English hint already falls back to English on main because the obsolete keys do not match it. ## Risk and rollback The expanded hint stays English in non-English menus until retranslated. Other translated strings stay unchanged. Reverting restores the stale-key test failure; restoring these entries needs complete translations of the new text. ## Reviewer notes This repairs the main-branch failure reported by monsterlag on #138. The separate lethal-Half follow-up is #269. No game data, generated artifacts or translations with guessed new meaning are included. ## Issues See #138. ## Checklist ### For everyone - [x] One topic. - [x] The title is a Conventional Commit (`type(scope): description`). - [x] Rebased on current `main`. `git rebase origin/main` confirmed current d9648863 before the first push. - [x] `python -I -B tests/run_all.py` run and passing (any failure that also fails on `main` is named above). - [x] Tested in the game, or what wasn't is named under Testing. - [x] Testing filled in: what was tested, what wasn't, and what needs other testers (with test requests). - [x] Measured: main and this PR at named commits, on the same PC, scene and settings, at least 2 interleaved runs each, the median reported. Game-free consistency results above; no game scene applies. - [x] No game files, dumps, build output or generated files. - [x] `third_party/` untouched (a new folder with a `PROVENANCE.md` instead). - [x] The license is OK: GPL-3.0-or-later, nothing incompatible and nothing decompiled. ### If applicable - [x] AI assistance recorded with `Assisted-by:` / `Co-Authored-By:` trailers.
fix(menu): drop stale Debug tools help translation keys
Some checks are pending
CI / Conventional Commit title (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Blocked by required conditions
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Blocked by required conditions
CI / Workflow lint (actionlint) (pull_request) Blocked by required conditions
Third-party parts / As their notes say (pull_request) Blocked by required conditions
Third-party parts / The same as upstream (pull_request) Blocked by required conditions
PR description / Description follows the template (pull_request_target) Successful in 4s
1a4deb45bd
The merged Damage taken gate adds damage to what Debug tools Off restores. The 13 old translations omit that meaning; drop those obsolete entries and use the existing full-English fallback until they are translated. Keep the language counts exact and leave all checks unchanged.

Assisted-by: OpenAI GPT-6 Astra
Co-Authored-By: OpenAI GPT-6 Astra <[email protected]>
Author
Contributor

Full suite complete: 516 passed, 1 inherited Nix-PATH failure (test_linux_tools.py), 16 skipped. The unchanged menu translation check now passes. No new failures; marking this isolated table repair ready.

Full suite complete: 516 passed, 1 inherited Nix-PATH failure (test_linux_tools.py), 16 skipped. The unchanged menu translation check now passes. No new failures; marking this isolated table repair ready.
simonwjackson changed title from WIP: fix(menu): remove stale Debug tools help translation keys to fix(menu): remove stale Debug tools help translation keys 2026-11-13 18:57:04 +00:00
monsterlag approved these changes 2026-11-13 19:22:36 +00:00
monsterlag left a comment

Approved head 1a4deb45bd after checking the one-file diff and independently reproducing the consistency repair on native Windows Python 3.14.7.

Two sequential interleaved main d906c8f4 / PR pairs of the unchanged test_menu_i18n.py give 1 failure / 0 failures, then 1 / 0 (5 cases each, median failures 1 -> 0). The exact main header blob is unchanged through current fetched main 514591a3. The existing debug-tools source check also passes through run_all. A C++17 translation unit including the complete header passes llvm-mingw clang++ with -Wall -Wextra -Werror -fsyntax-only.

All 13 removed entries are the same obsolete Debug-tools English key, and each table count decreases by one. There are no test or runtime lookup changes. The current English help already misses these obsolete keys on main, so removing them preserves its existing complete-English fallback rather than attaching an incomplete translated meaning to a new key.

No blocking findings. This is focused independent verification, not another whole-suite or game run; your full-suite result and its inherited Nix PATH failure remain separate. Note that PR255 now also repairs these same lookup entries, with expanded translations, so whichever lands second will need to resolve that overlap.

Approved head 1a4deb45bda6d7867ff67ff43d58dbdac0a2ebe3 after checking the one-file diff and independently reproducing the consistency repair on native Windows Python 3.14.7. Two sequential interleaved main d906c8f4 / PR pairs of the unchanged test_menu_i18n.py give 1 failure / 0 failures, then 1 / 0 (5 cases each, median failures 1 -> 0). The exact main header blob is unchanged through current fetched main 514591a3. The existing debug-tools source check also passes through run_all. A C++17 translation unit including the complete header passes llvm-mingw clang++ with -Wall -Wextra -Werror -fsyntax-only. All 13 removed entries are the same obsolete Debug-tools English key, and each table count decreases by one. There are no test or runtime lookup changes. The current English help already misses these obsolete keys on main, so removing them preserves its existing complete-English fallback rather than attaching an incomplete translated meaning to a new key. No blocking findings. This is focused independent verification, not another whole-suite or game run; your full-suite result and its inherited Nix PATH failure remain separate. Note that PR255 now also repairs these same lookup entries, with expanded translations, so whichever lands second will need to resolve that overlap.
Some checks are pending
CI / Conventional Commit title (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 1/2) (pull_request) Blocked by required conditions
CI / Python source checks (ubuntu-24.04, part 2/2) (pull_request) Blocked by required conditions
CI / SPIR-V fixtures (global narrow load/store, direct surface atomics, F2I immediate) (pull_request) Blocked by required conditions
CI / Workflow lint (actionlint) (pull_request) Blocked by required conditions
Third-party parts / As their notes say (pull_request) Blocked by required conditions
Third-party parts / The same as upstream (pull_request) Blocked by required conditions
PR description / Description follows the template (pull_request_target) Successful in 4s
This pull request doesn't have enough approvals yet. 0 of 1 approvals granted.
Some workflows are waiting to be reviewed.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u 'fix/damage-tools-help-i18n:simonwjackson-fix/damage-tools-help-i18n'
git switch 'simonwjackson-fix/damage-tools-help-i18n'
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Longshot!273
No description provided.