LunaTranslator 模擬器遊戲支援全指南:NS/PSP/PSV/PS2/PS3 五大平台翻譯實戰

发布时间:2026/9/15 1:21:00
LunaTranslator 模擬器遊戲支援全指南:NS/PSP/PSV/PS2/PS3 五大平台翻譯實戰 LunaTranslator 模擬器遊戲支援全指南NS/PSP/PSV/PS2/PS3 五大平台翻譯實戰【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator本篇指南以 LunaTranslator 官方文檔 docs/cht/emugames.md 為核心系統講解其通過**模擬器遊戲掛接Emulator Hook**能力支援的大量主機平台遊戲任天堂 SwitchNS、PSP、PSV、PS2、PS3。文中將逐一列出各平台推薦使用的模擬器及其版本要求、已驗證支援的遊戲與標題 ID 對照表並結合倉庫內 模擬器掛接引擎實作 的原始碼解釋 LunaTranslator 是如何「認出」模擬器、如何在 JIT 動態重編譯環境下穩定提取遊戲文字以及使用時必須遵守的關鍵操作順序。閱讀完畢後你將能判斷手頭遊戲是否受支援、選對模擬器版本並正確完成翻譯器與模擬器的掛接配置。概述為什麼要透過模擬器玩翻譯LunaTranslator 是視覺小說Visual Novel翻譯器其文字來源除了常見的 Hook 進程、OCR 截圖外還有一條重要的路徑模擬器掛接。許多文字冒險、戀愛養成類遊戲只發布在主機平台NS、PSP、PSV、PS2、PS3上沒有 PC 版本無法用傳統方式直接 Hook 遊戲進程。LunaTranslator 通過注入模擬器進程攔截模擬器內部遊戲引擎的文字輸出將主機遊戲的日文/英文文本即時翻譯實現與 PC 版遊戲一致的翻譯體驗。對於尚未支援的遊戲官方文檔 emugames.md 明確說明可以向項目提交 Issue 請求支援這也意味著支援清單是持續擴充的。五大平台模擬器一覽平台支援的模擬器NSyuzu (≥1616), Eden (MSVC), Citron (MSVC)PSPPPSSPP ≥ v1.15.0PSVVita3K ≥ v0.1.9.3339PS2PCSX2 ≥ v1.7.4473PS3RPCS3幾個值得注意的資訊點NS 平台的 yuzu 已標記為「廢止」刪除線由於 yuzu 模擬器已停止開發官方推薦轉用 **EdenMSVC 構建**或 **CitronMSVC 構建**兩款分支模擬器。版本下限是硬性要求如 PPSSPP 需 ≥ v1.15.0、Vita3K 需 ≥ v0.1.9.3339、PCSX2 需 ≥ v1.7.4473這些版本要求對應著掛接引擎所依賴的特定 JIT 記憶體佈局或介面詳見下文源碼解析。官方給出的是直鏈Eden 的 MSVC 標準版 zip 與 Citron 的 nightly MSVC zip 均為官方直接提供的下載位址確保拿到的是與掛接引擎相容的構建。源碼印證掛接引擎如何「認出」這些模擬器在倉庫的 emulators 目錄 中可以看到與上表一一對應的掛接引擎源文件yuzu.cpp/yuzu.h/yuzu_1.cppNS同時涵蓋 Eden、Citron、suyu、sudachi 等分支ppsspp.cpp/ppsspp_1.cppPSPvita3k.cpp/vita3k_1.cppPSVPCSX2.cpp/PCSX2_1.cppPS2rpcs3.cpp/rpcs3_1.cpp/Ryujinx.cppPS3這些引擎在 enginecollection64.cpp 中被彙集進check_engines()向量由 LunaHook 啟動時逐一探測。以 PPSSPP 為例其引擎類別 ppsspp.h 中透過check_by_target回呼判斷目標進程先檢查進程名是否匹配PPSSPP*.exe再檢查檔案資訊中是否包含「PPSSPP PSP emulator」字串命中後再查詢版本號拼入引擎名如PPSSPP 1.17.1.0。這種「進程名 檔案資訊 版本」的多重校驗方式保證翻譯器不會把普通進程誤判為模擬器。而 yuzu.h 的探測邏輯更加複雜它會逐一檢查citron.exe、suyu.exe、yuzu.exe、sudachi.exe、sumi.exe等進程名並要求進程載入了Qt6Core.dll或Qt5Core.dll對於Eden這種新版本靜態連結 Qt 的情況則退而使用特徵碼signature在進程記憶體中搜索「Eden is an emulator for the Nintendo Switch」字串來辨識。更進一步源碼注釋揭示了 Eden 不同版本間aslr_offset演算法的變更v0.0.4 rc2 引入隨機偏移、v0.2.0 再次修改掛接引擎需要透過不同的位元組特徵碼如{0xc1, XX, 0x0c, ...}來區分版本這解釋了為什麼官方文檔要求使用指定版本的 Eden 構建——不同版本的 JIT 位址計算方式不同過舊或過新的構建都可能導致掛接失敗。從 CMake 配置 emulators/CMakeLists.txt 還可以看出64 位元構建會編譯全部五個平台的引擎而 32 位元構建僅包含 PPSSPP——這是因為絕大多數現代模擬器都是 64 位元程式32 位元分支只保留仍可能以 32 位元運行的 PSP 模擬器。支援遊戲清單ID 與遊戲名對照官方文檔的支援清單由腳本 genemusupportlist.py 直接從各模擬器引擎的 C 源碼*_1.cpp中的掛接表自動生成因此清單與程式碼永遠保持一致。下方為五個平台已驗證支援的遊戲含標題 ID摘要。NS任天堂 SwitchNS 支援清單最為龐大清單中的 ID 即 Switch 的 Title ID16 位十六進位如0100A9501759E000。部分遊戲包含多個版本如CHAOS;HEAD / CHAOS;CHILD らぶChu☆Chu DOUBLE PACK同時列出兩個 ID用連接代表同一作品的多個版本或合集均受支援。以下為部分代表性作品IDGame0100A9501759E000ファミコン探偵倶楽部 笑み男0100E8B024BE6001 0100E8B024BE6002CHAOS;HEAD / CHAOS;CHILD らぶChu☆Chu DOUBLE PACK01004620180D2000CHAOS;CHILD0100D650180CA000CHAOS;HEAD NOAH0100B9B00C6A4000この世の果てで恋を唄う少女010006200949E000The Charming Empire0100F1B01C94E000クドわふたー Converted Edition010016101100A000The House in Fata Morgana - Dreams of the Revenants Edition01006FF014152000ハミダシクリエイティブ0100A3A00CC7E000CLANNAD0100A1200CA3C000蝶の毒 華の鎖大正艶恋異聞0100C29017106000Live a Live010045C014650000十三機兵防衛圏01000EA014150000Final Fantasy I01006B7014156000Final Fantasy II01002E2014158000Final Fantasy III01004B301415A000Final Fantasy IV0100AA201415C000Final Fantasy V0100AA001415E000Final Fantasy VI01006F000B056000Final Fantasy IX0100A3D026610000Starry☆SkySpring Memories0100B5800C0E4000レンドフルール0100B6900A668000CodeRealize 彩虹の花束0100BD700E648000Diabolik Lovers Grand Edition010027400BD24000DIABOLIK LOVERS CHAOS LINEAGE0100B5700CDFC000AMNESIA LATER×CROWD0100A1E00BFEA000AMNESIA0100D12014FC2000ゆるキャン△ Have a nice day!010003F003A34000Pokémon Let’s Go, Pikachu!01006BD0095F4000Shin Megami Tensei V01006BB00C6F0000The Legend of Zelda: Links Awakening0100D9A01BD86000ときめきメモリアル Girls Side0100B0100E26C000ときめきメモリアル Girls Side 4th Heart010055D009F78000Fire Emblem: Three Houses01002DA013484000The Legend of Zelda: Skyward Sword HD01005B9014BE0000終遠のヴィルシュ -ErroR:salvation-010012A017F18000魔法使いの夜 通常版01001DC01486A000月姫 -A piece of blue glass moon-0100EA100DF92000明治活劇 ハイカラ流星組 成敗しませう、世直し稼業0100F7401AA74000月影の鎖 -錯乱パラノイア-0100F3400332C000Xenoblade Chronicles 20100FF500E34A000Xenoblade Chronicles: Definitive Edition010074F013262000Xenoblade Chronicles 3010065301A2E0000Star Ocean The Second Story R0100A3501946E000Octopath Traveler II01000E200DC58000Octopath Traveler0100B8E016F76000NieR:Automata The End of YoRHa Edition0100943010310000リトルバスターズConverted Edition0100CC80140F8000Triangle Strategy0100A6301214E000Fire Emblem Engage0100BC0018138000Super Mario RPG0100D7800E9E0000Trials of Mana0100DB300B996000バディミッション BOND010056F00C7B4000Bravely Default II010027100C79A000Rune Factory 4 Special0100CB700D438000Monster Hunter Stories 2: Wings of Ruin0100A89019EEC000さくら、もゆ。-as the Nights, Reincarnation-0100CC80140F8000Triangle Strategy01002C0008E52000Tales of Vesperia: Definitive Edition完整清單請參閱 docs/emusupportlist/ns.md其中收錄了數百款已驗證遊戲涵蓋《Memories Off》系列、《うたの☆プリンスさまっ♪》系列、《薄桜鬼》系列、《流行り神》系列、《結城友奈は勇者である》系列等大量視覺小說與乙女遊戲。PSPPSP 清單使用遊戲的 UMD 標題 ID如ULJM05555、NPJH50654完整清單見 docs/emusupportlist/psp.md。以下為部分代表IDGameULJM05555の季節 ダブルポケットULJM05589あかね色に染まる坂ぽたぶるNPJH50654 NPJH50655AKB1/149 恋愛総選挙ULJM05887STEINS;GATEULJM06040Steins;Gate 比翼恋理のだーりんULJM05456鋼鉄のガールフレンド特別編ポータブルULJM05338 ULJM05339CLANNADULJM05282AIRULJM05203KanonNPJH50515ダンガンロンパ 希望の学園と絶望の高校生 PSP® the BestNPJH50631スーパーダンガンロンパ さよなら絶望学園ULJM05054金色のコルダULJM05428金色のコルダ2 fULJM05931AMNESIAULJM06044AMNESIA LATERULJM06266AMNESIA CROWDULJM06353忍び、恋うつつULJM05726薄桜鬼 随想録 ポータブルULJM05917薄桜鬼 黎明録 ポータブルULJM06163DIABOLIK LOVERSULJM06311DIABOLIK LOVERS MORE,BLOODULJM06019リトルウィッチ パルフェ 黒猫魔法店物語ULJM05437Ever17 -the out of infinity- Premium EditionULJM05433Never7 -the end of infinity-ULJM05444Remember11 -the age of infinity-NPJH50127ときめきメモリアル4ULJM05674ナルキッソスもしも明日があるならPortableULJM05892マザーグースの秘密の館Nursery Rhymes for youNPJH50715恋愛0キロメートル PortableULJM05770雅恋 MIYAKOULJM05625夜明け前より瑠璃色な PORTABLEULJM05411智代アフター Its a Wonderful LifeCS EditionULJS00354とある科学の超電磁砲ULJS00329とある魔術の禁書目録NPJH50700とある魔術と科学の群奏活劇ULJM05956アルカナ・ファミリア La storia della Arcana FamigliaULJM06032アルカナ・ファミリア 幽霊船の魔術師ULJM06291アルカナ・ファミリア ULJM05565未来日記 人目の日記所有者ULJM06052未来日記 人目の日記所有者 ULJS00216雨格子の館 PORTABLE 一柳和、最初の受難ULJS00230奈落の城 PORTABLE 一柳和、2度目の受難NPJH50186氷の墓標 一柳和、度目の受難PSVPSV 清單使用 PSN 內容 ID如PCSG00401完整清單見 docs/emusupportlist/psv.mdIDGamePCSG00401ソラユメPCSG00271Princess ArthurPCSG00543冴えない彼女の育てかた -blessing flowers-PCSG00689ToLOVEる ダークネス トゥループリンセスPCSG00505大図書館の羊飼い -Library Party-PCSG00020極限脱出 善人シボウデスPCSG00766ニル・アドミラリの天秤 帝都幻惑綺譚PCSG00755BROTHERS CONFLICT Precious BabyPCSG00469CLOCK ZERO 終焉の一秒 ExTimePCSG00866Collar×MalicePCSG01162Collar×Malice -Unlimited-PCSG00776Muv-LuvPCSG00405レンドフルールPCSG00420DRAMAtical MurderPCSG01284Making*LoversPCSG01297IxSHE TellPCSG01282死神と少女PCSG01092ひめひび -Princess Days-PCSG00833Norn9 ~Norn Nonette~ Act TunePCSG00431NORN9 VAR COMMONSPCSG00530DIABOLIK LOVERS DARK FATEPCSG00472DIABOLIK LOVERS VANDEAD CARNIVALPCSG00910DIABOLIK LOVERS LOST EDENPCSG00410熱血異能部活譚 Trigger KissPCSG00291アマガミPCSG01249EVE rebirth terrorPCSG01218グリザイア ファントムトリガー PCSG01266夢現Re:MasterPCSG01153カタハネ -An call Belle-PCSG01203タユタマ -youre the only one-PCSG01235ノラと皇女と野良猫ハート2PCSG01254添いカノ ぎゅっと抱きしめてPCSG01325アイキスPCSG01025ツキトモ。 TSUKIUTA. memoriesPCSG00595神々の悪戯 InFinitePCSG00914うたの☆プリンスさまっ♪Repeat LOVEPS2PS2 清單使用遊戲光碟編號如SLPM-55259、SLPS-25850完整清單見 docs/emusupportlist/ps2.mdIDGameSLPM-55259デザート・キングダムSLPS-25850キミキス [eb!コレ]SLPS-25643キミキスSLPM-66203フラグメンツ・ブルーSLPM-66620ひぐらしのなく頃に祭SLPM-65054暴れん坊プリンセスSLPM-66453 SLPM-66454緋色の欠片 玉依姫奇譚SLPM-65239エンジェリック・コンサートSLPS-25256Never7 the end of infinitySLPM-65550Remember11 the age of infinitySLPS-25274あいかぎ ぬくもりとひだまりの中でSLPM-65557ステディ×スタディSLPS-25238My Merry MaybeSLPM-66045My Merry May with beSLPM-65301とらかぷっだーっしゅでらっくすぱっくSLPM-65255ビストロ・きゅーぴっと2 特別版SLPS-25396ファンタスティックフォーチュン2 ☆☆☆SLPM-66302CLANNAD - ゲオオンラインストアSLPM-65535おしえて ぽぽたんSLPM-67003サクラ大戦 熱き血潮にSLPM-67009サクラ大戦Ⅴ さらば愛しき人よSLPM-65555ドラゴンクエストⅤ 天空の花嫁SLPS-25433帝国千戦記SLPM-65381きまぐれストロベリーカフェSLPM-66513Fate/stay night[Realta Nua]SLPM-65546CROSSCHANNEL To all peopleSLPS-25612Strawberry PanicSLPS-25414ToHeart2SLPS-25819アルトネリコ2 世界に響く少女たちの創造詩SLPS-25604アルトネリコ 世界の終わりで詩い続ける少女SLPM-66737桜蘭高校ホスト部SLPM-55281CLOCK ZERO 終焉の一秒SLPM-66858いつか、届く、あの空に。 陽の道と緋の昏とSLPM-65585Princess Holiday転がるりんご亭千夜一夜SLPM-65843120円の春SLPM-55240ef - A Fairy Tale of the Two.SLPM-55159ヒャッコ よろずや事件簿SLPM-65400D.C.P.S. ダ・カーポ プラスシチュエーションSLPM-65682Monochrome (モノクローム)PS3PS3 清單使用藍光光碟 ID如BLJM61120數量最少但同樣有專屬掛接支援完整清單見 docs/emusupportlist/ps3.mdIDGameBLJM61120Rozen Maiden -Wechseln sie welt ab-BLJS10133第次スーパーロボット大戦BLJM61018俺たちに翼はないBLJM60322Lve once -mermaids tears-BLJM61067 NPJB00424DISORDER6BLJM60347Dunamis15BLJM60444たっち、しよっ Love ApplicationBLJM61131‘’ - 空の向こうで咲きますように -BLJM61118解放少女 SIN源碼級解析模擬器文字掛接的原理傳統遊戲進程的 Hook 是直接在進程記憶體中尋找字串輸出函式並攔截但模擬器場景有一個根本性差異遊戲程式碼是在模擬器內部的 JIT動態重編譯環境中執行的遊戲的記憶體位址是「虛擬位址」emuaddr與模擬器進程的真實位址jitaddr之間存在動態映射關係。這使得掛接工作遠比普通遊戲複雜。從 emulators 目錄 的實現可以看到LunaTranslator 的模擬器掛接採用了分層結構引擎識別層yuzu.h、ppsspp.h等如前所述透過進程名、檔案資訊、特徵碼三種手段確認目標進程是哪個模擬器並記錄版本號。版本號之所以重要是因為不同版本的 JIT 程式碼生成規則不同例如 Eden 的aslr_offset演算法就改過兩次。JIT 位址映射層JIT_Keeper.hpp這是一個關鍵的基礎設施負責維護「虛擬位址 ↔ JIT 位址」的雙向映射表。其注釋揭示了一個真實存在的坑如果在移除 DLL 後模擬器切換遊戲clear再重新注入 DLL映射表會初始化不正確若遊戲 ID 同時切換就會顯示到錯誤的 ID且新遊戲中因 ID 錯誤無法載入新的 JIT 鉤子。為此JIT_Keeper使用命名記憶體映射檔CreateFileMappingW名稱格式為LUNA_JIT_MAP_KEEPER_pid將映射資料保存在進程級共享記憶體中即使 DLL 被卸載重載也能找回之前的映射資料避免重新初始化導致錯亂。遊戲特定掛接表*_1.cpp每個平台的*_1.cpp文件維護一個巨大的掛接表每一條記錄包含遊戲名注釋、遊戲標題 ID如 NS 的0x0100A9501759E000ull、PSP 的ULJM05555以及對應的 Hook 位址/過濾函式。這就是前文遊戲清單的資料來源——genemusupportlist.py 用正則表達式解析這些源碼提取「ID 遊戲名」並自動生成 docs/emusupportlist 下的五個 Markdown 文件確保文件與程式碼同步。翻譯器側接收層Python 側的 texthook.py 註冊了一系列事件回呼其中EmuGameInfoCallback接收模擬器回報的遊戲 ID、標題與版本並透過find_or_create_uid_for_emu為每個模擬器遊戲建立獨立的翻譯記錄sqlite 檔案名即遊戲 ID見 texthook.py 中的start方法實現不同遊戲的翻譯歷史、術語庫隔離。實戰操作掛接模擬器的正確姿勢關鍵原則先掛接模擬器再載入遊戲這是最重要的一條操作順序。LunaTranslator 檢測到模擬器後會在介面中顯示提示見 texthook.py 中的sysmessage檢測到模擬器: {模擬器名稱} 請在模擬器載入遊戲之前先讓翻譯器 HOOK 模擬器否則將無法識別模擬器內載入的遊戲也就是說正確流程是啟動模擬器進程但先不要載入遊戲。在 LunaTranslator 中選擇該模擬器進程並執行 Hook/注入讓翻譯器先與模擬器建立連線。在模擬器中載入遊戲。此時模擬器會把遊戲資訊ID、標題、版本透過EmuGameInfoCallback回報給翻譯器翻譯器即會自動切換到對應遊戲的掛接配置與翻譯記錄。如果順序反了——先在模擬器裡載入遊戲再 Hook——模擬器內已執行的 JIT 程式碼將無法被正確攔截翻譯器就「看不到」遊戲文字。版本核對NS 用戶請優先使用官方給出的Eden (MSVC)或Citron (MSVC)下載連結不要使用已停止開發的 yuzu文檔中已用刪除線標記。PSP / PSV / PS2 用戶請確保模擬器版本不低於文檔所列版本PPSSPP ≥ v1.15.0、Vita3K ≥ v0.1.9.3339、PCSX2 ≥ v1.7.4473。從源碼可以看出掛接引擎對特定版本的 JIT 位址演算法有依賴版本不符可能導致掛接失敗。如何確認遊戲是否受支援對照上方各平台清單或完整文件 ns.md、psp.md、psv.md、ps2.md、ps3.md 中的 Title ID/遊戲名。若遊戲不在清單中可嘗試直接掛接——部分未列出的遊戲可能仍可透過通用 JIT 掛接工作。若確認不受支援可依照 emugames.md 的指引向官方提交 Issuehttps://lunatranslator.org/Resource/game_support申請支援。翻譯記錄隔離從 texthook.py 的實作可見模擬器遊戲的翻譯記錄以「遊戲 ID 遊戲 UID」命名存放translation_record/{gameid}_{gameuid}.sqlite同一款遊戲的翻譯快取、術語與歷史會自動與其他遊戲區分不會互相干擾。清單自動化生成機制值得一提的是五個平台的支援清單並非手工維護而是由腳本 genemusupportlist.py 從各*_1.cpp掛接表源碼中自動提取生成的ns()從yuzu_1.cpp中讀取掛接表提取每條記錄前注釋中的遊戲名以及其後掛接條目攜帶的 16 位元 Title ID多個 ID 用連接如雙包合集。psp()/psv()/pcsx2()分別解析ppsspp_1.cpp、vita3k_1.cpp、PCSX2_1.cpp提取 UMD/PSN/光碟編號。rpcs3()使用更通用的extract_game_info_robust解析器相容vector形式的多 ID 條目。生成結果直接寫入 docs/emusupportlist 下的ns.md、psp.md、ps2.md、psv.md、ps3.md再被 docs/cht/emugames.md 透過文檔引用機制include嵌入頁面。這意味著只要開發者新增了一個遊戲的掛接條目文檔清單就會在下次運行腳本時自動更新玩家看到的清單與實際代碼支援永遠一致也保證了本篇文章所引用的清單即為倉庫當前的真實支援範圍。常見問題提示「檢測到模擬器」後翻譯無反應檢查是否在載入遊戲之前完成了 Hook若已載入遊戲請重啟模擬器進程先掛接再載入。模擬器版本符合要求但仍掛接失敗確認使用的是 64 位元版本的 LunaTranslator/LunaHook——從 emulators/CMakeLists.txt 可知除 PPSSPP 外NS/PSV/PS2/PS3 引擎僅在 64 位元構建中編譯。遊戲 ID 顯示錯誤這通常發生在「移除 DLL → 模擬器切換遊戲 → 重新注入」的場景屬於 JIT_Keeper.hpp 注釋中提到的映射表初始化邊界情況重新啟動模擬器進程並按正確順序操作即可恢復。找不到我的遊戲對照完整清單確認 ID 後向官方提交 Issue 請求支援。以上即為 LunaTranslator 模擬器遊戲翻譯的完整指南。核對遊戲 ID、選對模擬器版本、遵守「先掛接後載入」的操作順序即可在 NS/PSP/PSV/PS2/PS3 五大平台上享受與 PC 版一致的即時翻譯體驗。【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考