🌐 Add full i18n system frontend + API (Story 1.3)

Nuxt i18n with lazy-loaded JSON files, localized routes, hreflang SEO tags,
LanguageSwitcher component. Laravel SetLocale middleware, HasTranslations trait,
API Resources and Controllers for projects/skills with Accept-Language support.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-05 18:17:44 +01:00
parent bba6128236
commit 262242c7df
20 changed files with 472 additions and 77 deletions

37
frontend/i18n/en.json Normal file
View File

@@ -0,0 +1,37 @@
{
"nav": {
"home": "Home",
"projects": "Projects",
"skills": "Skills",
"testimonials": "Testimonials",
"journey": "Journey",
"contact": "Contact",
"resume": "Quick Resume"
},
"common": {
"continue": "Continue",
"back": "Back",
"discover": "Discover",
"close": "Close",
"loading": "Loading...",
"language": "Language"
},
"landing": {
"title": "Welcome to my universe",
"subtitle": "Full-Stack Developer",
"cta_adventure": "Start the adventure",
"cta_express": "Express mode"
},
"error": {
"404": "Page not found",
"generic": "An error occurred"
},
"meta": {
"title": "Skycel - Célian's Portfolio",
"description": "Discover my interactive and gamified portfolio"
},
"footer": {
"copyright": "© {year} Célian — Skycel",
"built_with": "Built with Nuxt & Laravel"
}
}