Files
Portfolio-Game/frontend/i18n/en.json
skycel 7e87a341a2 feat(epic-4): chemins narratifs, easter eggs, challenge et contact
Epic 4: Chemins Narratifs, Challenge & Contact

Stories implementees:
- 4.1: Composant ChoiceCards pour choix narratifs binaires
- 4.2: Sequence d'intro narrative avec Le Bug
- 4.3: Chemins narratifs differencies avec useNarrativePath
- 4.4: Table easter_eggs et systeme de detection (API + composable)
- 4.5: Easter eggs UI (popup, notification, collection)
- 4.6: Page challenge avec puzzle de code
- 4.7: Page revelation "Monde de Code"
- 4.8: Page contact avec formulaire et stats

Fichiers crees:
- Frontend: ChoiceCards, IntroSequence, ZoneEndChoice, EasterEggPopup,
  CodePuzzle, ChallengeSuccess, CodeWorld, et pages intro/challenge/revelation
- API: EasterEggController, Model, Migration, Seeder

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 13:35:12 +01:00

325 lines
12 KiB
JSON

{
"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",
"back_home": "Back to home",
"back_to_adventure": "Back to the adventure",
"retry": "Retry"
},
"landing": {
"title": "Welcome to my universe",
"subtitle": "Passionate Full-Stack Developer",
"cta_adventure": "Start the adventure",
"cta_express": "Express mode (30s)"
},
"hero": {
"question": "Who are you, traveler?",
"select_label": "Select your profile",
"recruteur": {
"name": "Recruiter",
"description": "I'm looking for a talent to join my team"
},
"client": {
"name": "Client",
"description": "I have a project and I'm looking for the right developer"
},
"dev": {
"name": "Developer",
"description": "I'm curious to discover your work and skills"
}
},
"error": {
"404": "Oops! This page seems to have gotten lost in the code...",
"generic": "An unexpected error occurred. The Bug is investigating..."
},
"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"
},
"consent": {
"aria_label": "Consent banner",
"message": "To save your adventure and let you pick up where you left off, I need your permission to store a few details on your device. Nothing personal, just your progress!",
"accept": "Sure, save my adventure",
"refuse": "No thanks, I prefer to stay anonymous"
},
"welcome_back": {
"message": "Welcome back, adventurer! You had started your exploration...",
"continue": "Continue",
"restart": "Start over"
},
"resume": {
"title": "Full-Stack Developer",
"tagline": "Passionate about innovative and immersive web experiences",
"skills_title": "Tech Stack",
"projects_title": "Recent Projects",
"projects_loading_hint": "Projects coming soon...",
"cta_contact": "Contact Me",
"adventure_link": "Want to explore? Discover the full adventure",
"meta_title": "C\u00e9lian - Full-Stack Developer | Quick Resume",
"meta_description": "Full-Stack Developer specialized in Vue.js, Nuxt, Laravel. Discover my profile and projects in 30 seconds."
},
"projects": {
"title": "My Projects",
"page_title": "Projects | Skycel",
"page_description": "Discover projects created by C\u00e9lian, full-stack web developer.",
"discover": "Discover",
"no_projects": "No projects yet",
"load_error": "Unable to load projects...",
"view_all": "View all projects",
"not_found": "Project not found",
"not_found_description": "This project doesn't exist or has been removed.",
"back_to_gallery": "Back to gallery",
"completed_on": "Completed on",
"visit_site": "Visit site",
"view_code": "View code",
"skills_used": "Skills used",
"skill_level": "Level",
"previous": "Previous project",
"next": "Next project"
},
"skills": {
"title": "My Skills",
"page_title": "Skills | Skycel",
"page_description": "Discover the technical skills and soft skills of C\u00e9lian, full-stack web developer.",
"load_error": "Unable to load skills...",
"no_skills": "No skills yet",
"skill_tree_placeholder": "Interactive skill tree (coming soon)",
"level": "Level",
"project": "project",
"projects": "projects",
"related_projects": "Projects using this skill",
"load_projects_error": "Unable to load related projects",
"no_related_projects": "No projects use this skill yet"
},
"testimonials": {
"page_title": "Testimonials | Skycel",
"page_description": "Discover what my collaborators and clients say about my work.",
"load_error": "Unable to load testimonials...",
"no_testimonials": "No testimonials yet",
"cta_title": "Want to work together?",
"cta_description": "Let's discuss your project and see how I can help.",
"cta_button": "Contact me",
"dialogue_mode": "Dialogue",
"list_mode": "List",
"click_to_continue": "Click or press Space to continue...",
"previous": "Previous",
"next": "Next",
"finish": "Finish",
"go_to": "Go to testimonial",
"keyboard_hint": "Use \u2190 \u2192 arrows to navigate, Space to speed up"
},
"journey": {
"title": "My Journey",
"page_title": "Journey | Skycel",
"page_description": "Discover C\u00e9lian's professional journey, from the beginning to today.",
"end_message": "The adventure continues... Who knows where code will take me tomorrow?",
"milestones": [
{
"date": "2018",
"title": "First steps in development",
"description": "Discovering code through personal projects. HTML, CSS, JavaScript became my new travel companions. The spark was there.",
"icon": "\ud83d\ude80"
},
{
"date": "2019",
"title": "Intensive training",
"description": "Deep dive into professional web development. Learning modern frameworks, best practices, and agile methodologies.",
"icon": "\ud83d\udcda"
},
{
"date": "2020",
"title": "First clients",
"description": "Starting as a freelancer. First real projects, first real challenges. Each client teaches me something new.",
"icon": "\ud83d\udcbc"
},
{
"date": "2021",
"title": "Specialization in Vue.js & Laravel",
"description": "The game-changing duo. Vue.js on the front, Laravel on the back. A stack that allows me to create complete, performant web experiences.",
"icon": "\u26a1"
},
{
"date": "2022",
"title": "Creating the micro-enterprise",
"description": "Making the entrepreneurial adventure official. The spider becomes the mascot, the Bug becomes the guide. The Skycel identity takes shape.",
"icon": "\ud83d\udd77\ufe0f"
},
{
"date": "2023-2024",
"title": "Ambitious projects",
"description": "From complex web applications to e-commerce sites, each project pushes boundaries. TypeScript, Nuxt 4, and an obsession with quality.",
"icon": "\ud83c\udfaf"
},
{
"date": "2025",
"title": "Today",
"description": "This portfolio you're exploring. An adventure in itself, reflecting my passion for creating memorable web experiences. And this is just the beginning...",
"icon": "\u2728"
}
]
},
"narrator": {
"clickToSkip": "Click or press Space to skip",
"bugAlt": "The Bug - Stage {stage}"
},
"intro": {
"continue": "Continue",
"startExploring": "Start exploring",
"skip": "Skip intro",
"fallback": {
"seq1": "Welcome to my domain... I am The Bug, your guide for this adventure.",
"seq2": "There's someone here you're looking for... A mysterious developer who created everything you see.",
"seq3": "To find them, explore this world. Each zone hides a part of their story. Are you ready?"
}
},
"map": {
"ariaLabel": "Interactive portfolio map. Use Tab to navigate between zones and Enter to explore.",
"instructions": "Use Tab keys to navigate between zones and Enter or Space to explore a zone.",
"locked": "Locked zone - Explore more",
"visited": "Already visited",
"clickToExplore": "Click to explore",
"legend": {
"notVisited": "Not visited",
"visited": "Visited",
"locked": "Locked"
}
},
"progress": {
"label": "Progress: {percent}%",
"title": "Portfolio exploration",
"sections": {
"projects": "Projects",
"skills": "Skills",
"testimonials": "Testimonials",
"journey": "Journey"
},
"summary": "{visited} visited, {remaining} to discover"
},
"zone": {
"locked": "Locked",
"visited": "Visited",
"new": "To discover",
"newBadge": "New"
},
"cheminLibre": {
"title": "Free Path"
},
"bottomBar": {
"map": "Map",
"progress": "Progress",
"settings": "Settings"
},
"settings": {
"title": "Settings",
"language": "Language",
"expressMode": "Express Mode",
"expressModeDesc": "Quick navigation without adventure",
"goToResume": "View Resume",
"saveProgress": "Save my progress",
"saveProgressDesc": "Allows you to resume where you left off",
"reset": "Reset my progress",
"confirmReset": "Are you sure you want to reset your progress?"
},
"pages": {
"projects": {
"title": "Projects",
"description": "Discover my projects and achievements"
},
"skills": {
"title": "Skills",
"description": "My technical and soft skills"
},
"testimonials": {
"title": "Testimonials",
"description": "What people say about my work"
},
"journey": {
"title": "Journey",
"description": "My professional and personal journey"
},
"contact": {
"title": "Contact",
"description": "Get in touch with me"
},
"resume": {
"title": "Quick Resume",
"description": "The essentials at a glance"
}
},
"easterEgg": {
"found": "Easter Egg found!",
"count": "{found} / {total} discovered",
"difficulty": "Difficulty",
"collection": "My Collection",
"allFound": "Collection complete! You're a true explorer!",
"hint": "Keep exploring... surprises are hidden everywhere!"
},
"challenge": {
"title": "One last challenge...",
"intro": "Before meeting the developer, prove you understand the basics of code. Nothing too hard, I promise.",
"accept": "Accept the challenge",
"skip": "Skip to contact",
"puzzleTitle": "Put the code in order",
"puzzleInstruction": "Drag the lines to reconstruct the function that unlocks access to the developer.",
"hint1": "The function starts with function unlockDeveloper() {",
"hint2": "The secret variable is defined right after the opening brace",
"hint3": "The last line before the closing brace is return Keep exploring...",
"hintLabel": "Hint",
"needHint": "Need help?",
"validate": "Check",
"validating": "Checking...",
"wrongOrder": "That's not the right order... Try again!",
"moveUp": "Move up",
"moveDown": "Move down",
"success": "Well done!",
"successMessage": "You've proven your worth. The path to the developer is now open...",
"redirecting": "Redirecting..."
},
"revelation": {
"loading": "Loading...",
"bugSays": "The Bug says: You found them!",
"foundMe": "You found me!",
"message": "Welcome to my world of code. Thank you for exploring all this way to find me.",
"contactCta": "Contact me",
"srDescription": "Revelation page. You found the developer Celian. A button allows you to contact them.",
"codeWorldAlt": "An ASCII art world representing a code landscape with the message You found me in the center."
},
"contact": {
"statsTitle": "Your journey",
"zones": "Zones visited",
"easterEggs": "Easter eggs",
"challenge": "Challenge",
"title": "Contact me",
"subtitle": "Congratulations for exploring all this way! I'd be happy to chat with you.",
"name": "Name",
"namePlaceholder": "Your name",
"email": "Email",
"emailPlaceholder": "your.email(at)example.com",
"message": "Message",
"messagePlaceholder": "What brings you here?",
"send": "Send",
"sending": "Sending...",
"success": "Message sent!",
"successMessage": "Thanks for your message. I'll get back to you as soon as possible.",
"error": "An error occurred. Please try again later.",
"rateLimitError": "Too many attempts. Please wait a moment before trying again."
}
}