Clean up some stuff

This commit is contained in:
dazedanon 2025-05-15 09:42:01 -05:00
parent 7cdf5b0930
commit 428541391f
3 changed files with 168 additions and 41 deletions

View file

@ -76,7 +76,7 @@ BAR_FORMAT = "{l_bar}{bar:10}{r_bar}{bar:-10b}"
POSITION = 0
LEAVE = False
PBAR = None
ENCODING = "cp932"
ENCODING = "utf8"
def handleCSV(filename, estimate):
@ -125,7 +125,7 @@ def openFiles(filename, writeFile):
def openFilesEstimate(filename):
with open("files/" + filename, "r", encoding="cp932") as readFile:
with open("files/" + filename, "r", encoding="utf8") as readFile:
translatedData = parseCSV(readFile, "", filename)
return translatedData
@ -188,11 +188,11 @@ def parseCSV(readFile, writeFile, filename):
totalLines = len(readFile.readlines())
readFile.seek(0)
reader = csv.reader(readFile, delimiter=",")
reader = csv.reader(readFile, delimiter="\t")
if not ESTIMATE:
writer = csv.writer(
writeFile,
delimiter=",",
delimiter="\t",
)
else:
writer = ""
@ -338,8 +338,8 @@ def translateCSV(data, pbar, writer, filename, translatedList, format):
# Speaker & Text Format
case "4":
# Set columns to translate. Leave empty to translate all.
speakerColumn = 8
textColumn = 20
speakerColumn = 2
textColumn = 9
speaker = ""
if len(data[i]) > textColumn and data[i][textColumn]:

View file

