- Hero.tsx: pass locale prop directly to getTranslations instead of
relying on setRequestLocale async storage, which can be lost during
Next.js RSC streaming
- book-reviews route: replace revalidate=300 with force-dynamic to
prevent cached English responses being served to German locale requests
- content/page route: add runtime=nodejs and force-dynamic (was missing
both, violating CLAUDE.md API route conventions)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>