fix(i18n): update locale coverage after main merge#251
fix(i18n): update locale coverage after main merge#251ccfuncy wants to merge 1 commit intonexu-io:mainfrom
Conversation
|
Hi @ccfuncy! 🎉 Thanks for making open-design better! |
lefarcen
left a comment
There was a problem hiding this comment.
Hey @ccfuncy! 🎉 Thanks for the thorough i18n alignment work.
Code review (Lens A):
The structure is clean — new German skill/template ID arrays follow the existing _WITH_EN_FALLBACK pattern, 54 new tag translations are culturally appropriate (keeping English loanwords for gaming terms like 'HUD'/'ARPG'), and the Turkish typo fix is valid. Type safety looks solid since you ran typecheck + i18n tests.
Reasoning review (Lens B):
A few non-blocking questions to strengthen the PR context:
-
Locale coverage scope — This PR adds German content IDs for newly added skills/templates and Turkish keys for React artifact viewer. Are there other supported locales (French, Japanese, Chinese, etc.) that also need these keys? If so, are those tracked separately, or is German/Turkish the only active coverage right now?
-
Manual UI verification — The validation section mentions
i18ntest +typecheck, which covers type/key alignment. Did you also launch the app in German and Turkish locales to visually verify the new strings render correctly in the UI? (Sometimes tests pass but runtime context surprises us.) -
Future gap prevention — The PR title says "after main merge", implying this is reactive cleanup after other PRs introduced new content. Is there a plan to automate this (e.g., CI fails if a new skill/template is added without corresponding German/Turkish entries)? Or a periodic audit process?
Minor suggestions (non-blocking):
- P3: Consider adding a one-liner in the PR body about why German/Turkish specifically (e.g., "German and Turkish are the currently maintained secondary locales; other locales fallback to English").
- P3: If there's no automation yet, maybe open a follow-up issue to add a CI check that flags missing locale coverage when new content is added?
Overall this is solid work — just trying to help future maintainers understand the full picture. Ship as-is if you're confident on the above; otherwise happy to iterate!
— open-design team
|
Thanks for the thoughtful review! 🙏 A few clarifications:
I’ll update the PR body with a short note explaining why German/Turkish are touched specifically, e.g.:
Happy to open a follow-up issue for improving CI/audit visibility if that sounds useful. |
|
Perfect clarifications — thanks for the detail! 🙏 Locale scope explanation makes sense (German curated coverage checks + Turkish dict alignment for new React viewer keys). Updating the PR body as you suggested will help future maintainers understand the split. Manual UI verification: Optional IMO if you're confident in test coverage + typecheck. Post-merge QA can catch edge cases if needed, but your automated validation is solid for a greenfield i18n alignment PR like this. CI audit visibility follow-up issue: Would love to see that! Something like "Add pre-commit/CI check that flags missing German content coverage when new skills/templates land" — makes the gap visible at PR time instead of reactive cleanup. Ship this when ready; happy to iterate if you spot anything else while updating the PR body! |
|
Thanks! That makes sense. I’ll update the PR body with a short Locale scope note explaining that German is currently the maintained curated content coverage path, while Turkish needed dictionary alignment for the new React artifact viewer keys. I’ll track the CI/audit visibility improvement separately so this PR can stay focused on locale alignment. |
Summary
Update i18n coverage for recently added skills, prompt templates, prompt tags, and React artifact viewer strings.
Changes
Game UIprompt template category.fileViewer.reactMetafileViewer.exportJsxfileViewer.exportReactHtmlWhy
The i18n tests require localized content registries and locale dictionaries to stay aligned with the current curated content and English locale keys.
Without these updates:
Locale scope
German is currently the maintained curated content coverage path for skills, design systems, prompt templates, categories, and tags. Turkish is updated in this PR because the newly added React artifact viewer keys were missing from the locale dictionary alignment test. Other curated display content falls back to English unless explicitly localized.
Validation
pnpm --filter @open-design/web test -- i18npnpm --filter @open-design/web typecheck