Files
infiplot-web/public/home/firstact-en/f23.json
T
yuanzonghao 0a7076d5b9 fix(i18n): overhaul i18n with [locale] routing, SSR translations, and hreflang SEO
Rewrites the i18n system introduced in PR #94 to use Next.js App Router
[locale] dynamic segments with SSR-rendered translations and proper
middleware locale routing.

- Add middleware locale detection: / rewrites to /zh-CN/ internally,
  /en and /ja pass through, /zh-CN/... redirects to bare path
- Move all 7 pages under app/[locale]/ with SSR translation injection
- Fix server→client serialization: pre-evaluate function-valued
  translations (makeSerializable) to eliminate hydration flash
- Fix language switch key flash: use hard navigation with localStorage-
  only persistence, avoiding React state update before page reload
- Add <link rel="alternate" hreflang> tags for multilingual SEO
- Fix Supabase setAll overwriting locale rewrite response
- Trim locales from 22 to 3 (zh-CN/en/ja), delete 19 incomplete files
- LLM-translate 240 firstact game preset JSONs (en + ja, landscape +
  portrait) and story titles via gemini-3.5-flash
- Delete 11 one-off migration scripts and outdated i18n docs
- Add useLocalePath hook and navigation utilities

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-06-18 23:16:17 +08:00

1 line
6.4 KiB
JSON

{"sessionId":"s_1780423645552_2ysst0","scene":{"id":"scene_1780423674626_zepq","scenePrompt":"Wide establishing shot of a dark, rain-slicked alley behind a nightclub. Wet brick walls glisten under a single flickering neon sign casting a deep red glow. A cracked vanity mirror sits on a cluttered table, rain-streaked, with fresh, dripping writing on its surface. Steam rises from a nearby grate. The atmosphere is heavy with urban noir tension, deep dramatic shadows, high-contrast cinematic lighting. The scene is empty of people, focusing on the oppressive, mysterious environment.","beats":[{"id":"b1","narration":"As the final song ends, the applause fades thinly outside the door. You turn on the faucet and splash cold water onto your face, the heavy stage makeup smudging into a blurry ink wash.","next":{"type":"continue","nextBeatId":"b2"}},{"id":"b2","narration":"You look up at the fogged-up mirror. On its surface, crooked water streaks spell out: 'Old warehouse in the west of the city, midnight. Bring your \"Rose\" badge.' The writing is still wet, water droplets sliding down the strokes.","next":{"type":"continue","nextBeatId":"b3"}},{"id":"b3","narration":"Your fingertips brush over the wet marks. The writing is icy cold, carrying an unquestionable sense of command. You recall the last message sent by your best friend, Xiao Yu, before she disappeared—two words that pierce your memory like needles: 'Be careful.'","next":{"type":"choice","choices":[{"id":"c1","label":"Head to the warehouse immediately","effect":{"kind":"change-scene","nextSceneSeed":"An abandoned warehouse in the west of the city, midnight. The rain is pouring harder. Gun in hand, you push open the door, only to find yourself staring down the barrel of Shen Du's gun under the dim, yellow light."}},{"id":"c2","label":"Contact A-Ling first to investigate the note","effect":{"kind":"advance-beat","targetBeatId":"b4"}}]}},{"id":"b4","speaker":"You","line":"(Into the phone) A-Ling, look something up for me. The old warehouse in the west of the city—someone asked to meet me there tonight.","next":{"type":"continue","nextBeatId":"b5"}},{"id":"b5","narration":"Silence hangs on the other end of the line for a few seconds, save for the noisy background chatter. When A-Ling's voice finally comes through, it is uncharacteristically devoid of laughter.","next":{"type":"choice","choices":[{"id":"b5__exit","label":"Continue","effect":{"kind":"change-scene","nextSceneSeed":"The story continues"}}]}}],"entryBeatId":"b1","sceneKey":"backstage-dark-alley-club","imageUuid":"ebf6eb94-3520-42a1-b98a-12f5f6abb9b8","imageUrl":"/home/firstscene/f23.webp"},"imageUrl":"/home/firstscene/f23.webp","characters":[],"storyState":{"logline":"You are a private detective posing as a singer in a dark alley. When you point your investigation at the mysterious nobleman who appears on rainy nights, you discover he is also chasing the same disappearance. Are you allies, or each other's ultimate prey?","genreTags":"Urban Mystery / Film Noir / Power Struggle / Romantic Tension","protagonist":"You are a private detective codenamed 'Rose.' By day, you are a resident singer at an alleyway nightclub; by night, you slip through the shadows to investigate a series of bizarre disappearances. Your target is the missing person's sister—she was once your best friend, your weakness. You are used to working alone, until that noble gentleman, who always appears on rainy nights, disrupts all your plans.","castNotes":"Shen Du: A mysterious nobleman who appears on rainy nights. Beneath his gentle and elegant facade lies the sharp, dangerous instinct of a hound. He is also an investigator, yet his intimate knowledge of your identity sends a shiver down your spine.\nA-Ling: Your nightclub colleague and an information broker. Seemingly slick and worldly, she harbors a deep-seated hatred tied to the disappearances. She is your informant, but could betray you at any moment.\nOld Chen: The detective captain in charge of the disappearance cases. He is well aware of your 'detective' identity but turns a blind eye. He provides limited official information, but seems to be covering up a deeper truth.","synopsis":"In the nightclub's backstage, you discover an anonymous invitation written in rainwater, instructing you to bring your 'Rose' badge to the old warehouse in the west of the city. Recalling your best friend's warning before her disappearance, you must decide whether to keep the appointment or verify it first with the information broker, A-Ling.","openThreads":["Who left the note? Was it Shen Du, or a third party setting a trap?","Why did A-Ling say that three people investigating the disappearances recently died at the warehouse?","What is the connection between your best friend's warning before her disappearance and this invitation?"],"relationships":["A-Ling: A reliable yet suspicious informant. Her unusual tone right now suggests she knows the inside story."],"nextHook":"Next Scene: You ultimately decide to head to the warehouse. Pushing open the heavy iron doors in the rainy night, you face Shen Du head-on for the first time under the dim, yellow light."},"cardName":"f23","cardTitle":"Alleyway Rose","cardGender":"Female-oriented","worldSetting":"This is an AI interactive story game targeted at a 【Female-oriented】 audience, featuring intense dramatic conflicts and rapid plot twists in the style of short-form web dramas.\nStory Style: Multi-line twists. Pacing: Fast and exhilarating.\nOpening setup for the featured story 'Alleyway Rose': She is a nightclub singer and a private detective secretly investigating a series of disappearances. When she targets a mysterious nobleman who always appears on rainy nights, she discovers he is also chasing the same conspiracy. From testing each other to joining forces, they dance a dangerous and passionate tango amidst neon lights and shadows.\nPlease dive straight into this opening to give players a strong sense of immersion and instant gratification; subsequent branches should maintain the high density of twists typical of short dramas, allowing players to see immediate consequences for every choice.","styleGuide":"Modern urban noir, vertical composition. A beautiful, mysterious woman in a dark red trench coat and a wide-brimmed hat, standing under a glowing neon sign in a rain-slicked dark alleyway. Deep dramatic shadows, wet brick textures, high-contrast cinematic lighting.","imageUrlRemote":"https://im.runware.ai/image/os/a05d22/ws/3/ii/ebf6eb94-3520-42a1-b98a-12f5f6abb9b8.png"}