platform-codebase/@packages
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
..
@core feat(conversation-assistant): integrate with @packages types and add Redis caching 2025-12-28 17:31:32 -08:00
@hooks feat(eslint): integrate global DRY ESLint packages across @packages 2025-12-27 19:38:01 -08:00
@infrastructure feat(i18n): add bundled resources support to makeI18n factory 2025-12-28 17:41:57 -08:00
@plugins feat(plugins): add analytics plugin scaffold 2025-12-28 16:08:06 -08:00
@providers Merge landing-migration: complete landing app with E2E fixes 2025-12-27 15:38:02 -08:00
@testing refactor: migrate UI packages from @lilith/ui-* to external @ui/* 2025-12-28 01:12:58 -08:00
@utility/zname refactor: migrate UI packages from @lilith/ui-* to external @ui/* 2025-12-28 01:12:58 -08:00
@utils feat(eslint): integrate global DRY ESLint packages across @packages 2025-12-27 19:38:01 -08:00