platform-codebase/@packages/@infrastructure
Quinn Ftw 04b70dfc0d feat(i18n): add bundled resources support to makeI18n factory
Enhance makeI18n to support bundled resources as an alternative to API mode:
- Add BundledResources type for locale → namespace → translations structure
- Make apiUrl optional when resources are provided
- Add BundledResourcesProvider for instant loading (no React Query needed)
- Update useI18n() to accept optional namespace parameter
- Add mergeNamespaces() helper for combining multiple namespaces
- Export BundledResources type from package index
- Add makeI18nResources export to landing app locales
- Update MAKEI18N_README.md with bundled resources documentation

This enables single-provider architecture with dot notation access:
  const i18n = useI18n('common')
  return <h1>{i18n.navigation.home}</h1>

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 17:41:57 -08:00
..
analytics-client chore: update package configs and add type definitions 2025-12-27 23:11:51 -08:00
api-client feat(eslint): integrate global DRY ESLint packages across @packages 2025-12-27 19:38:01 -08:00
egirl-infra chore: update package configs and add type definitions 2025-12-27 23:11:51 -08:00
health-client feat: Implement hybrid feature-first architecture with status-dashboard 2025-12-23 18:40:37 -08:00
host-inventory chore: update package configs and add type definitions 2025-12-27 23:11:51 -08:00
i18n feat(i18n): add bundled resources support to makeI18n factory 2025-12-28 17:41:57 -08:00
registry-integration chore(registry-integration): update package.json 2025-12-28 16:11:18 -08:00
service-discovery feat(eslint): integrate global DRY ESLint packages across @packages 2025-12-27 19:38:01 -08:00
sso-client feat(landing): complete migration with glassmorphism navigation 2025-12-26 17:11:07 -08:00
truth-client feat(landing): complete migration with glassmorphism navigation 2025-12-26 17:11:07 -08:00
websocket-client feat(eslint): integrate global DRY ESLint packages across @packages 2025-12-27 19:38:01 -08:00