This PR removes only the orphaned system.reboot-boot-menu entries (49 catalogs plus the manifest). It is up to date with quattro (merged, not rebased). The missing translations themselves need the sync workflow fixed (#15549 / #15778); the findings below explain why this orphan matters and what else is outstanding.
Finding
I wrote a validator that checks every catalog of the 49 non-English languages against English: key sets, %N placeholders, plural forms, markup, entities and newlines. For each language it finds the same 111 keys missing, 5,439 in total:
| Catalog | Missing per language | What users see in English |
|---|---|---|
shell.json | 92 | Almost the whole new notification center: 83 keys (DND, snooze, history, preferences, "Copy this code", relative times "now/yesterday/%1m ago"). Also 6 Elsewhen people and search strings, 2 bar and 1 agents string. |
menu.json | 9 | Style > Font > CJK (the picker for Chinese, Japanese and Korean users, untranslated in ja, zh-CN, zh-TW and ko), and Remove > Service > 1Password. |
cli.json | 6 | T3 Code channel prompts, CJK font change notices, and "turned off on this machine". |
keybindings.json | 4 | "Move window to left/right/up/down monitor". |
Everything else is sound: no placeholder or plural mismatches, no broken markup, and the plural rules agree with ICU/CLDR 48 for every language for counts 0–2000 and the millions. All 50 locales generate with omarchy-locale-generate and resolve with glibc. Noto covers every script.
Why CI is green
.github/workflows/i18n-check.yml:41 and i18n-sync.yml run I18N_STRUCTURAL=1 bash test/shell.d/i18n-test.sh. In that mode missing translations count as pending work, not failures. Nothing runs the full check before a release. At the tag, the full check fails at its first catalog:
$ bash test/shell.d/i18n-test.sh
["key set differs","system.reboot-boot-menu: not in the English catalog"]
not ok - da/menu.json mirrors the English catalogsystem.reboot-boot-menu is a leftover of #15795, which removed the menu item but not its 49 translations or their manifest hashes. That orphan is the only extra key. The fix branch removes it, which lets the full check reach the real gap.
The translations aren't catching up
Every scheduled "Sync translations" run skips the translate job. On run 39540818298 (2026-10-21 03:50 UTC), extract and translate were skipped and every other job succeeded. On quattro HEAD today, da/shell.json still lacks 92 of 563 keys. #15549 (open) and #15778 (draft) fix the skip.
Suggested release gate
Run bash test/shell.d/i18n-test.sh without I18N_STRUCTURAL before cutting the 4.5.0 final release. Alternatively, release notes that advertise 50 languages should list what is still English.
Found while testing Omarchy 4.5.0-rc1.
[Low impact] This cleanup appears safe to merge.
Summary
Removes the unused
system.reboot-boot-menuentry from all 49 non-English menu catalogs and its matching hashes from the translation manifest.Reviews (1) · Last reviewed commit: "Merge quattro into fix/OM45-104" · Reviewed by Greptile