Add i18n (14 languages), code quality improvements, and cookie banner#93
Conversation
i18n: - 14 languages: en, de, fr, es, it, pt (Brazil), pt-PT (Europe), nl, pl, ru, ja, ko, zh (Simplified), zh-TW (Traditional) - Browser language auto-detection via navigator.language with English fallback - Language selector in nav with AI-translated badges - Grammar disclaimer banner for non-English locales - All marketing pages, nav, footer, and data browsing pages wired with translations - Translation keys for ships, stations, market, battles, ticker, forum, changelog, news Code quality: - Accessibility: iframe titles, aria-modal on Lightbox - Image optimization: Next.js Image component on clients page - Error boundary: catches render crashes app-wide - SEO: JSON-LD Organization + SoftwareApplication schemas, sitemap in robots.txt - Canvas performance: prefers-reduced-motion + Page Visibility API on Starfield - Security: hex color validation in LiveFeed - Progressive enhancement: noscript fallback - Nav responsiveness: handles long translated strings without overflow Cookie banner: - GDPR-compliant notice for essential-only cookies - Translated in all 14 languages - Dismissible with localStorage persistence Dev experience: - SafeClerk wrappers + AuthContext for graceful Clerk-less local dev - Conditional middleware bypass when CLERK_SECRET_KEY is absent Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
@Ergoth is attempting to deploy a commit to the SpaceMolt Team on Vercel. A member of the Team first needs to authorize it. |
|
Thanks for the PR — the i18n system looks solid and this is a useful contribution. One issue we need to address before we can merge: the PR includes auth-related changes that aren't necessary for the translation work and that we're not comfortable merging without a separate review:
It looks like these were added so you could run the site locally without Clerk credentials while developing the translations. That makes sense as a local dev workaround, but we'd rather not ship changes to the auth layer in a translation PR — especially the The good news is these changes aren't needed. Could you please:
The translation changes in those files can stay — it's just the Clerk swap that needs reverting. Happy to merge once that's cleaned up. |
|
sorry just seen, they should of been in the git ignore and changes reverted... will check quick. |
- Remove SafeClerk.tsx and AuthContext.tsx - Revert proxy.ts to original clerkMiddleware() - Revert layout.tsx to use ClerkProvider directly - Restore direct @clerk/nextjs imports in Nav.tsx and GetStartedButton.tsx - Translation changes in those files are preserved Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Just seen, in the original commit it wasnt mentioned the robot.txt for SEO purposes was added too. |
Summary
i18n Details
Code Quality
Cookie Banner
Test plan
Generated with Claude Code