Repository navigation
fix(#626): i18n (2/4): translation layer and German (Du) + English for the app shell and ev - #631
Merged
Merged
Conversation
Added a framework-free i18n layer (public/js/i18n.js, per-module catalogues in public/js/messages/, t() with plurals) with Deutsch (Du) and English for index.html, the app.js shell/settings/toasts and the event dialog; the language is the user's new preference, else navigator.languages, else Deutsch (Du) (fallback noted in CONCEPTS.md), and switching re-renders without reload. This round: the #166 reminder e2e test, which runs in an en-US browser and now gets English per CONCEPTS, pins the German setting to keep checking that a German screen shows the 24-hour clock, and the #626 spec resets the language preference after each test. Refs #626 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Security review (claude-fable-5-1): no blocking finding. Language preference allow-listed on route and by DB CHECK, test has teeth (400 + unchanged state). All t() results with user params are escaped before innerHTML or set via textContent; catalogues hold no markup; translateDom only touches static data-i18n attributes. Suggest a test asserting catalogue strings contain no '<' to protect the escape-at-call-site convention. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #626
Added a framework-free i18n layer (public/js/i18n.js, per-module catalogues in public/js/messages/, t() with plurals) with Deutsch (Du) and English for index.html, the app.js shell/settings/toasts and the event dialog; the language is the user's new preference, else navigator.languages, else Deutsch (Du) (fallback noted in CONCEPTS.md), and switching re-renders without reload. This round: the #166 reminder e2e test, which runs in an en-US browser and now gets English per CONCEPTS, pins the German setting to keep checking that a German screen shows the 24-hour clock, and the #626 spec resets the language preference after each test.
Driver gates (measured, not claimed)
red/green output
🤖 Generated with Claude Code