Couple of important fixes
This commit is contained in:
parent
7406ca349c
commit
a4d9d3ae84
5 changed files with 2307 additions and 2251 deletions
|
|
@ -1,212 +1,65 @@
|
||||||
# MAIN CHARACTERS
|
# Game Characters
|
||||||
エルミナ (Elmina) - Female; protagonist; elf mage
|
エル (El) - Female; inn adventurer tied to the Light Plain plotline; not player-chosen; speaks casually and informally; energetic and direct
|
||||||
フェリス (Feris) - Female; spirit entity; Elmina's guardian & companion
|
流浪の求道者 (Seeker) - Male; roaming challenge NPC; not player-chosen; speaks in a grave, formal register; stoic and trial-focused
|
||||||
|
シスターエキュリー (Sister Ecurie) - Female; church sister of the Amol faith; not player-chosen; polite religious register; gentle and dutiful
|
||||||
|
ホエミ (Hoemi) - Female; friend in the northern district; not player-chosen; casual friendly speech; warm and approachable
|
||||||
|
ロクサヌ (Roxanu) - Female; northern district student; not player-chosen; youthful casual speech; sociable and ordinary
|
||||||
|
ミント (Mint) - Female; northern district student; not player-chosen; youthful casual speech; lively and informal
|
||||||
|
ヒルデ (Hilde) - Female; apartment resident; not player-chosen; plain civilian speech; practical and grounded
|
||||||
|
管理人ナミサ (Manager Namisa) - Female; apartment manager; not player-chosen; polite caretaker speech; responsible and matter-of-fact
|
||||||
|
デフィ (Defi) - Female; soldier's wife living in the apartment; not player-chosen; domestic casual speech; reserved and ordinary
|
||||||
|
ラム (Ram) - Female; arena warrior; not player-chosen; confident fighter's speech; bold and competitive
|
||||||
|
アルシェ (Arche) - Female; arena fan; not player-chosen; enthusiastic casual speech; excitable and friendly
|
||||||
|
バーニア (Barnia) - Female; student associated with the arena; not player-chosen; youthful casual speech; curious and energetic
|
||||||
|
フォサ (Fossa) - Female; arena-side NPC; not player-chosen; casual town speech; socially active
|
||||||
|
キャナリ (Canari) - Female; cafe worker or cafe patron; not player-chosen; light casual speech; cheerful and sociable
|
||||||
|
エロン (Elon) - Male; cafe NPC; not player-chosen; casual adult speech; relaxed and conversational
|
||||||
|
チコニャ (Ciconya) - Female; cafe NPC; not player-chosen; casual service speech; friendly and talkative
|
||||||
|
ルートル (Rootle) - Male; cafe NPC; not player-chosen; casual adult speech; easygoing
|
||||||
|
シャモー (Chameau) - Male; cafe NPC; not player-chosen; casual adult speech; relaxed and ordinary
|
||||||
|
コション (Cochon) - Male; cafe NPC; not player-chosen; casual adult speech; informal and sociable
|
||||||
|
アレニエ (Areignee) - Female; trading-company NPC; not player-chosen; businesslike polite speech; composed and practical
|
||||||
|
ミルバト (Mirbat) - Male; trading-company NPC; not player-chosen; businesslike speech; practical and restrained
|
||||||
|
受付アンヌ (Receptionist Anne) - Female; theater receptionist; not player-chosen; polite service register; courteous and professional
|
||||||
|
支配人アドルフ (Manager Adolf) - Male; theater manager; not player-chosen; formal managerial speech; authoritative and composed
|
||||||
|
アンリ (Henri) - Male; theater-related named NPC; not player-chosen; polite stage-world speech; refined and reserved
|
||||||
|
カトリーヌ (Catherine) - Female; theater performer or staff member; not player-chosen; elegant feminine speech; theatrical and poised
|
||||||
|
シエル (Ciel) - Female; theater performer or staff member; not player-chosen; polite feminine speech; graceful and composed
|
||||||
|
グラティア (Gratia) - Female; theater NPC; not player-chosen; refined speech; elegant and expressive
|
||||||
|
オレイユ (Oreille) - Female; theater NPC; not player-chosen; refined speech; attentive and polished
|
||||||
|
実況 (Commentator) - Male; arena or event commentator; not player-chosen; energetic announcing register; loud and performative
|
||||||
|
ウミ (Umi) - Female; named NPC in Albol Forest; not player-chosen; casual rural speech; practical and outdoorsy
|
||||||
|
ネリネ (Nerine) - Female; named NPC at Albol Camp; not player-chosen; casual camp speech; warm and grounded
|
||||||
|
ジャスミン (Jasmine) - Female; named NPC at Albol Camp; not player-chosen; casual feminine speech; friendly and composed
|
||||||
|
アーディ (Ardi) - Male; named NPC in the Testa settlement; not player-chosen; casual local speech; practical and direct
|
||||||
|
クラレット (Claret) - Female; named NPC in Viola Village; not player-chosen; casual village speech; grounded and approachable
|
||||||
|
ステノ (Steno) - Female; hot spring inn NPC; not player-chosen; polite hospitality speech; calm and service-minded
|
||||||
|
|
||||||
# ALLIES / COMPANIONS
|
# Worldbuilding Terms
|
||||||
アンナ (Anna) - Female; witch; lives in 魔女の森; ally
|
淫催都市ヒュプノズム (Lewd Hypnosis City Hypnosm) - Game title and central city setting; a city shaped by the Incitation curse and its social control
|
||||||
メープル (Maple) - Female; companion; timid
|
ヒュプノズム (Hypnosm) - Main city and hub area; divided into districts such as the southern district, slums, upper district, church, guild, theater, and lord's manor
|
||||||
ダイヤ (Daiya) - Female; companion; diligent
|
淫催 (Incitation) - The central hypnosis-like curse or state that alters obedience, desire, and social values throughout Hypnosm
|
||||||
トルテ (Torte) - Female; companion; cook/baker
|
淫催の呪い (Incitation Curse) - Story term for the magical influence affecting the city and its residents
|
||||||
クレア (Claire) - Female; full name クレアリス・デカート (Clairis Decart); guild-affiliated
|
淫催の守護者 (Guardian of Incitation) - Enemy or boss title connected to the Incitation system
|
||||||
ルイン (Ruin) - Female; Elmina's younger sister (妹); key story motivation
|
アモル教 (Amol Faith) - City religion imposed on residents; tied to marriage, sexuality, and the social norms of Hypnosm
|
||||||
|
光の平原 (Light Plain) - Major plot location where magical power gathers and expands; associated with danger, monsters, and the Divine King's awakening
|
||||||
# SIDE / RECURRING CHARACTERS
|
神王覚醒 (Divine King's Awakening) - Historical event said to have created or transformed the Light Plain around twenty years earlier
|
||||||
バブンスキー (Babunsky) - Male; antagonistic early on, later redeems himself
|
血胤 (Bloodline) - Ruby-tagged lore term read as Bloodseed; unique hereditary magic tied to absorbing traits from other beings
|
||||||
ドンフシ (Donfushi) - Male; バブンスキー's younger brother; from プライア村
|
血胤魔術 (Bloodline Magic) - Keimi's unique magic system derived from the Bloodline lineage
|
||||||
ツギカ (Tsugika) - Male; young villager; has feelings for Elmina
|
ブラッドシード家 (Bloodseed Family) - Fallen noble family associated with Bloodline magic
|
||||||
ミゲル (Miguel) - Male; minor NPC; innkeeper or medical role
|
フィガロ家 (Figaro Family) - Prestigious family famous for swords and magic swords
|
||||||
|
魔剣 (Magic Sword) - Lore term for special enchanted swords, especially those connected to the Figaro family
|
||||||
# ANTAGONISTS
|
フィガロの魔剣 (Figaro Magic Sword) - Named magic sword from the Figaro family
|
||||||
アナゼマ (Anazema) - Spirit entity; primary antagonist; former co-guardian of 魔界
|
魔剣活性化 (Magic Sword Activation) - Story process or quest concept for making a magic sword usable
|
||||||
ロザリー (Rosalie) - Female; ruler of カロン; arc boss
|
冒険者ランク (Adventurer Rank) - Guild status system; raising it unlocks citizenship and marriage-related progression
|
||||||
キングディブロ (King Diabro) - Boss; Dwarf dungeon; defeated for 水の精霊石
|
住民権 (Citizenship) - Legal status required to access restricted districts and marry within Hypnosm
|
||||||
プーペ (Pupe) - Female; spider-type monster girl (クモ型魔物娘); recurring mini-boss
|
ギルド (Guild) - Adventurer organization that handles rank progression and quest reporting
|
||||||
魔神 (Demon God) - Entity; final-area antagonist; gave power to アナゼマ
|
マナ (Mana) - Recurring magical resource gained from exploration and used in city systems
|
||||||
ビャクダン (Byakudan) - Named boss; Slum dungeon
|
マナ屋 (Mana Shop) - City facility or service related to exchanging mana
|
||||||
# Note: 魔神 = "Demon God" do NOT render as 'Majin'
|
領主の館 (Lord's Manor) - Plot location tied to the city's ruler and later story investigation
|
||||||
|
地下道 (Underground Passage) - Story route used during the Hypnosm investigation arc
|
||||||
# ENEMY / MONSTER TYPES
|
魔人の塔 (Demon Tower) - Major dungeon or travel destination referenced in progression data
|
||||||
スライム (Slime)
|
氷結の迷宮 (Frozen Labyrinth) - Major dungeon or travel destination referenced in progression data
|
||||||
オーク (Orc)
|
宵闇のエージェント (Agent of Twilight) - Named quest title with story significance
|
||||||
ゴブリン (Goblin)
|
極寒のプレリュード (Frigid Prelude) - Named quest title with story significance
|
||||||
ゴブリン兄弟 (Goblin Brothers)
|
性奴隷 (Sex Slave) - In-universe class/status used by event progression and relationship systems
|
||||||
こうもり (Bat)
|
|
||||||
ミノタウロス (Minotaur)
|
|
||||||
魔物娘 (Monster Girl)
|
|
||||||
クモ型魔物娘 (Spider-type Monster Girl) プーペ's species
|
|
||||||
|
|
||||||
# LOCATIONS
|
|
||||||
## STARTING AREA
|
|
||||||
プライア村 (Puraia Village) - Elmina's starting village
|
|
||||||
ノストゥスの森 (Nostus Forest) - Forest east of Puraia Village; early dungeon
|
|
||||||
|
|
||||||
## KARON CITY
|
|
||||||
カロン (Karon) - Major city; mid-game hub; ruled by ロザリー様
|
|
||||||
カロン街道 (Karon Road) - Road connecting Puraia Village to Karon
|
|
||||||
オプス (Opus) - Karon's high-end inn
|
|
||||||
|
|
||||||
## WITCH'S FOREST
|
|
||||||
魔女の森 (Witch's Forest) - Anna's domain
|
|
||||||
魔女道 (Witch's Road) - Path leading to 魔女の森
|
|
||||||
|
|
||||||
## DUNGEONS
|
|
||||||
オーク洞窟 (Orc Cave) - Multi-floor orc dungeon
|
|
||||||
ロザリー屋敷 (Rosalie's Mansion) - ロザリー's residence; 14+ floors
|
|
||||||
|
|
||||||
## DWARF AREA
|
|
||||||
ドワーフ街道 (Dwarf Road) - Road from Karon toward Dwarf territory
|
|
||||||
ドワーフ隠れ里 (Dwarf Hidden Village) - Dwarf settlement
|
|
||||||
ドワーフダンジョン (Dwarf Dungeon) - キングディブロ boss dungeon
|
|
||||||
|
|
||||||
## SLUMS
|
|
||||||
スラム (Slums) - Poverty district off the Dwarf Road
|
|
||||||
娼館 (Brothel / Pleasure House) - Located in the Slums
|
|
||||||
|
|
||||||
## ELF VILLAGE
|
|
||||||
エルフ里 (Elf Village) - Elmina's homeland; destroyed before the story begins
|
|
||||||
|
|
||||||
## SPIRIT STONE DUNGEONS
|
|
||||||
精霊石ダンジョン (Spirit Stone Dungeon) - Entrance to three elemental paths
|
|
||||||
火 (Fire) - Fire dungeon path
|
|
||||||
風 (Wind) - Wind dungeon path
|
|
||||||
水 (Water) - Water dungeon path
|
|
||||||
|
|
||||||
## DEMON WORLD
|
|
||||||
魔界 (Demon World) - The demonic realm; final area
|
|
||||||
# Note: render as "Demon World" NOT "Netherworld" or "Makai"
|
|
||||||
|
|
||||||
# WORLD-BUILDING TERMS
|
|
||||||
淫紋 (Ero Brand / Lewd Mark) - Contract seal on Elmina's belly; converts desire into magic
|
|
||||||
精霊石 (Spirit Stone) - Three elemental key items needed to grant Elmina's wish
|
|
||||||
炎の精霊石 (Fire Spirit Stone)
|
|
||||||
水の精霊石 (Water Spirit Stone)
|
|
||||||
風の精霊石 (Wind Spirit Stone)
|
|
||||||
魔力 (Mana / Magical Power)
|
|
||||||
ノロイ (Curse) - アナゼマ's seal placed on the Spirit Stones
|
|
||||||
冒険者 (Adventurer) - profession/rank system
|
|
||||||
ギルド (Guild) - the Adventurers' Guild
|
|
||||||
ギルド長 (Guild Master)
|
|
||||||
調合師 (Alchemist / Apothecary) - crafts 回復ビン from ingredients
|
|
||||||
チャームリンク (Charm Link) - magical bond item between Elmina and a companion
|
|
||||||
協会 (Temple / Shrine) - religious institution enshrining the 女神達
|
|
||||||
女神 (Goddess) - deities who once saved the continent
|
|
||||||
女神達 (Goddesses) - plural; enshrined in the 協会
|
|
||||||
魔女 (Witch) - female magic practitioner; distinct from 魔法使い (mage)
|
|
||||||
ドワーフ族 (Dwarf Tribe / Dwarf Clan)
|
|
||||||
エルフ (Elf) - Elmina's race
|
|
||||||
アニキ (Aniki) - "big bro"; ドンフシ's term for バブンスキー
|
|
||||||
|
|
||||||
# WEAPON TYPES (Elmina's magic)
|
|
||||||
炎の魔法 (Fire Magic) - status ailments; sustained damage
|
|
||||||
水の魔法 (Water Magic) - single-hit damage; raises HP and Defense
|
|
||||||
風の魔法 (Wind Magic) - multi-hit combos; gains debuffs on growth
|
|
||||||
盾の魔法 (Shield Magic) - raises Defense; beginner-recommended
|
|
||||||
|
|
||||||
# ARMORS / OUTFITS
|
|
||||||
エルミナの普段着 (Elmina's Everyday Clothes)
|
|
||||||
絹の肌着 (Silk Undershirt)
|
|
||||||
魅惑のバニー (Alluring Bunny)
|
|
||||||
メイド服 (Maid Outfit)
|
|
||||||
ワンダーウルフ (Wonder Wolf)
|
|
||||||
調教服 (Training Outfit / Leash Outfit)
|
|
||||||
|
|
||||||
# BATTLE STATES
|
|
||||||
戦闘不能 (Incapacitated / KO)
|
|
||||||
防御 (Guard / Defending)
|
|
||||||
不死身 (Immortal)
|
|
||||||
毒 (Poison)
|
|
||||||
暗闇 (Blind / Darkness)
|
|
||||||
沈黙 (Silence)
|
|
||||||
激昂 (Enrage / Fury)
|
|
||||||
混乱 (Confusion)
|
|
||||||
魅了 (Charm / Enthralled)
|
|
||||||
睡眠 (Sleep)
|
|
||||||
|
|
||||||
# KEY ITEMS
|
|
||||||
怪しげな薬 (Suspicious Medicine)
|
|
||||||
冒険者登録証 (Adventurer's Registration Card)
|
|
||||||
トルテのお弁当 (Torte's Lunchbox)
|
|
||||||
回復ビン (Recovery Vial) - upgrades +1 through +15
|
|
||||||
屋敷のカギ (Mansion Key)
|
|
||||||
力のグローブ (Power Gloves)
|
|
||||||
爆音袋 (Sonic Bag / Bang Bag)
|
|
||||||
子猫の入ったカバン (Bag Containing a Kitten)
|
|
||||||
チャームリンク・メープル (Charm Link: Maple) - +Defense
|
|
||||||
チャームリンク・アンナ (Charm Link: Anna) - +Magic
|
|
||||||
チャームリンク・ダイヤ (Charm Link: Daiya) - +Defense
|
|
||||||
|
|
||||||
## Crafting Ingredients (素材)
|
|
||||||
緑草 (Green Grass)
|
|
||||||
黄草 (Yellow Grass)
|
|
||||||
赤草 (Red Grass)
|
|
||||||
黒草 (Black Grass)
|
|
||||||
ロゼの花 (Roze Flower)
|
|
||||||
オルラーヤ (Orlaya)
|
|
||||||
リンドウ (Gentian)
|
|
||||||
ベニダケ (Red Mushroom)
|
|
||||||
サボテンの果実 (Cactus Fruit)
|
|
||||||
輝くゼンマイ (Glowing Bracken)
|
|
||||||
触手の若芽 (Tentacle Sprout)
|
|
||||||
水 (Water)
|
|
||||||
純水 (Pure Water)
|
|
||||||
魔力水 (Mana Water)
|
|
||||||
|
|
||||||
## Guild Exchange Drops (ギルド換金)
|
|
||||||
スライムの核 (Slime Core)
|
|
||||||
スライムの巨大核 (Slime Giant Core)
|
|
||||||
スライムの赤核 (Slime Red Core)
|
|
||||||
スライムの赤粘膜 (Slime Red Membrane)
|
|
||||||
オークの牙 (Orc Fang)
|
|
||||||
獣の毛 (Beast Fur)
|
|
||||||
焔心核 (Flame Heart Core)
|
|
||||||
蜘蛛の糸 (Spider Thread)
|
|
||||||
悪魔の角 (Demon Horn)
|
|
||||||
海魔の墨 (Kraken Ink)
|
|
||||||
悪魔の羽根 (Demon Feather)
|
|
||||||
死霊の灰 (Wraith Ash)
|
|
||||||
|
|
||||||
## Mana Crystal EXP Items
|
|
||||||
小さな魔力結晶 (Small Mana Crystal) - EXP 10
|
|
||||||
魔力結晶 (Mana Crystal) - EXP 100
|
|
||||||
大きな魔力結晶 (Large Mana Crystal) - EXP 1,000
|
|
||||||
巨大な魔力結晶 (Giant Mana Crystal) - EXP 10,000
|
|
||||||
|
|
||||||
## Boss Mana Cores (素材)
|
|
||||||
プーペの魔力核 (Pupe's Mana Core)
|
|
||||||
ビャクダンの魔力核 (Byakudan's Mana Core)
|
|
||||||
キングディブロの魔力核 (King Diabro's Mana Core)
|
|
||||||
ロザリーの魔力核 (Rosalie's Mana Core)
|
|
||||||
タイタンワームの魔力結晶 (Titan Worm Mana Crystal)
|
|
||||||
|
|
||||||
# ROMANISATION CONVENTIONS
|
|
||||||
エルミナ (Elmina) - not Erumina; matches title
|
|
||||||
フェリス (Feris) - matches sprite file "feris1"
|
|
||||||
アンナ (Anna)
|
|
||||||
メープル (Maple)
|
|
||||||
ダイヤ (Daiya) - or Dia; avoid "Diamond" in dialogue
|
|
||||||
バブンスキー (Babunsky)
|
|
||||||
ドンフシ (Donfushi)
|
|
||||||
ツギカ (Tsugika)
|
|
||||||
トルテ (Torte) - German: layer-cake
|
|
||||||
クレア (Claire)
|
|
||||||
クレアリス・デカート (Clairis Decart) - both parts are proper nouns
|
|
||||||
アナゼマ (Anazema)
|
|
||||||
ルイン (Ruin) - or Luin
|
|
||||||
プーペ (Pupe) - or Poupée; French: doll
|
|
||||||
ミゲル (Miguel)
|
|
||||||
ロザリー (Rosalie)
|
|
||||||
キングディブロ (King Diabro)
|
|
||||||
ビャクダン (Byakudan)
|
|
||||||
カロン (Karon)
|
|
||||||
プライア村 (Puraia Village) - keep "Puraia" per map file names
|
|
||||||
ノストゥスの森 (Nostus Forest)
|
|
||||||
ドワーフ (Dwarf)
|
|
||||||
エルフ (Elf)
|
|
||||||
魔界 (Demon World) - NOT "Netherworld"; keep distinct from 地獄 "Hell"
|
|
||||||
淫紋 (Ero Brand) - or "Lewd Mark"; keep consistent within project
|
|
||||||
精霊石 (Spirit Stone)
|
|
||||||
ノロイ (Curse)
|
|
||||||
魔神 (Demon God) - NOT "Majin"; translate fully
|
|
||||||
調合師 (Alchemist) - or Apothecary; be consistent
|
|
||||||
ギルド長 (Guild Master)
|
|
||||||
アニキ (Aniki) - or "Big Bro"; keep consistent per character
|
|
||||||
|
|
@ -3049,9 +3049,9 @@ class WorkflowTab(QWidget):
|
||||||
self._log("─" * 54)
|
self._log("─" * 54)
|
||||||
|
|
||||||
# Navigate to Translation tab, configure it, and auto-start
|
# Navigate to Translation tab, configure it, and auto-start
|
||||||
self._navigate_to_translation(file_preset, auto_start=True)
|
self._navigate_to_translation(file_preset, auto_start=True, mode_text="Translate")
|
||||||
|
|
||||||
def _navigate_to_translation(self, file_preset: str, auto_start: bool = False):
|
def _navigate_to_translation(self, file_preset: str, auto_start: bool = False, mode_text: str | None = None):
|
||||||
"""Switch to Translation tab, set engine to MVMZ, and check/uncheck files.
|
"""Switch to Translation tab, set engine to MVMZ, and check/uncheck files.
|
||||||
|
|
||||||
file_preset:
|
file_preset:
|
||||||
|
|
@ -3076,7 +3076,18 @@ class WorkflowTab(QWidget):
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# 2. Determine which files belong to each preset
|
# 2. Set requested mode after selecting the engine, since the engine
|
||||||
|
# change refreshes the mode list.
|
||||||
|
if mode_text:
|
||||||
|
try:
|
||||||
|
mode_combo = tt.mode_combo
|
||||||
|
mode_idx = mode_combo.findText(mode_text)
|
||||||
|
if mode_idx >= 0:
|
||||||
|
mode_combo.setCurrentIndex(mode_idx)
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# 3. Determine which files belong to each preset
|
||||||
files_dir = getattr(tt, "files_dir", None)
|
files_dir = getattr(tt, "files_dir", None)
|
||||||
if files_dir is None:
|
if files_dir is None:
|
||||||
files_dir = __import__("pathlib").Path("files")
|
files_dir = __import__("pathlib").Path("files")
|
||||||
|
|
@ -3095,7 +3106,7 @@ class WorkflowTab(QWidget):
|
||||||
else: # "events"
|
else: # "events"
|
||||||
should_check = _is_event
|
should_check = _is_event
|
||||||
|
|
||||||
# 3. Apply check states to the file list
|
# 4. Apply check states to the file list
|
||||||
try:
|
try:
|
||||||
tt.refresh_file_lists()
|
tt.refresh_file_lists()
|
||||||
fl = tt.file_list
|
fl = tt.file_list
|
||||||
|
|
@ -3109,14 +3120,14 @@ class WorkflowTab(QWidget):
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# 4. Navigate
|
# 5. Navigate
|
||||||
if hasattr(pw, "content_stack"):
|
if hasattr(pw, "content_stack"):
|
||||||
pw.content_stack.setCurrentIndex(0)
|
pw.content_stack.setCurrentIndex(0)
|
||||||
if hasattr(pw, "nav_buttons"):
|
if hasattr(pw, "nav_buttons"):
|
||||||
for i, btn in enumerate(pw.nav_buttons):
|
for i, btn in enumerate(pw.nav_buttons):
|
||||||
btn.setChecked(i == 0)
|
btn.setChecked(i == 0)
|
||||||
|
|
||||||
# 5. Auto-start translation so the user doesn't need an extra click
|
# 6. Auto-start translation so the user doesn't need an extra click
|
||||||
if auto_start:
|
if auto_start:
|
||||||
from PyQt5.QtCore import QTimer as _QTimer
|
from PyQt5.QtCore import QTimer as _QTimer
|
||||||
_QTimer.singleShot(100, lambda: (
|
_QTimer.singleShot(100, lambda: (
|
||||||
|
|
|
||||||
0
log/translation_cache.lock
Normal file
0
log/translation_cache.lock
Normal file
|
|
@ -148,8 +148,8 @@ CODE408 = False
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
CODE122 = False
|
CODE122 = False
|
||||||
CODE122_VAR_MIN = 890
|
CODE122_VAR_MIN = 0
|
||||||
CODE122_VAR_MAX = 891
|
CODE122_VAR_MAX = 2000
|
||||||
|
|
||||||
# Plugins / Scripts
|
# Plugins / Scripts
|
||||||
CODE355655 = False
|
CODE355655 = False
|
||||||
|
|
@ -205,8 +205,11 @@ PATTERNS_355655 = {
|
||||||
"const text": (r'(const\stext\s?=\s?"(.+)";?)', False),
|
"const text": (r'(const\stext\s?=\s?"(.+)";?)', False),
|
||||||
"ex_a_name": (r'ex_a_name\(\d+,"(.+)"\)', False),
|
"ex_a_name": (r'ex_a_name\(\d+,"(.+)"\)', False),
|
||||||
"gameVariables.setValue": (r'\$gameVariables\.setValue\(\d+,\s*"([^"]*)"\)', False),
|
"gameVariables.setValue": (r'\$gameVariables\.setValue\(\d+,\s*"([^"]*)"\)', False),
|
||||||
|
"$gameMessage.add": (r"\$gameMessage\.add\(.+?\)(.+?)", True),
|
||||||
"BattleManager._logWindow.push('addText'": (r"BattleManager._logWindow.push\('addText',\s'(.+)'\)", False),
|
"BattleManager._logWindow.push('addText'": (r"BattleManager._logWindow.push\('addText',\s'(.+)'\)", False),
|
||||||
"BattleManager._logWindow.addText": (r"BattleManager._logWindow.addText\('(.+)'\)", False),
|
"BattleManager._logWindow.addText": (r"BattleManager\._logWindow\.addText\(.+?\)(.+?)", True),
|
||||||
|
"let out": (r"let\s+out\d+\s*=\s*\(.+?\)(.+?)", True),
|
||||||
|
"let moji": (r"(?:let\s+)?moji\s*=\s*(.+)", True),
|
||||||
"this.BLogAdd": (r'this\.BLogAdd\?(.+?\\?"(.+?)\\?"\)', False),
|
"this.BLogAdd": (r'this\.BLogAdd\?(.+?\\?"(.+?)\\?"\)', False),
|
||||||
"Fuki_Set": (r'Fuki_Set\([\s,\d\w\W]+?"(.+?)",', False),
|
"Fuki_Set": (r'Fuki_Set\([\s,\d\w\W]+?"(.+?)",', False),
|
||||||
"_EventSetting": (r'_EventSetting[\s,\d\w\W]+?"(.+?)";', False),
|
"_EventSetting": (r'_EventSetting[\s,\d\w\W]+?"(.+?)";', False),
|
||||||
|
|
@ -218,7 +221,7 @@ PATTERNS_355655 = {
|
||||||
"AddAddress": (r'AddAddress\(\d+,\s*\\?"(.+?)\\?"', False),
|
"AddAddress": (r'AddAddress\(\d+,\s*\\?"(.+?)\\?"', False),
|
||||||
}
|
}
|
||||||
# Subset of PATTERNS_355655 keys that should be processed (empty = none).
|
# Subset of PATTERNS_355655 keys that should be processed (empty = none).
|
||||||
ENABLED_PATTERNS_355655: set = {"_subject="}
|
ENABLED_PATTERNS_355655: set = {"$gameMessage.add", "BattleManager._logWindow.addText", "let moji", "let out"}
|
||||||
|
|
||||||
|
|
||||||
def handleMVMZ(filename, estimate):
|
def handleMVMZ(filename, estimate):
|
||||||
|
|
@ -2633,6 +2636,13 @@ def searchCodes(page, pbar, jobList, filename):
|
||||||
i += 1
|
i += 1
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
varActorMatch = re.match(r"^\s*(?:[\\]+[cC]\[\d+?\]\s*)?[\\]+[nN]\[(\d+)\]", jaString)
|
||||||
|
if varActorMatch:
|
||||||
|
actorName = _get_actor_map().get(int(varActorMatch.group(1)))
|
||||||
|
speaker = actorName or varActorMatch.group(0).strip()
|
||||||
|
i += 1
|
||||||
|
continue
|
||||||
|
|
||||||
# Force Speaker using var
|
# Force Speaker using var
|
||||||
if "memerisu" in jaString.lower():
|
if "memerisu" in jaString.lower():
|
||||||
speaker = "Memerisu"
|
speaker = "Memerisu"
|
||||||
|
|
@ -4414,7 +4424,7 @@ def translateAI(text, history, history_ctx=None):
|
||||||
aid = int(m.group(1))
|
aid = int(m.group(1))
|
||||||
name = actor_map.get(aid)
|
name = actor_map.get(aid)
|
||||||
if name:
|
if name:
|
||||||
reverse[name.lower()] = f"\\n[{aid}]"
|
reverse[name.lower()] = m.group(0)
|
||||||
return name
|
return name
|
||||||
return m.group(0)
|
return m.group(0)
|
||||||
return _VAR_ACTOR_RE.sub(_repl, s)
|
return _VAR_ACTOR_RE.sub(_repl, s)
|
||||||
|
|
|
||||||
4240
util/translation.py
4240
util/translation.py
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue