0a7076d5b9
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>
1 line
8.9 KiB
JSON
1 line
8.9 KiB
JSON
{"sessionId":"s_1780422062109_elreza","scene":{"id":"scene_1780422096349_zvy7","scenePrompt":"Wide establishing shot, minimalist typography studio at midnight, Swiss poster aesthetic, vertical composition. A sleek desk dominates the foreground, its surface holding a single glowing monitor. The screen displays abstract, shifting red glyphs on black, casting a harsh crimson glow. Deep shadows pool around high-contrast white walls and geometric furniture silhouettes. The atmosphere is tense, digital, and cold, with deep red, black, and white color blocks. Clean, geometric layout with sharp lines and negative space.","beats":[{"id":"b1","narration":"午前2時。仕事場に残っているのは、あなたと画面の光だけ。新しいフォント「墨跡(ぼくせき)」の最終レンダリング原稿は完璧そのもので、一画一画にあなたの心血が注がれている。あなたは「印刷プレビュー」をクリックした。","next":{"type":"continue","nextBeatId":"b2"}},{"id":"b2","narration":"画面がチカチカと点滅した。プレビュー画面が消え、代わりに「墨跡」フォントのすべての漢字が、不気味な秩序に従って整列し、再構成され始めた。筆画がまるで命を得たかのようにマス目から解き放たれ、画面上で広がり、絡み合い、かすかな赤い光を放つ。","next":{"type":"continue","nextBeatId":"b3"}},{"id":"b3","narration":"赤い光が集束していく。やがて、あなたがデザインした筆画で構成された、冷徹な一行の指令が画面全体を占拠した――「三日後、攻撃開始。――J.Y.」。J.Y.は、あなたの名前「季言(ジーイェン)」のイニシャルだ。あなたの心臓がドクンと大きく跳ね上がった。","next":{"type":"continue","nextBeatId":"b4"}},{"id":"b4","narration":"机の上のスマートフォンがバイブレーションし、画面が点灯した。差出人不明の番号からショートメッセージが届く。「ゲームの始まりだ、デザイナーさん。」","next":{"type":"choice","choices":[{"id":"c1","label":"すぐにパソコンの電源を抜く","effect":{"kind":"advance-beat","targetBeatId":"b5"}},{"id":"c2","label":"スクリーンショットを撮って証拠を保存する","effect":{"kind":"advance-beat","targetBeatId":"b6"}},{"id":"c3","label":"メッセージに返信して問い詰める","effect":{"kind":"advance-beat","targetBeatId":"b7"}}]}},{"id":"b5","narration":"あなたは勢いよくPC本体とモニターの電源ケーブルを引き抜いた。画面は一瞬で消え、部屋は暗闇に包まれる。窓の外から差し込むかすかな街の明かりだけが、あなたの輪郭を浮かび上がらせていた。手はかすかに震えている。だが、電源を抜いたところで、何かを阻止できるのだろうか?","next":{"type":"continue","nextBeatId":"b6"}},{"id":"b6","narration":"あなたは無理やり冷静さを取り戻し、素早くスマートフォンのスクリーンショットを撮影した。シャッター音が響き、あの血のように赤い指令と匿名メッセージが写真フォルダに保存される。これは証拠であり、同時に……厄介な呪いでもあった。","next":{"type":"continue","nextBeatId":"b7"}},{"id":"b7","narration":"怒りと寒気が入り混じり、脳裏を駆け巡る。スマートフォンをひったくり、震える指で入力欄に一文字打ち込んだ。「誰だ?」――送信失敗。エラー:この番号は存在しません。","next":{"type":"choice","choices":[{"id":"b7__exit","label":"続ける","effect":{"kind":"change-scene","nextSceneSeed":"故事继续推进"}}]}}],"entryBeatId":"b1","sceneKey":"studio-midnight","imageUuid":"1969b5cb-0f2f-496b-90cb-fd4b0692714d","imageUrl":"/home/firstscene/m19.webp"},"imageUrl":"/home/firstscene/m19.webp","characters":[],"storyState":{"logline":"フォントデザイナーであるあなたは、自身がデザインしたフォントに金融攻撃の指令が隠されていることに気づく。しかも、主犯リストの筆頭に載っているのは自分自身だった――計画が実行される前に、黒幕を暴き出し、自らの身の潔白を証明できるか?","genreTags":"サスペンス / スパイ / 知能犯罪 / ハイスピードどんでん返し","protagonist":"あなた。そこそこ名の知れたフォントデザイナー。現在、キャリア史上最も奇妙な局面に立たされている。自分がデザインしたフォントが、世界規模の金融攻撃の暗号表に改ざんされているのを偶然発見してしまったのだ。真相を突き止め、自身の名誉とキャリアを守りたいと考えているが、隠された弱みがある――3年前、あるビジネス上のトラブルから、今でも思い出すだけで恐ろしい金融界の大物を怒らせてしまったことだ。","castNotes":"リン・ウェイ(林薇):あなたのシニア・フォントエンジニアであり、フォントの異常を最初に発見して警告してくれた人物。忠実で信頼できるように見えるが、深夜の暗号化通信の記録は彼女が二重スパイである可能性を暗示している。\nチェン・モー(陳黙):金融監督機関の若き調査員。この事件を極秘裏に調査するよう命じられている。表向きはあなたと協力して追跡しているが、その瞳には時折、あなたに対する詮索と疑念の光がよぎる。","synopsis":"深夜のオフィス。フォントデザイナーのジーイェン(季言)は、新しいフォント「墨跡」をチェックしている最中、奇妙な出来事に遭遇する。画面に勝手に、彼のフォントで構成された攻撃指令「三日後、攻撃開始。――J.Y.」が表示され、さらに彼のイニシャルが署名された匿名メッセージ「ゲームの始まりだ、デザイナーさん」が届く。主人公は巨大な危機と困惑の中に突き落とされる。","openThreads":["「フォントウイルス」の攻撃対象は誰なのか? 主犯はなぜジーイェンの名前とフォントを使ったのか?","「ゲームの始まりだ、デザイナーさん」という匿名メッセージを送ってきたのは誰なのか? その真の目的とは?","ジーイェンが3年前に怒らせた金融界の大物は、この件に関わっているのか?","リン・ウェイはフォントが改ざんされた内情を知っているのか? 彼女の立場は?"],"relationships":["リン・ウェイ:未登場。しかし、フォントの異常を最初に発見したシニアエンジニアとして、まもなく重要人物となる。","チェン・モー:未登場。調査員としての彼の動機と目的は謎に包まれている。"],"nextHook":"次回予告:危機の中で最初の対応を終えた主人公に、夜明けが訪れる。単独で調査するか、助けを求めるか、あるいは目の前にあるこの「ゲーム」の開幕にどう対処するかを決めなければならない。一方、彼がデザインしたフォントファイルは、すでに国際的なサイバーセキュリティフォーラムのディープウェブにひっそりと姿を現していた。"},"cardName":"m19","cardTitle":"フォントの陰謀","cardGender":"男性向け","worldSetting":"本作は【男性向け】のAIインタラクティブストーリーゲームであり、全体的にショート動画のような強いドラマチックな衝突とスピーディーな大どんでん返しが特徴です。\nストーリースタイル:マルチエンディング・急展開。テンポ:緊迫感があり爽快。\n厳選ストーリー『フォントの陰謀』のオープニング設定:フォントデザイナーであるあなたは、自分がデザインした特定のフォントが、特定の組み合わせにおいて隠された指令を表示することに気づく。それを解読すると、なんと世界の金融システムを標的にした「フォントウイルス」の攻撃計画であり、しかも主犯リストには自分の名前が載っていた。\nこのオープニングから直接物語に入り、プレイヤーに強い没入感とカタルシスを与えてください。その後の分岐もショートドラマのような高頻度のどんでん返しを維持し、プレイヤーの選択がすぐに展開に反映されるようにします。","styleGuide":"Swiss typography poster style, vertical composition. A minimalist high-contrast silhouette of an attractive male face integrated with abstract architectural grids. Deep red, black, and white color blocks, clean geometric poster layout.","imageUrlRemote":"https://im.runware.ai/image/os/a03d21/ws/3/ii/1969b5cb-0f2f-496b-90cb-fd4b0692714d.png"} |