@ -568,7 +568,9 @@ def searchNames(data, pbar, context):
if len(nameList) < BATCHSIZE:
nameList.append(data[i]["name"])
if "description" in data[i] and data[i]["description"] != "":
descriptionList.append(data[i]["description"].replace("\n", " "))
description = data[i]["description"]
# description = description.replace("\n", " ")
descriptionList.append(description)
if "<hint:" in data[i]["note"]:
tokensResponse = translateNote(data[i], r"<hint:(.*?)>")
totalTokens[0] += tokensResponse[0]
@ -807,7 +809,7 @@ def searchNames(data, pbar, context):
data[j]["name"] = translatedNameBatch[0]
translatedNameBatch.pop(0)
if "description" in data[j] and data[j]["description"] != "":
translatedDescriptionBatch[0] = textwrap.fill(translatedDescriptionBatch[0], LISTWIDTH)
# translatedDescriptionBatch[0] = textwrap.fill(translatedDescriptionBatch[0], LISTWIDTH)
data[j]["description"] = translatedDescriptionBatch[0]
translatedDescriptionBatch.pop(0)
@ -931,6 +933,7 @@ def searchCodes(page, pbar, jobList, filename):
code = codeList[i]["code"]
j = i
endtag = ""
instantLineFlag = False
# Grab String
if len(codeList[i]["parameters"]) > 0:
@ -985,6 +988,13 @@ def searchCodes(page, pbar, jobList, filename):
jaString,
)
# Colons
if len(speakerList) == 0:
speakerList = re.findall(
r"[\\]*[cC]?\[?\d*\]?(.+)$",
jaString,
)
# First Line Speakers
if len(speakerList) == 0 and FIRSTLINESPEAKERS is True:
# Remove any RPGMaker Code at start
@ -1146,6 +1156,11 @@ def searchCodes(page, pbar, jobList, filename):
finalJAString = finalJAString.replace("\\ac", "")
CLFlag = True
# Handle Formatting Codes
if "\\>" in finalJAString:
instantLineFlag = True
finalJAString = finalJAString.replace("\\>", "")
# Pass 1 (Grabbing Data)
if setData:
# Remove Textwrap
@ -1197,6 +1212,11 @@ def searchCodes(page, pbar, jobList, filename):
elif FIXTEXTWRAP is True:
translatedText = textwrap.fill(translatedText, width=WIDTH)
# Formatting Code
if instantLineFlag:
translatedText = translatedText.replace("\n", "\n\\>")
translatedText = f"\\>{translatedText}"
# BR Flag
if BRFLAG is True:
translatedText = translatedText.replace("\n", "<br>")
@ -1261,7 +1281,7 @@ def searchCodes(page, pbar, jobList, filename):
## Event Code: 122 [Set Variables]
if "code" in codeList[i] and codeList[i]["code"] == 122 and CODE122 is True:
# This is going to be the var being set. (IMPORTANT)
if codeList[i]["parameters"][0] not in list(range(0, 99999)):
if codeList[i]["parameters"][0] not in list(range(150, 160)):
i += 1
continue
@ -1288,9 +1308,9 @@ def searchCodes(page, pbar, jobList, filename):
# continue
# Validate Japanese Text
if not re.search(LANGREGEX, jaString):
i += 1
continue
# if not re.search(LANGREGEX, jaString):
# i += 1
# continue
# Set String
matchedText = None
@ -1321,7 +1341,7 @@ def searchCodes(page, pbar, jobList, filename):
translatedText = re.sub(r'(?<![\\])([\\]{1})(?=\w)', r'\\\\', translatedText)
# Textwrap
translatedText = textwrap.fill(translatedText, width=WIDTH)
translatedText = textwrap.fill(translatedText, width=1000)
translatedText = translatedText.replace("\n", "\\n")
# Set
@ -1586,7 +1606,7 @@ def searchCodes(page, pbar, jobList, filename):
# "logtxt = ": (r"logtxt\s=\s'(.+)'"
# ".setNickname": (r'.setNickname\(\\?"(.+?)\\?"\)'
# "_subject=": (r'_subject=(.+?)_'
"text =": (r"text\s+=\s+'(.+?[^\\])'"),
"text =": (r"text\s*=\s*'(.+[^\\])'"),
# "ex_a_name": (r'ex_a_name\(\d+,"(.+)"\)'),
# "gameVariables.setValue": (r":\$gameVariables.setValue\(\d+,'(.+)'\)"),
# "BattleManager._logWindow.push('addText'": (r"BattleManager._logWindow.push\('addText',\s'(.+)'\)"),
@ -1607,7 +1627,13 @@ def searchCodes(page, pbar, jobList, filename):
list355655.pop(0)
# Only escape if not already escaped
translatedText = re.sub(r"(?<!\\)'", r"\\'", translatedText)
matchList = re.findall(r"(.+)'\s*[$+].+?'(.+)", translatedText)
if matchList:
for string in matchList[0]:
escapedMatch = re.sub(r"(?<!\\)'", r"\\'", string)
translatedText = translatedText.replace(string, escapedMatch)
else:
translatedText = re.sub(r"(?<!\\)'", r"\\'", translatedText)
translatedText = re.sub(r'(?<!\\)"', r'"', translatedText)
# Double backslashes before control codes
translatedText = re.sub(r'(?<![\\])([\\]{1})(?=\w)', r'\\\\', translatedText)
@ -1728,7 +1754,7 @@ def searchCodes(page, pbar, jobList, filename):
# Want to translate this script
if "D_TEXT " in jaString:
regex = r"D_TEXT\s(.*?)\s.+"
regex = r"D_TEXT\s(.+)\s.+"
elif "ShowInfo" in jaString:
regex = r"ShowInfo\s(.*)"
elif "PushGab" in jaString:

151
vocab.txt
View file

@ -1,19 +1,17 @@
Here are some vocabulary and terms so that you know the proper spelling and translation.
```
# Game Characters
姫野 彩羽 (Himeno Iroha) - Female
朝樹 (Asaki) - Male
リリィ (Lily) - Female
佐井 民太郎 (Sai Mintaro) - Male
鐘尾原 真久 (Kaneobara Maku) - Male
岡根 梨 (Okane Nashi) - Female
藍場 結奈 (Aiba Yuna) - Female
スーティ (Suti) - Female
収集家レティシア (Collector Leticia) - Female
アルフ (Alf) - Male
カドーナ (Kadona) - Female
保田区くん (Potaku-kun) - Male
衿澄 雫 (Erisumi Shizuku) - Female
ユスティ (Yusty) - Female
ユースティテ (Yustitia) - Female
イリス (Iris) - Female
ノエル (Noel) - Female
リーン (Leen) - Female
サーニャ (Sanya) - Female
パイネル (Painel) - Female
ウェイン (Wayne) - Female
マキナ (Makina) - Female
リーパー (Reaper) - Female
大工 (Carpenter) - Male
# Lewd Terms
マンコ (pussy)
@ -108,7 +106,12 @@ ME 音量 (ME Volume)
巫女 (Shrine Maiden)
刀 (Sword)
龍神神社 (Dragon God Shrine)
忍び (Shinobi)
大魔導士 (Archmage)
始原竜 (Primordial Dragon)
猿王 (Monkey King)
天地開闢 (Genesis)
紅蓮 (Vermilion)
# Demons/Angels/Monsters
悪魔 (Devil)
@ -137,6 +140,103 @@ ME 音量 (ME Volume)
ローバー (Roper)
夢魔 (Succubus)
#Enemies
シコザル (Masturbating Monkey)
ドクムラサキ (Dokumurasaki)
シコザル:賢者モード (Masturbating Monkey: Sage Mode)
シコザル:興奮 (Masturbating Monkey: Aroused)
キングシコザル (King Masturbating Monkey)
カブリマラドラゴン (Kaburimara Dragon)
カブリマラドラゴン亜種 (Kaburimara Dragon Subspecies)
学園長 (Headmaster)
パラライズアゲハ (Paralyze Swallowtail)
クンニリザード (Cunnilingus Lizard)
ピリジンワーム (Pyridine Worm)
溶岩塊 (Lava Chunk)
スノーエイプ (Snow Ape)
カブリマラドラゴン:突然変異個体 (Kaburimara Dragon: Mutant)
水流操りし齧歯類 (Rodent that Controls Water Flow)
3ターン毎に命を貪るワニ (Crocodile that Devours Life Every 3 Turns)
エレクチオンスコーピオン (Erection Scorpion)
熱砂の捕食者 (Predator of the Scorching Sands)
チンゲリオン (Chingerion)
シコッタハゲタカ (Masturbating Vulture)
エイミンサボテン (Aiming Cactus)
奴隷商人 (Slave Trader)
ハゲタカ3兄弟 (Three Vulture Brothers)
フローズンバタフライ (Frozen Butterfly)
アイスバーグ (Iceberg)
ゴブリン(棍棒) (Goblin (Club))
ゴブリン(盾) (Goblin (Shield))
ゴブリン(薬) (Goblin (Potion))
スノーボア (Snow Boar)
剛なる右腕 (Mighty Right Arm)
賢しき左腕 (Wise Left Arm)
クリスタルゴーレム (Crystal Golem)
剛なる右腕:熱暴走 (Mighty Right Arm: Overheat)
賢しき左腕:熱暴走 (Wise Left Arm: Overheat)
クリスタルゴーレム:熱暴走 (Crystal Golem: Overheat)
ゴブリンキング (Goblin King)
クンニリザードエリート (Cunnilingus Lizard Elite)
デスストーカー (Death Stalker)
巨人族 (Giant Tribe)
ゴールデンシコザル (Golden Masturbating Monkey)
巨人族の長 (Giant Tribe Chief)
始原竜クレスケンスルーナ (Primordial Dragon Crescensluna)
現実と理想の相違から訪れる混沌 (Chaos Born from the Gap Between Reality and Ideals)
チシドクガエル (Poison Blood Frog)
危険な肉ビラ (Dangerous Meat Flap)
鏡反の魔蟲 (Mirror-Reflecting Demon Bug)
シコザルドロップ実験 (Masturbating Monkey Drop Experiment)
↓以下シコザルの森 (↓Below: Masturbating Monkey Forest)
シコザル:異常性欲個体 (Masturbating Monkey: Hypersexual Specimen)
ドクムラサキ (Poison Purple)
シビレタケ (Numbing Mushroom)
森林ムカデ (Forest Centipede)
野生の種馬 (Wild Stud)
メタルシコザル (Metal Masturbating Monkey)
大妖花 (Great Demon Flower)
↓以下マラスル (↓Below: Marasle)
ベビースノーボア (Baby Snow Boar)
万年発情ウサギ (Perpetually Horny Rabbit)
シルバーウルフ (Silver Wolf)
シロカブト (White Beetle)
↓以下大陰森 (↓Below: Great Dark Forest)
チシドクガエル (Poison Dart Frog)
水流操りし齧歯類 (Rodent That Controls Water Currents)
3T毎に強攻撃を繰り出すワニ (Crocodile That Unleashes a Strong Attack Every 3T)
オトノサマガエル (Lord Frog)
オヒメサマガエル (Princess Frog)
〇雑魚用耐性 (Resistance for Small Fry)
〇ボス用耐性 (Resistance for Boss)
↓以下失意の沼地 (↓Below: Swamp of Despair)
マカフシギダケ (Mysterious Mushroom)
カオスプラント (Chaos Plant)
ボニウスネーク (Bonious Snake)
バジリスク (Basilisk)
↓以下満洪石窟寺院 (↓Below: Mankou Stone Cave Temple)
ゲイザー (Gazer)
ワスプ (Wasp)
クイーンワスプ (Queen Wasp)
邪神像 (Idol of the Evil God)
↓以下リズイパ海溝 (↓Below: Rizuipa Trench)
鏡反の魔蟲 (Mirror-Reflected Demon Bug)
アビスワーム (Abyss Worm)
スベスベオマンコガニ (Smooth Pussy Crab)
デビルオクトパス (Devil Octopus)
深海不定形生物 (Deep Sea Amorphous Creature)
チェーンソーシャーク (Chainsaw Shark)
大海の覇者 (Ruler of the Great Sea)
海魔マレノストルム (Sea Demon Marenostrum)
↓以下岬の教会 (↓Below: Cape Church)
ブラックウィドウ (Black Widow)
踊り狂う怪鳥 (Frenzied Dancing Bird)
キングトロル (King Troll)
キマイラ (Chimera)
スケルトン (Skeleton)
塔の守護者 (Guardian of the Tower)
フォートレスタートル (Fortress Turtle)
# Other
w ((lol))
2万 (20,000)
@ -144,16 +244,17 @@ w ((lol))
』 (』)
# Game Specific
すけモン (Sukemon)
夢見町 (Dream Town)
夢見学 (Dream Academy)
龍神神社 (Dragon God Shrine)
鐘尾原 (Kaneohara)
カドーナ (Kadona)
助平の湯 (Lewd Bath)
リーゴ (Ligo)
サキュバンク (Succubank)
ジャーク堂書店 (Jerkdo Bookstore)
風紀委員は女淫魔の夢を見るか? (Do Disciplinary Committee Members Dream of Succubi?)
ぽんこつ王女ユスティの廃村開拓記 (The Clumsy Princess Yusty and the Abandoned Village Revival)
試しの塔 (Trial Tower)
満洪石窟寺院 (Mankou Stone Cave Temple)
空き家 (Vacant House)
娼館 (Brothel)
ヨーデル (Yodel)
リズイパ海溝 (Rizuipa Trench)
マラスル (Marasle)
シコザル (Masturbating Monkey)
大家族の民家 (Big Family House)
蛇ヶ淵沼 (Snake Swamp)
トロッコ洞窟 (Minecart)
```