Feat/reworked language codes (#865)

* Reworked language codes to use Steam localization standards

* Reworked language codes tweaks (#864)

* Language code rework tweaks

* Update bg.lua

* Reevaluate whether a language is WIP

* Update bg.lua

* Even better mark for languages as WIP (> 80% translated)

* Update zh_cn.lua

* Update cs.lua

* Fix for game language codes

---------

Co-authored-by: kittenchilly <mario.pikmin.zelda@gmail.com>
This commit is contained in:
wofsaugeandkittenchilly authored and GitHub committed 2025-06-01 23:09:21 +02:00
1 parent 92eefb8fbb
commit a0c50a9b42
54 files changed
+1272 -1197

No files matched your search

+17 -17
View File
@@ -35,7 +35,7 @@ dlcs = ["ab+", "rep", "rep+"]
maxChecklimit = {"tarotClothBuffs": 2, "carBattery": 2, "BFFSSynergies": 2}
# count en_us entries for stats
# count English entries for stats
def count_entries(t):
count = 0
for k in t:
@@ -62,7 +62,7 @@ def addUpdatedTables(languageCode, dlc):
updatedTables += ["abyssSynergies", "horsepills", "tarotClothBuffs", "bookOfVirtuesWisps"]
# korean uses some additional addititve tables
if languageCode == "ko_kr":
if languageCode == "ko":
if dlc == "rep":
updatedTables += ["dice", "MCM"]
else:
@@ -109,19 +109,19 @@ def compare_tables(table1, table2, prev_key):
languageProgress = {}
en_us_entries = {}
en_entries = {}
for dlc in dlcs:
lua.execute('REPENTOGON = true; EID = {}; EID.descriptions = {}; function EID:updateDescriptionsViaTable(changeTable, tableToUpdate) for k,v in pairs(changeTable) do if v == "" then tableToUpdate[k] = nil else tableToUpdate[k] = v end end end')
g = lua.globals()
addUpdatedTables("en_us", dlc)
addUpdatedTables("en", dlc)
# Read English language files first
englishFile = glob.glob(SOURCE_MOD_DIRECTORY+"/**/"+dlc+"/en_us.lua", recursive=True)[0]
englishFile = glob.glob(SOURCE_MOD_DIRECTORY+"/**/"+dlc+"/en.lua", recursive=True)[0]
print("reading:", englishFile)
lua.execute(open(englishFile, "r", encoding="UTF-8").read())
en_us_entries[dlc] = count_entries(g.EID['descriptions']['en_us'])
print("en_us "+dlc+" entries:", en_us_entries[dlc])
en_entries[dlc] = count_entries(g.EID['descriptions']['en'])
print("English "+dlc+" entries:", en_entries[dlc])
langFiles = []
@@ -131,7 +131,7 @@ for dlc in dlcs:
langFiles += glob.glob(SOURCE_MOD_DIRECTORY+"/**/"+dlc+"/*.lua", recursive=True)
# Read other language files
for file in langFiles:
if "en_us" not in file and "transformations" not in file:
if "en" not in file and "transformations" not in file:
languageCode = os.path.basename(file).replace(".lua","")
print("reading:",file)
addUpdatedTables(languageCode, dlc)
@@ -141,16 +141,16 @@ for dlc in dlcs:
# Evaluate language for completeness
print(f"Evaluating language '{languageCode}'..")
errorCount = compare_tables(g.EID['descriptions']['en_us'], g.EID['descriptions'][languageCode], languageCode+"("+dlc+")")
percentage = (en_us_entries[dlc] - errorCount) / en_us_entries[dlc] * 100
errorCount = compare_tables(g.EID['descriptions']["en"], g.EID['descriptions'][languageCode], languageCode+"("+dlc+")")
percentage = (en_entries[dlc] - errorCount) / en_entries[dlc] * 100
languageProgress[languageCode][dlc] = [percentage, errorCount]
print(f"{Red}Errors found: {errorCount} / {en_us_entries[dlc]}{Color_Off}\n\n")
print(f"{Red}Errors found: {errorCount} / {en_entries[dlc]}{Color_Off}\n\n")
# Calculate total english entries
total_en_us_entries = 0
for entries in en_us_entries.values():
total_en_us_entries += entries
total_en_entries = 0
for entries in en_entries.values():
total_en_entries += entries
# Write git Workflow summary
gitWorkflowSummary = "### Translation progress\n| Language | Completion (AB+) |Completion (REP) |Completion (REP+) |Completion (Total) |\n|---|---|---|---|---|\n"
@@ -169,12 +169,12 @@ for lang in languageProgress.keys():
else:
print(
f"\t{BWhite}{lang}({dlc}){Color_Off}\t\t{Red}DLC translation missing!{Color_Off}")
gitCompletionMessage = f"0% ({en_us_entries[dlc]} left)"
totalMissing += en_us_entries[dlc]
gitCompletionMessage = f"0% ({en_entries[dlc]} left)"
totalMissing += en_entries[dlc]
gitWorkflowSummary += f"| {gitCompletionMessage} "
totalPercent = round((total_en_us_entries - totalMissing) / total_en_us_entries * 100, 2)
totalPercent = round((total_en_entries - totalMissing) / total_en_entries * 100, 2)
gitWorkflowSummary += f"|{totalPercent}% ({totalMissing}) "
gitWorkflowSummary += "|\n"
+2 -2
View File
@@ -4,7 +4,7 @@ If you enjoy this mod and want to help on it, check it out on GitHub: https://gi
# Languages
- **Bulgarian**: by TST_Gogo_, Gothika_47
- **Chinese**: by Xheepey87, frto027
- **Chinese (Simplified)**: by Xheepey87, frto027
- **Czech**: by David Kapitančik. Picus, domcizzz
- **Dutch**: by SomethingMax
- **English**: by Wofsauge, Buurazu, Ma-rcx, AutisticGoat (Kotry), ...
@@ -19,7 +19,7 @@ If you enjoy this mod and want to help on it, check it out on GitHub: https://gi
- **Romanian**: by ed._.096, MHI
- **Russian**: by hell2Pay, fly_6, Dezzelshipc and Sekaz
- **Spanish**: by Lidia Arroyo Purroy, MartinFierro, maintained by AutisticGoat (Kotry)
- **Brazilian - Portuguese**: by LuanRoger and NotZin02
- **Brazilian Portuguese**: by LuanRoger and NotZin02
- **Turkish**: by Cagdas Salur, Mert Dutal
- **Ukrainian**: by x3xto
- **Vietnamese**: by Hanzo
@@ -8,15 +8,16 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | ! = Warning | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "bul"
local languageCode = "bg"
-- init bul table
-- init Bulgarian table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Bulgarian (WIP) (AB+)"
EID.descriptions[languageCode].alternativeLanguageCodes = {"bulgarian", "bul"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = EID.descriptions["en_us"].fonts
EID.descriptions[languageCode].fonts = EID.descriptions["en"].fonts
---------- Collectibles ----------
EID.descriptions[languageCode].collectibles={
@@ -171,7 +172,7 @@ EID.descriptions[languageCode].collectibles={
{"149", "Буркан с отрова", "Сълзите летят в дъга и избухват#Ефектът от отравяне#↑ {{Damage}} +40 щета#↓ {{Tears}} По-малко сълзи"},
{"150", "Трудна любов", "10% Шанс за изстрел на зъб с {{Damage}} 3.2x щети#{{Luck}} 100% шанс при 9 късмет"},
{"151", "Мълиганът", "1/6 шанс да призове муха когато сълзите докоснат чудовище"},
{"152", "Технология 2", "Безкраен лазер#↓ {{Damage}} -35% Щети#↓ {{Tears}} Период между сълзите x 2"}, -- AB+ en_us.lua claims Tear Delay x 2. Was there a tears down to Tech 2 before Repentance?? ~~Wiki also claims: "Tear delay is effectively doubled, as Isaac will do a bit of the animation to fire a right eye tear, but no tear will come out."
{"152", "Технология 2", "Безкраен лазер#↓ {{Damage}} -35% Щети#↓ {{Tears}} Период между сълзите x 2"}, -- AB+ en.lua claims Tear Delay x 2. Was there a tears down to Tech 2 before Repentance?? ~~Wiki also claims: "Tear delay is effectively doubled, as Isaac will do a bit of the animation to fire a right eye tear, but no tear will come out."
{"153", "Паяк Мутант", "Четворна стрелба#↓ {{Tears}} скорост на стреляне"},
{"154", "Химическо Изгаряне", "↑ {{Damage}} +2 Щети за лявото око"},
{"155", "Зъркелът", "Лети из стаята#Нанася щети при контакт"},
@@ -188,7 +189,7 @@ EID.descriptions[languageCode].collectibles={
{"166", "D20", "Променя пикъповете в стаята"},
{"167", "Бебе Арлекин", "Изтрелва V-образни сълзи"},
{"168", "Епичен Ембрион", "Сълзите се заменят с ракети!"},
{"169", "Полифем", "Мега сълзи!#↑ {{Damage}} Увеличена щета: (Щета + 4) x 2#↓ {{Tears}} 2 скорост на стреляне#Сълзите продължават след убито чудовище"}, -- Typed out exact Damage formula. The en_us desc is grossly incorrect in this regard (at least, 4 additional damage should be 8 if we are describing it that way).
{"169", "Полифем", "Мега сълзи!#↑ {{Damage}} Увеличена щета: (Щета + 4) x 2#↓ {{Tears}} 2 скорост на стреляне#Сълзите продължават след убито чудовище"}, -- Typed out exact Damage formula. The English desc is grossly incorrect in this regard (at least, 4 additional damage should be 8 if we are describing it that way).
{"170", "Татко Дълги Крака", "Крак който настъпва чудовищата в стаята"}, -- translation check: literal translation, leaves ambiguous what kind of spider the familiar is
{"171", "Паяшки задник", "забавя чудовищата за 4 секунди#Прави по 10 щети на всяко чудовище"},
{"172", "Жертвена кама", "Орбитален нож#Нанася много щети"},
@@ -252,7 +253,7 @@ EID.descriptions[languageCode].collectibles={
{"230", "Абадон", "↑ {{Damage}} 1.5 Щети#↑ {{Speed}} 0.2 скорост#Шанс да изплаши чудовищата#Маха всички червени сърца#+6 Черни сърца"},
{"231", "Топка смола", "{{Slow}} 10% шанс да изстреляте забавящи сълзи#{{Luck}} 100% шанс при 18 късмет#Оставяте слуз на пода която забавя чудовищата"},
{"232", "Секундомер", "При поемане на щети враговете в стаята трайно се забавят"},
{"233", "Малка планета", "Сълзи летят около вас в орбита#↑ +7 височина на сълзите"}, -- {{Range}} "Range way up!" claimed in en_us.lua. Due to that being related to tear height/tear falling speed, it will not be added here.
{"233", "Малка планета", "Сълзи летят около вас в орбита#↑ +7 височина на сълзите"}, -- {{Range}} "Range way up!" claimed in en.lua. Due to that being related to tear height/tear falling speed, it will not be added here.
{"234", "Нашествие 2", "Ще получите съюзнически паяк за всяко убито чудовище"}, -- see Infestation comment
{"235", "000", "<Не съществува>"},
{"236", "Ешерихия коли", "Превръща врага в ако при докосване"},
@@ -361,7 +362,7 @@ EID.descriptions[languageCode].collectibles={
{"339", "Безопасна игла", "↑ {{Range}} +5.25 Обхват на сълзите#↑ {{Shotspeed}} +0.16 Бързина на стреляне#+1 Черно Сърце#↑ 0.5 Височина на сълзите"},
{"340", "Кофеиново хапче", "↑ {{Speed}} 0.3 Бързина#Ставате по-малки#{{Pill}} Дава 1 произволно хапче"},
{"341", "Разкъсана фотография", "↑ {{Tears}} 0.7 скорост на стреляне#↑ {{Shotspeed}} 0.16 скорост на сълзите"},
{"342", "Синя шапка", "↑ 1 Червено сърце#↑ {{Tears}} 0.7 скорост на стреляне#↓ {{Shotspeed}} -0.16 скорост на сълзите"}, -- ~~en_us.lua: -16% Shot Speed down is wrong? (if it is always -0.16)
{"342", "Синя шапка", "↑ 1 Червено сърце#↑ {{Tears}} 0.7 скорост на стреляне#↓ {{Shotspeed}} -0.16 скорост на сълзите"}, -- ~~en.lua: -16% Shot Speed down is wrong? (if it is always -0.16)
{"343", "Ключ за външна врата", "↑ {{Luck}} +1 Късмет#+1 Духовно сърце#+2 ключа"},
{"344", "Кибритена кутия", "+1 Черно Сърце#+3 Бомби"},
{"345", "Синтетично масло", "↑ {{Damage}} 1.0 Щети#↑ {{Range}} 5.25 Обхват на сълзите#↑ 0.5 Височина на сълзите"},
@@ -434,11 +435,11 @@ EID.descriptions[languageCode].collectibles={
{"412", "Демонично зачатие", "След като нанесете достатъчно щети, вие постоянно ще получите дяволски спътник#Възможно е да получите няколко спътници"},
{"413", "Непорочно зачатие", "След като вземете достатъчно сърца, ще получите постоянно ангелски спътник#Възможно е да получите няколко спътници"},
{"414", "Повече опции", "2 елемента се появяват в златни стаи#Можете да вземете само един"},
{"415", "Корона от светлина", "+2 Духовни сърца#↑ {{Damage}} Щети X 2, ако нямате нито едно празно червено сърце#При поемане на щети бонусът се нулира и опреснява при преместване в друга стая"}, -- TODO: Add heart-dependent effects list-wise (straight up missing in this one); ~~en_us.lua has "Crown Of Light" capitalization
{"415", "Корона от светлина", "+2 Духовни сърца#↑ {{Damage}} Щети X 2, ако нямате нито едно празно червено сърце#При поемане на щети бонусът се нулира и опреснява при преместване в друга стая"}, -- TODO: Add heart-dependent effects list-wise (straight up missing in this one); ~~en.lua has "Crown Of Light" capitalization
{"416", "Дълбоки джобове", "Можете да носите 2 карти / руни / хапчета със себе си"},
{"417", "Сукуб", "Лети из стаята, има аура, която нанася щети на врагове#↑ {{Damage}} +50% щета, докато си в аурата"},
{"418", "Плодов пай", "Всяка сълза има произволен ефект"},
{"419", "Телепорт 2.0", "Телепортира се в произволна стая, в която все още не сте били#Последователност: {{Room}}>{{BossRoom}}>{{SuperSecretRoom}}>{{Shop}}>{{TreasureRoom}}>{{SacrificeRoom}}>{{DiceRoom}}>{{Library}}>{{CursedRoom}}>{{MiniBoss}}>{{ChallengeRoom}}{{BossRushRoom}}>{{IsaacsRoom}}{{BarrenRoom}}>{{ArcadeRoom}}>{{ChestRoom}}>{{SecretRoom}}>{{DevilRoom}}{{AngelRoom}}>{{ErrorRoom}}"}, -- ~~a couple of extra(?) spaces in en_us.lua
{"419", "Телепорт 2.0", "Телепортира се в произволна стая, в която все още не сте били#Последователност: {{Room}}>{{BossRoom}}>{{SuperSecretRoom}}>{{Shop}}>{{TreasureRoom}}>{{SacrificeRoom}}>{{DiceRoom}}>{{Library}}>{{CursedRoom}}>{{MiniBoss}}>{{ChallengeRoom}}{{BossRushRoom}}>{{IsaacsRoom}}{{BarrenRoom}}>{{ArcadeRoom}}>{{ChestRoom}}>{{SecretRoom}}>{{DevilRoom}}{{AngelRoom}}>{{ErrorRoom}}"}, -- ~~a couple of extra(?) spaces in en.lua
{"420", "Черен прах", "Оставяте черна следа на пода#Ако образувате кръг, ще създаде пентаграма, която нанася щети на враговете"},
{"421", "Бъбречен боб", "Прилага чар на близки врагове, когато се активира"},
{"422", "Светещ пясъчен часовник", "Ще ви отведе до предишната стая#Всичко наоколо възстановява първоначалното си състояние, което са имали, когато сте били в предишната стая"},
@@ -550,7 +551,7 @@ EID.descriptions[languageCode].collectibles={
{"528", "Ангелска призма", "Сълза, прелетяла през орбитална призма, ще се разцепи на 4 подобни сълзи"},
{"529", "Пук!", "Сега сълзите имат физика като билярдни топки"},
{"530", "Списък на смъртта", "Осигурява полезна награда, ако убивате врагове в реда, в който ще бъдат маркирани"},
{"531", "Хемолакрия", "Сълзите летят в дъга#При сблъсък те летят на фрагменти#↑ {{Damage}} 31% щети#↓ {{Tears}} - скорост на стреляне"}, -- ~~en_us.lua: markup items for stats missing! (this might not hold true in latest commits?)
{"531", "Хемолакрия", "Сълзите летят в дъга#При сблъсък те летят на фрагменти#↑ {{Damage}} 31% щети#↓ {{Tears}} - скорост на стреляне"}, -- ~~en.lua: markup items for stats missing! (this might not hold true in latest commits?)
{"532", "Лакрифагия", "Една сълза в полет се забавя#След спиране, тя избухва в малки сълзи#Можете да \"нахраните\" сълза, като стреляте по нея, тогава тя ще стане по-голяма"},
{"533", "Трисвятост", "Сълзите стават пронизващи лъчи светлина#(принцип, подобен на Brimstone)"}, -- a religious hymn name. word in translation formatted as an abstract concept rather than as an adjective (which should be more accurate, but less good sounding).
{"534", "Ученическа раница", "Позволява ви да носите 2 активни предмета#Сменяте ги с CTRL"},
@@ -711,13 +712,13 @@ EID.descriptions[languageCode].cards={
-- translations remaining: certain tokens (pickups, stats); on demand rune names and bosses
{"1", "0 - Глупакът", "Телепортира те обратно до стартовата стая на етажа"},
{"2", "I - Магьосникът", "Самонасочващи се сълзи за сегашната стая"},
{"3", "II - Върховната жрица", "Кракът на мама се стоварва върху някой враг!#!!! Ако няма врагове, се стоварва върху теб"}, -- ~~extra vs en_us.lua: "!!!If no enemies, it stomps on you"
{"3", "II - Върховната жрица", "Кракът на мама се стоварва върху някой враг!#!!! Ако няма врагове, се стоварва върху теб"}, -- ~~extra vs en.lua: "!!!If no enemies, it stomps on you"
{"4", "III - Императрицата", "За една стая: #↑ {{Damage}} +2.35 Щети#↑ {{Speed}} +0.3 Скорост"},
{"5", "IV - Императорът", "{{BossRoom}} Телепортира те до стаята на боса"},
{"6", "V - Йерофантът", "{{SoulHeart}} Пуска 2 духовни сърца"},
{"7", "VI - Влюбените", "{{Heart}} Пуска 2 червени сърца"},
{"8", "VII - Колесницата", "Неуязвимост + щета при контакт за 6 секунди"},
{"9", "VIII - Справедливост", "Създава 1 бомба, 1 ключ, 1 монета, 1 сърце (от случайни видове)"}, -- ~~extra vs en_us.lua: "... (of random types)"
{"9", "VIII - Справедливост", "Създава 1 бомба, 1 ключ, 1 монета, 1 сърце (от случайни видове)"}, -- ~~extra vs en.lua: "... (of random types)"
{"10", "IX - Отшелникът", "{{Shop}} Телепортира те до магазина"},
{"11", "X - Колелото на съдбата", "Създава {{Slotmachine}} игрална машина или {{FortuneTeller}} гадателска машина"},
{"12", "XI - Сила", "За една стая: #↑ {{Heart}} +1 Здраве#↑ {{Damage}} +0.3 Щети#↑ {{Damage}} +50% Щети#↑ {{Range}} +5.25 Обхват#↑ +0.5 Височина на сълзите#↑ {{Speed}} +0.3 Скорост"},
@@ -778,7 +779,7 @@ EID.descriptions[languageCode].pills={
{"4", "Екплозивна диария", "Създава 5 бомби в период от общо 5 секунди на моментната ти позиция"},
{"5", "Пълно здраве", "Запълва всички червени сърца"},
{"6", "По-малко здраве", "↓ {{Heart}} -1 контейнер за червено сърце#Превръща се в хапче \"Повече здраве\", ако имаш 1 контейнер или по-малко"},
{"7", "Повече здраве", "↑ {{EmptyHeart}} +1 празен контейнер за червено сърце"}, -- ~~en_us.lua is inconsistent here with the health down vs up descriptions
{"7", "Повече здраве", "↑ {{EmptyHeart}} +1 празен контейнер за червено сърце"}, -- ~~en.lua is inconsistent here with the health down vs up descriptions
{"8", "Намерих хапче", "Никакъв ефект"},
{"9", "Пубертет", "Само визуален ефект на пубертет#!!!3 такива дават трансформацията \"Възрастен\" (+1 червено сърце)"},
{"10", "Хубава муха", "Добавя 1 орбитална муха"},
@@ -792,7 +793,7 @@ EID.descriptions[languageCode].pills={
{"18", "Повече късмет", "↑ {{Luck}} +1 късмет"},
{"19", "Телехапче", "Телепортира те в произволна стая#{{ErrorRoom}} Малък шанс за телепорт до стаята I AM ERROR"},
{"20", "48-часова енергия!", "Напълно презарежда активната вещ#Създава 1-2 батерии"},
{"21", "Хематемеза", "{{EmptyHeart}} Изпразва всички налични контейнери за червени сърца освен едно#{{Heart}} Създава 1-4 червени сърца"}, -- extra markup icons vs en_us.lua
{"21", "Хематемеза", "{{EmptyHeart}} Изпразва всички налични контейнери за червени сърца освен едно#{{Heart}} Създава 1-4 червени сърца"}, -- extra markup icons vs en.lua
{"22", "Парализа", "Не можеш да се движиш за 2 секунди"},
{"23", "Мога да видя всичко!", "{{SecretRoom}} Отваря входовете към тайните стаи на този етаж"}, -- "forever" -> "everything" (meme can't be preserved anyway)
{"24", "Феромони", "{{Charm}} Очарова всички врагове в стаята"},
@@ -807,7 +808,7 @@ EID.descriptions[languageCode].pills={
{"33", "От едно ставаш по-малък", "Визуално се смаляваш#Зоната, в която могат да те ударят, също се смалява"},
{"34", "Заразен!", "Създава 1 съюзнически паяк от всяко ако в стаята (с минимум от 1)"}, -- pill name courtesy of google translate
{"35", "Заразен?", "Създава 1 съюзнически паяк за всеки враг в стаята#Създава 1-3 паяци, ако няма врагове"},
{"36", "Силово хапче!", "{{Collectible93}} Кратък ефект на неуязвимост"}, -- extra markup icon vs en_us.lua
{"36", "Силово хапче!", "{{Collectible93}} Кратък ефект на неуязвимост"}, -- extra markup icon vs en.lua
{"37", "Ретро визия", "Екранът става много по-пикселиран за 30 секунди"},
{"38", "Приятели до края!", "Създава 3 съюзнически мухи"},
{"39", "Екс-лакс", "Създава локва от хлъзгава течност"},
@@ -898,7 +899,7 @@ EID.descriptions[languageCode].ItemReminder = {
EID.descriptions[languageCode].RoomTypeNames = { "Обикновена стая", "Магазин", "Стая I AM ERROR", "Златна стая", "Стая на боса", "Стая на минибос", "Тайна стая", "Супер тайна стая", "Аркадна стая", "Прокълната стая", "Стая с предизвикателство", "Библиотека", "Жертвена стая", "Дяволска стая", "Ангелска стая", "Тайник", "Поредица от босове", "Спалнята на Исаак", "Запустяла спалня", "Стая сандък", "Стая зар", "Черен пазар", "{{GreedMode}} Изходна стая", "Планетариум", "Вход на телепорт", "Изход на телепорт", "Люк към страничния път", "{{Trinket150}} Синя стая", "Ултра тайна стая",
-- Not technically room types but still potentially useful to have localized
[666] = "Ангелска/дяволска стая", [1024] = "Червена стая", [1025] = "Специална червена стая" }
-- if an icon gets added for Blue Key Room, remove the {{Trinket150}} markdown and possibly re-translate; respectively for (Greed Mode) Exit Room; good to suggest for en_us.lua?
-- if an icon gets added for Blue Key Room, remove the {{Trinket150}} markdown and possibly re-translate; respectively for (Greed Mode) Exit Room; good to suggest for en.lua?
-- currently used for D1
EID.descriptions[languageCode].PickupNames = {
@@ -8,15 +8,16 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | ! = Warning | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "cs_cz"
local languageCode = "cs"
-- init cz table
-- init Czech table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Czech"
EID.descriptions[languageCode].alternativeLanguageCodes = {"czech", "cs_cz"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = EID.descriptions["en_us"].fonts
EID.descriptions[languageCode].fonts = EID.descriptions["en"].fonts
---------- Collectibles ----------
EID.descriptions[languageCode].collectibles={
@@ -1205,7 +1206,6 @@ EID.descriptions[languageCode].CharacterInfo = {
EID.descriptions[languageCode].ConditionalDescs = {
------ GENERAL STRINGS ------
["5.300.48"] = "Teleportuje tě do JSEM ERROR místnosti#Prázdná Karta a ?-Karta bude zničena", -- Blank Card + Q Card
["Overridden"] = "Je přepsán předmětem {1}",
["Overrides"] = "Přepíše {1}",
["Almost No Effect"] = "Malý až žádný efekt pro {1}",
+11 -10
View File
@@ -10,13 +10,14 @@
local languageCode = "de"
-- init de table
-- init German table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "German (WIP)"
EID.descriptions[languageCode].alternativeLanguageCodes = {"german"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = EID.descriptions["en_us"].fonts
EID.descriptions[languageCode].fonts = EID.descriptions["en"].fonts
---------- Collectibles ----------
@@ -582,21 +583,21 @@ EID.descriptions[languageCode].collectibles={
-- Effect of Car battery on Active Items
EID.descriptions[languageCode].carBattery = {
-- Not yet Translated!
-- Copy & Paste entries from en_us and continue translating from that
-- Copy & Paste entries from English and continue translating from that
}
---------- Trinkets ----------
EID.descriptions[languageCode].trinkets={
-- Not yet Translated!
-- Copy & Paste entries from en_us and continue translating from that
-- Copy & Paste entries from English and continue translating from that
}
---------- Cards ----------
EID.descriptions[languageCode].cards={
-- Not yet Translated!
-- Copy & Paste entries from en_us and continue translating from that
-- Copy & Paste entries from English and continue translating from that
}
--[[ Card Buffs caused by Tarot Cloth (separate table from Rep due to how different they are)
@@ -638,7 +639,7 @@ EID.descriptions[languageCode].unidentifiedPill = "Unidentifizierte Pille"
EID.descriptions[languageCode].pills={
-- Not yet Translated!
-- Copy & Paste entries from en_us and continue translating from that
-- Copy & Paste entries from English and continue translating from that
}
---------- Character Info ----------
@@ -819,7 +820,7 @@ EID.descriptions[languageCode].PickupNames = {
-- Tables with two or more entries are find-replace pairs (the new text will be colored Shiny Purple)
EID.descriptions[languageCode].tarotClothBuffsAB = {
-- Not yet Translated!
-- Copy & Paste entries from en_us and continue translating from that
-- Copy & Paste entries from English and continue translating from that
}
-- Conditional descriptions
@@ -832,12 +833,12 @@ EID.descriptions[languageCode].ConditionalDescs = {
["5.100.34"] = "x1.5 Schadens-Multiplikator", -- Book of Belial
["5.300.16"] = "x1.5 Schadens-Multiplikator", -- XV - The Devil
-- Not yet Translated!
-- Copy & Paste entries from en_us and continue translating from that
-- Copy & Paste entries from English and continue translating from that
}
EID.descriptions[languageCode].BFFSSynergies = {
-- Not yet Translated!
-- Copy & Paste entries from en_us and continue translating from that
-- Copy & Paste entries from English and continue translating from that
}
-- TODO: make these more consistent with other descs, add icons, and is there any traits of the characters missing?
@@ -846,5 +847,5 @@ EID.descriptions[languageCode].BFFSSynergies = {
-- The numbers are provided to make this a quick reference for Player IDs
EID.descriptions[languageCode].CharacterInfo = {
-- Not yet Translated!
-- Copy & Paste entries from en_us and continue translating from that
-- Copy & Paste entries from English and continue translating from that
}
File diff suppressed because it is too large. Load diff
@@ -8,12 +8,13 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "en_us"
local languageCode = "en"
-- init en_us table
-- init english tables
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "English"
EID.descriptions[languageCode].alternativeLanguageCodes = {"english", "en_us"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = {{name="default"}, {name="inverted"}, {name="borderless"}}
@@ -8,15 +8,16 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line | ! = Warning
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "spa"
local languageCode = "es"
-- init spa table
-- init Spanish table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Spanish"
EID.descriptions[languageCode].alternativeLanguageCodes = {"spanish", "spa"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = EID.descriptions["en_us"].fonts
EID.descriptions[languageCode].fonts = EID.descriptions["en"].fonts
---------- Collectibles ----------
+2 -1
View File
@@ -13,10 +13,11 @@
local languageCode = "fr"
-- init fr table
-- init French table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "French"
EID.descriptions[languageCode].alternativeLanguageCodes = {"french"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = {{name="default", textboxWidth = 145}, {name="inverted", textboxWidth = 145}, {name="borderless", textboxWidth = 145}}
+3 -2
View File
@@ -10,13 +10,14 @@
local languageCode = "it"
-- init it table
-- init Italian table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Italian"
EID.descriptions[languageCode].alternativeLanguageCodes = {"italian"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = EID.descriptions["en_us"].fonts
EID.descriptions[languageCode].fonts = EID.descriptions["en"].fonts
---------- Collectibles ----------
@@ -8,12 +8,13 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | ! = Warning | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "ja_jp"
local languageCode = "ja"
-- init ja_jp table
-- init Japanese table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Japanese"
EID.descriptions[languageCode].alternativeLanguageCodes = {"japanese", "jp", "ja_jp"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = {{name="default", lineHeight= 12}, {name="inverted", lineHeight = 12}, {name="borderless", lineHeight= 12}}
@@ -2,7 +2,7 @@
----- Basic Korean descriptions -----
---------------------------------------
-- Last Sync with en_us or update: 2024-11-18
-- Last Sync with English or update: 2024-11-18
-- FORMAT: Item ID | Name | Description
@@ -12,12 +12,13 @@
-- 스탯 순서: 체력 - 빨간하트 - 블랙하트 - 소울하트 - 공격력 - 연사 - 사거리 - 이동속도 - 탄속 - 행운 - 효과
local languageCode = "ko_kr"
local languageCode = "ko"
-- init ko_kr table
-- init Korean table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Korean"
EID.descriptions[languageCode].alternativeLanguageCodes = {"koreana", "kr", "ko_kr"}
-- Fonts to be used with this languagepack
--[[
@@ -8,12 +8,13 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | ! = Warning | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "nl_nl"
local languageCode = "nl"
-- init nl_NL table
-- init Dutch table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Dutch"
EID.descriptions[languageCode].languageName = "Dutch (WIP) (AB+)"
EID.descriptions[languageCode].alternativeLanguageCodes = {"dutch", "nl_nl"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = {{name="default"}, {name="inverted"}, {name="borderless"}}
+3 -2
View File
@@ -13,10 +13,11 @@ local languageCode = "pl"
-- init pl table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Polish"
EID.descriptions[languageCode].languageName = "Polish (WIP)"
EID.descriptions[languageCode].alternativeLanguageCodes = {"polish"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = EID.descriptions["en_us"].fonts
EID.descriptions[languageCode].fonts = EID.descriptions["en"].fonts
---------- Collectibles ----------
EID.descriptions[languageCode].collectibles={
+3 -2
View File
@@ -15,10 +15,11 @@ local languageCode = "pt"
-- init pt table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Portuguese (AB+)"
EID.descriptions[languageCode].languageName = "Portuguese (WIP) (AB+)"
EID.descriptions[languageCode].alternativeLanguageCodes = {"portuguese"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = EID.descriptions["en_us"].fonts
EID.descriptions[languageCode].fonts = EID.descriptions["en"].fonts
---------- Collectibles ----------
EID.descriptions[languageCode].collectibles={
+3 -2
View File
@@ -15,10 +15,11 @@ local languageCode = "pt_br"
-- init pt_br table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Brazilian Portuguese"
EID.descriptions[languageCode].languageName = "Brazilian Portuguese (WIP)"
EID.descriptions[languageCode].alternativeLanguageCodes = {"pt-BR", "brazilian"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = EID.descriptions["en_us"].fonts
EID.descriptions[languageCode].fonts = EID.descriptions["en"].fonts
---------- Collectibles ----------
EID.descriptions[languageCode].collectibles={
@@ -1,5 +1,5 @@
---------------------------------------
----- Basic English descriptions -----
----- Basic Romanian descriptions -----
---------------------------------------
-- FORMAT: Item ID | Name | Description
@@ -8,12 +8,13 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "ro_ro"
local languageCode = "ro"
-- init en_us table
-- init Romanian table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Română"
EID.descriptions[languageCode].languageName = "Romanian"
EID.descriptions[languageCode].alternativeLanguageCodes = {"romanian", "ro_ro"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = {{name="default"}, {name="inverted"}, {name="borderless"}}
+3 -2
View File
@@ -13,10 +13,11 @@ local languageCode = "ru"
-- init ru table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Russian"
EID.descriptions[languageCode].languageName = "Russian (WIP)"
EID.descriptions[languageCode].alternativeLanguageCodes = {"russian"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = EID.descriptions["en_us"].fonts
EID.descriptions[languageCode].fonts = EID.descriptions["en"].fonts
---------- Collectibles ----------
EID.descriptions[languageCode].collectibles={
@@ -8,15 +8,16 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | ! = Warning | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "tr_tr"
local languageCode = "tr"
-- init tr_tr table
-- init Turkish table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Turkish"
EID.descriptions[languageCode].languageName = "Turkish (WIP)"
EID.descriptions[languageCode].alternativeLanguageCodes = {"turkish", "tr_tr"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = EID.descriptions["en_us"].fonts
EID.descriptions[languageCode].fonts = EID.descriptions["en"].fonts
---------- Collectibles ----------
EID.descriptions[languageCode].collectibles={
@@ -8,12 +8,13 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | ! = Warning | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "uk_ua"
local languageCode = "uk"
-- init uk_ua table
-- init Ukrainian table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Ukrainian"
EID.descriptions[languageCode].languageName = "Ukrainian (WIP)"
EID.descriptions[languageCode].alternativeLanguageCodes = {"ukrainian", "uk_ua"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = {{name="default"}, {name="inverted"}, {name="borderless"}}
+2 -1
View File
@@ -10,10 +10,11 @@
local languageCode = "vi"
-- init en_us table
-- init Vietnamese table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Vietnamese"
EID.descriptions[languageCode].alternativeLanguageCodes = {"vietnamese"}
-- Fonts to be used with this language pack
EID.descriptions[languageCode].fonts = {{name="vi_vn"}, {name="vi_vnborderless"}}
+2 -1
View File
@@ -13,7 +13,8 @@ local languageCode = "zh_cn"
-- init zh_cn table
EID.descriptions[languageCode] = {}
EID.descriptions[languageCode].custom = {} -- table for custom entity descriptions
EID.descriptions[languageCode].languageName = "Chinese"
EID.descriptions[languageCode].languageName = "Simplified Chinese"
EID.descriptions[languageCode].alternativeLanguageCodes = {"zh-CN", "schinese", "zh"}
-- Fonts to be used with this languagepack
EID.descriptions[languageCode].fonts = {{name = "cn_alt", lineHeight = 13, textboxWidth = 145}, {name = "cn_default", lineHeight = 13, textboxWidth = 140}, {name = "cn_old", lineHeight = 14, textboxWidth = 150}}
@@ -8,7 +8,7 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "cs_cz"
local languageCode = "cs"
---------- Collectibles ----------
@@ -8,7 +8,7 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "en_us"
local languageCode = "en"
---------- Collectibles ----------
@@ -8,7 +8,7 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line | ! = Warning
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "spa"
local languageCode = "es"
---------- Collectibles ----------
@@ -8,7 +8,7 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "ja_jp"
local languageCode = "ja"
---------- Collectibles ----------
@@ -8,7 +8,7 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "ko_kr"
local languageCode = "ko"
-- 1.7.9.11 Conditional todos
-- T.??? + Bombs are Key
@@ -8,7 +8,7 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "ro_ro"
local languageCode = "ro"
---------- Collectibles ----------
@@ -4,7 +4,7 @@
-- Last Sync with English version: 29.11.2024
local languageCode = "uk_ua"
local languageCode = "uk"
---------- Collectibles ----------
@@ -9,7 +9,7 @@
-- Special character markup:
-- ↑ = Up Arrow | ↓ = Down Arrow | ! = Warning
local languageCode = "cs_cz"
local languageCode = "cs"
local repCollectibles={
[2] = {"2", "Vnitřní Oko", "Trojitý výstřel#↓ {{Tears}} -49% Méně Slz"},
+2 -2
View File
@@ -1329,13 +1329,13 @@ EID.descriptions[languageCode].ResultsWithX = "(Ergebnisse mit {1})"
-- Tables with two or more entries are find-replace pairs
local repConditions={
-- Not yet Translated!
-- Copy & Paste entries from en_us and continue translating from that
-- Copy & Paste entries from English and continue translating from that
}
EID:updateDescriptionsViaTable(repConditions, EID.descriptions[languageCode].ConditionalDescs)
local repBFFSSynergies = {
-- Not yet Translated!
-- Copy & Paste entries from en_us and continue translating from that
-- Copy & Paste entries from English and continue translating from that
}
EID:updateDescriptionsViaTable(repBFFSSynergies, EID.descriptions[languageCode].BFFSSynergies)
@@ -8,7 +8,7 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "en_us"
local languageCode = "en"
---------- Collectibles ----------
@@ -8,7 +8,7 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line | ! = Warning
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "spa"
local languageCode = "es"
---------- Collectibles ----------
+1 -1
View File
@@ -2,7 +2,7 @@
----- Basic French descriptions -----
--------------------------------------
-- Last Sync with en_us: 08.08.2021
-- Last Sync with English: 08.08.2021
-- FORMAT: Item ID | Name| Description
-- '#' = starts new line of text
+1 -1
View File
@@ -2,7 +2,7 @@
----- Basic Italian descriptions -----
---------------------------------------
-- Last Sync with en_us: 29.07.2021
-- Last Sync with English: 29.07.2021
-- FORMAT: Item ID | Name | Description
@@ -8,7 +8,7 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "ja_jp"
local languageCode = "ja"
---------- Collectibles ----------
@@ -1,6 +1,6 @@
local languageCode = "ko_kr"
local languageCode = "ko"
-- Last Sync with en_us or update: 2024-11-18
-- Last Sync with English or update: 2024-11-18
local repCollectibles={
-- Original
+1 -1
View File
@@ -3,7 +3,7 @@
----- By: LuanRoger, NotZin0 and JorgeLNJunior -----
------------------------------------------------------
-- Last Sync with en_us: 13.06.2022
-- Last Sync with English: 13.06.2022
-- FORMAT: Item ID | Name| Description
-- '#' = starts new line of text
@@ -8,7 +8,7 @@
-- ↑ = Up Arrow | ↓ = Down Arrow | # = Starts a new line
-- More can be found here: https://github.com/wofsauge/External-Item-Descriptions/wiki/Markup
local languageCode = "ro_ro"
local languageCode = "ro"
---------- Collectibles ----------
+1 -1
View File
@@ -2,7 +2,7 @@
----- Basic Russian descriptions -----
---------------------------------------
-- Last Sync with en_us: 12.12.2021
-- Last Sync with English: 12.12.2021
-- FORMAT: Item ID | Name| Description
-- '#' = starts new line of text
@@ -3,7 +3,7 @@
----- Translated to Turkish by Çağdaş Salur -----
-------------------------------------------------
-- Last Sync with en_us: 03.07.2021
-- Last Sync with English: 03.07.2021
-- FORMAT: Item ID | Name| Description
-- '#' = starts new line of text
@@ -11,7 +11,7 @@
-- Special character markup:
-- ↑ = Up Arrow | ↓ = Down Arrow | ! = Warning
local languageCode = "tr_tr"
local languageCode = "tr"
local repCollectibles={
[5] = {"5", "Yansımam", "Bumerang efekti verır#↑ +1.5 Menzil#↑ +60% ekstra Menzil#↑ +0.6 Gözyaşı hızı#↑ +1 Gözyaşı yüksekliği"}, -- My Reflection
@@ -9,7 +9,7 @@
-- Special character markup:
-- ↑ = Up Arrow | ↓ = Down Arrow | !!! = Warning
local languageCode = "uk_ua"
local languageCode = "uk"
local repCollectibles={
[2] = {"2", "Внутрiшнє Око", "Потрiйний пострiл#↓ {{Tears}} -49% Скорострільність знижено"},
+11 -11
View File
@@ -2,24 +2,24 @@ EID.UserConfig = {
-------GENERAL---------
-- Change the language of the mod
-- Currently Supported: automatic = "auto" (Default) Chooses the mod language based on your game's language settings(Rep), or defaults to English for ab+ users.
-- Bulgarian = "bul" SPECIAL THANKS TO Gothika_47
-- Chinese = "zh_cn" SPECIAL THANKS TO Xheepey87, frto027
-- Czech = "cs_cz" SPECIAL THANKS TO domcizzz
-- Dutch = "nl_nl" SPECIAL THANKS TO SomethingMax
-- English = "en_us" SPECIAL THANKS TO everyone!
-- Bulgarian = "bg" SPECIAL THANKS TO Gothika_47
-- Chinese (Simplified) = "zh_cn" SPECIAL THANKS TO Xheepey87, frto027
-- Czech = "cs" SPECIAL THANKS TO domcizzz
-- Dutch = "nl" SPECIAL THANKS TO SomethingMax
-- English = "en" SPECIAL THANKS TO everyone!
-- French = "fr" SPECIAL THANKS TO biobak
-- German = "de" SPECIAL THANKS TO Jake
-- Greek = "el_gr" SPECIAL THANKS TO vanillarat
-- Greek = "el" SPECIAL THANKS TO vanillarat
-- Italian = "it" SPECIAL THANKS TO Denkishi, 2G
-- Japanese = "ja_jp" SPECIAL THANKS TO prefab
-- Korean = "ko_kr" SPECIAL THANKS TO Blackcreamtea, 리셰(kohashiwakaba)
-- Japanese = "ja" SPECIAL THANKS TO prefab
-- Korean = "ko" SPECIAL THANKS TO Blackcreamtea, 리셰(kohashiwakaba)
-- Polish = "pl" SPECIAL THANKS TO Rickyy
-- Portuguese = "pt" SPECIAL THANKS TO Marcelino Cruz
-- Brazilian Portuguese = "pt_br" SPECIAL THANKS TO Marcelino Cruz
-- Russian = "ru" SPECIAL THANKS TO hell2pay, fly_6
-- Spanish = "spa" SPECIAL THANKS TO Lidia Arroyo Purroy
-- Turkish = "tr_tr" SPECIAL THANKS TO Mert Dutal
-- Ukrainian = "uk_ua" SPECIAL THANKS TO x3xto
-- Spanish = "es" SPECIAL THANKS TO Lidia Arroyo Purroy
-- Turkish = "tr" SPECIAL THANKS TO Mert Dutal
-- Ukrainian = "uk" SPECIAL THANKS TO x3xto
--
-- If you want to make a translation, please contact me :) (wofsauge)
--
+35 -78
View File
@@ -47,22 +47,6 @@ local dynamicSpriteCache = {} -- used to store sprite objects of collectible ico
--#region Luadoc definitions
---@alias EID_LanguageCode
---| "cs_cz" @Czech
---| "de" @German
---| "en_us" @English
---| "fr" @French
---| "it" @Italian
---| "ja_jp" @Japanese
---| "ko_kr" @Korean
---| "pl" @Polish
---| "pt_br" @Portuguese
---| "ru" @Russian
---| "spa" @Spanish
---| "tr_tr" @Turkish
---| "uk_ua" @Ukrainian
---| "zh_cn" @Simplified Chinese
---@alias EID_PillClass "3-"|"2-"|"1-"|"0"|"1+"|"2+"|"3+"
---@alias EID_TypeVariantAlias
@@ -139,10 +123,10 @@ local dynamicSpriteCache = {} -- used to store sprite objects of collectible ico
---@param id CollectibleType
---@param description string
---@param itemName string?
---@param language EID_LanguageCode? @Default: "en_us"
---@param language EID_LanguageCode? @Default: "en"
function EID:addCollectible(id, description, itemName, language)
itemName = itemName or nil
language = language or "en_us"
language = language or "en"
if id == -1 then
EID:WriteErrorMsg("Trying to add collectible description to id = -1, which is not allowed! (Name: "..tostring(itemName).."; Description: "..tostring(description)..")")
return
@@ -158,10 +142,10 @@ end
---@param id TrinketType
---@param description string
---@param itemName? string
---@param language? EID_LanguageCode @Default: "en_us"
---@param language? EID_LanguageCode @Default: "en"
function EID:addTrinket(id, description, itemName, language)
itemName = itemName or nil
language = language or "en_us"
language = language or "en"
if id == -1 then
EID:WriteErrorMsg("Trying to add trinket description to id = -1, which is not allowed! (Name: "..tostring(itemName).."; Description: "..tostring(description)..")")
return
@@ -174,10 +158,10 @@ end
---@param characterId PlayerType
---@param description string
---@param playerName? string @Default: "Modded Character"
---@param language? EID_LanguageCode @Default: "en_us"
---@param language? EID_LanguageCode @Default: "en"
function EID:addCharacterInfo(characterId, description, playerName, language)
playerName = playerName or "Modded Character"
language = language or "en_us"
language = language or "en"
if characterId == -1 then
EID:WriteErrorMsg("Trying to add character description to id = -1, which is not allowed! (Name: "..tostring(playerName).."; Description: "..tostring(description)..")")
return
@@ -196,7 +180,7 @@ end
--- ```
function EID:addGoldenTrinketMetadata(id, appendText, numbersToMultiply, maxMultiplier, language)
maxMultiplier = maxMultiplier or 3
language = language or "en_us"
language = language or "en"
if appendText == "" then appendText = nil
elseif type(appendText) == "string" then appendText = {appendText} end
@@ -220,7 +204,7 @@ end
--- ```
function EID:addGoldenTrinketMetadataAdditive(id, appendText, numbersToChange, additiveValues, language)
language = language or "en_us"
language = language or "en"
if appendText == "" then appendText = nil
elseif type(appendText) == "string" then appendText = {appendText} end
@@ -251,10 +235,10 @@ end
---@param id Card
---@param description string
---@param itemName? string
---@param language? EID_LanguageCode @Default: "en_us"
---@param language? EID_LanguageCode @Default: "en"
function EID:addCard(id, description, itemName, language)
itemName = itemName or nil
language = language or "en_us"
language = language or "en"
if id == -1 then
EID:WriteErrorMsg("Trying to add card description to id = -1, which is not allowed! (Name: "..tostring(itemName).."; Description: "..tostring(description)..")")
return
@@ -271,10 +255,10 @@ end
---@param id PillEffect
---@param description string
---@param itemName? string
---@param language? EID_LanguageCode @Default: "en_us"
---@param language? EID_LanguageCode @Default: "en"
function EID:addPill(id, description, itemName, language)
itemName = itemName or nil
language = language or "en_us"
language = language or "en"
if id == -1 then
EID:WriteErrorMsg("Trying to add pill description to id = -1, which is not allowed! (Name: "..tostring(itemName).."; Description: "..tostring(description)..")")
return
@@ -292,11 +276,11 @@ end
---@param id PillEffect
---@param description string
---@param itemName? string
---@param language? EID_LanguageCode @Default: "en_us"
---@param language? EID_LanguageCode @Default: "en"
function EID:addHorsePill(id, description, itemName, language)
if not EID.isRepentance then return end
itemName = itemName or nil
language = language or "en_us"
language = language or "en"
if id == -1 then
EID:WriteErrorMsg("Trying to add horsepill description to id = -1, which is not allowed! (Name: "..tostring(itemName).."; Description: "..tostring(description)..")")
return
@@ -319,10 +303,10 @@ end
---@param characterId PlayerType
---@param description string
---@param playerName? string
---@param language? EID_LanguageCode @Default: "en_us"
---@param language? EID_LanguageCode @Default: "en"
function EID:addBirthright(characterId, description, playerName, language)
playerName = playerName or nil
language = language or "en_us"
language = language or "en"
if characterId == -1 then
EID:WriteErrorMsg("Trying to add Birthright description to id = -1, which is not allowed! (Name: "..tostring(characterId).."; Description: "..tostring(description)..")")
return
@@ -334,9 +318,9 @@ end
---Creates a new transformation with a given unique name and a display name
---@param uniqueName string
---@param displayName string
---@param language? EID_LanguageCode @Default: "en_us"
---@param language? EID_LanguageCode @Default: "en"
function EID:createTransformation(uniqueName, displayName, language)
language = language or "en_us"
language = language or "en"
if EID.CustomTransformations[uniqueName] == nil then
EID.CustomTransformations[uniqueName] = {}
end
@@ -451,10 +435,10 @@ end
---@param subtype? integer @If `nil` or `-1`, it will affect all subtypes of that entity
---@param entityName string
---@param description string
---@param language? EID_LanguageCode @Default: "en_us"
---@param language? EID_LanguageCode @Default: "en"
function EID:addEntity(id, variant, subtype, entityName, description, language)
subtype = subtype or -1
language = language or "en_us"
language = language or "en"
if id == EntityType.ENTITY_EFFECT then
EID.effectList[variant] = true
end
@@ -485,13 +469,13 @@ end
---This spell should be added with the "Custom Poop API" library to actually appear in-game.
---Example:
---```lua
---EID:addCustomPoopSpell("MYPOOP", "I Made This Poop", "{{PoopSpell1}}", "Can be throwed to deal damage", "en_us")
---EID:addCustomPoopSpell("MYPOOP", "I Made This Poop", "{{PoopSpell1}}", "Can be throwed to deal damage", "en")
---```
---@param token string @The name of the spell in the Custom Poop API code
---@param name string @The name of the spell as it should appear in the description
---@param icon string @Markup icon of the poop
---@param description string
---@param language? EID_LanguageCode @Default: "en_us"
---@param language? EID_LanguageCode @Default: "en"
function EID:addCustomPoopSpell(token, name, icon, description, language)
EID.descriptions[language]["poopSpells"][token] = {icon, name, description, EID._currentMod}
end
@@ -782,12 +766,12 @@ end
function EID:getDescriptionEntry(objTable, objIdentifier, noFallback)
if not objIdentifier then
if noFallback then return EID.descriptions[EID:getLanguage()][objTable]
else return EID.descriptions[EID:getLanguage()][objTable] or EID.descriptions["en_us"][objTable] end
else return EID.descriptions[EID:getLanguage()][objTable] or EID.descriptions["en"][objTable] end
else
local translatedTable = EID.descriptions[EID:getLanguage()][objTable]
local description
if noFallback then description = translatedTable and translatedTable[objIdentifier]
else description = (translatedTable and translatedTable[objIdentifier]) or (EID.descriptions["en_us"][objTable] and EID.descriptions["en_us"][objTable][objIdentifier]) end
else description = (translatedTable and translatedTable[objIdentifier]) or (EID.descriptions["en"][objTable] and EID.descriptions["en"][objTable][objIdentifier]) end
--Try looking for a -1 that would encompass all subtypes of the variant
-- Safety check for if the identifier contains "."(dot) 1-2 times and only contains numbers
local strNoDots, numDots = string.gsub(objIdentifier, "%.","")
@@ -814,9 +798,9 @@ end
---@return string
function EID:getDescriptionEntryEnglish(objTable, objID)
if not objID then
return EID.descriptions["en_us"][objTable]
return EID.descriptions["en"][objTable]
else
return EID.descriptions["en_us"][objTable] and EID.descriptions["en_us"][objTable][objID]
return EID.descriptions["en"][objTable] and EID.descriptions["en"][objTable][objID]
end
end
@@ -849,7 +833,7 @@ function EID:getAdjustedSubtype(Type, Variant, SubType)
return (SubType & TrinketType.TRINKET_ID_MASK)
end
elseif tableName == "sacrifice" then
return math.min(#EID.descriptions["en_us"].sacrifice, SubType)
return math.min(#EID.descriptions["en"].sacrifice, SubType)
elseif tableName == "pills" or tableName == "horsepills" then
-- The effect of a pill varies depending on what player is looking at it in co-op
-- EID.pillPlayer is a way to recheck a pill for what different players will turn it into
@@ -912,7 +896,7 @@ function EID:getTransformationName(id)
-- get translated custom name
local customTransform = EID.CustomTransformations[id]
if customTransform ~= nil then
return customTransform[EID:getLanguage()] or customTransform["en_us"] or id
return customTransform[EID:getLanguage()] or customTransform["en"] or id
end
return id
end
@@ -929,7 +913,7 @@ function EID:getObjectName(Type, Variant, SubType)
local tableEntry = EID:getDescriptionData(Type, Variant, SubType)
local name = nil
if tableEntry ~= nil then
if tableEntry[2] ~= nil and tableEntry[2] ~= "" and tableEntry[2] ~= EID.descriptions["en_us"][tableName][SubType] then
if tableEntry[2] ~= nil and tableEntry[2] ~= "" and tableEntry[2] ~= EID.descriptions["en"][tableName][SubType] then
name = tableEntry[2]
end
end
@@ -937,24 +921,24 @@ function EID:getObjectName(Type, Variant, SubType)
if tableName == "collectibles" then
if EID.itemConfig:GetCollectible(SubType) == nil then return fallbackName end
local vanillaName = EID.itemConfig:GetCollectible(SubType).Name
local englishName = EID.descriptions["en_us"][tableName][SubType] and EID.descriptions["en_us"][tableName][SubType][2]
local englishName = EID.descriptions["en"][tableName][SubType] and EID.descriptions["en"][tableName][SubType][2]
return name or (not string.find(vanillaName, "^#") and vanillaName) or englishName or vanillaName
elseif tableName == "trinkets" then
local adjustedSubtype = EID:getAdjustedSubtype(Type, Variant, SubType)
if EID.itemConfig:GetTrinket(adjustedSubtype) == nil then return fallbackName end
local vanillaName = EID.itemConfig:GetTrinket(adjustedSubtype).Name
local englishName = EID.descriptions["en_us"][tableName][adjustedSubtype] and EID.descriptions["en_us"][tableName][adjustedSubtype][2]
local englishName = EID.descriptions["en"][tableName][adjustedSubtype] and EID.descriptions["en"][tableName][adjustedSubtype][2]
return name or (not string.find(vanillaName, "^#") and vanillaName) or englishName or vanillaName
elseif tableName == "cards" then
if EID.itemConfig:GetCard(SubType) == nil then return fallbackName end
local vanillaName = EID.itemConfig:GetCard(SubType).Name
local englishName = EID.descriptions["en_us"][tableName][SubType] and EID.descriptions["en_us"][tableName][SubType][2]
local englishName = EID.descriptions["en"][tableName][SubType] and EID.descriptions["en"][tableName][SubType][2]
return name or (not string.find(vanillaName, "^#") and vanillaName) or englishName or vanillaName
elseif tableName == "pills" or tableName == "horsepills" then
local adjustedSubtype = EID:getAdjustedSubtype(Type, Variant, SubType)
return EID:getPillName(adjustedSubtype, tableName == "horsepills")
elseif tableName == "sacrifice" then
return EID:getDescriptionEntry("sacrificeHeader").." ("..SubType.."/"..#EID.descriptions["en_us"].sacrifice..")"
return EID:getDescriptionEntry("sacrificeHeader").." ("..SubType.."/"..#EID.descriptions["en"].sacrifice..")"
elseif tableName == "dice" then
return EID:getDescriptionEntry("diceHeader").." ("..SubType..")"
elseif tableName == "players" then
@@ -1003,7 +987,7 @@ function EID:getPillName(pillID, isHorsepill)
else
vanillaName = EID.itemConfig:GetPillEffect(pillID - 1).Name
end
name = name and name[2] or (not string.find(vanillaName, "^#") and vanillaName) or EID.descriptions["en_us"][tableName][pillID][2] or vanillaName
name = name and name[2] or (not string.find(vanillaName, "^#") and vanillaName) or EID.descriptions["en"][tableName][pillID][2] or vanillaName
name = string.gsub(name,"I'm Excited!!!","I'm Excited!!") -- prevent markup trigger
return name
end
@@ -1267,7 +1251,7 @@ function EID:getTransformationIcon(str)
return EID.InlineIcons["ERROR"]
end
if tonumber(str) ~= nil then
str = EID.descriptions["en_us"].transformations[tonumber(str + 1)]
str = EID.descriptions["en"].transformations[tonumber(str + 1)]
end
local transformSprite = EID:getIcon(str:gsub(" ", ""))
if transformSprite[1] == "ERROR" then
@@ -2340,33 +2324,6 @@ function EID:getPlayerID(entityPlayer, lazarusAdjust)
return 0
end
---Get the current Language. Defaults to english if none is set.
---@return EID_LanguageCode
function EID:getLanguage()
local lang = EID.Config["Language"]
-- Reset invalid languages (like en_us_detailed)
if EID.descriptions[lang] == nil then
EID.Config["Language"] = "auto"
lang = "auto"
end
if lang == "auto" then
local langToReturn = Options and EID.LanguageMap[Options.Language] or "en_us"
-- don't do any updating if on a Repentance version before v1.7.9b
if Isaac.RunCallback ~= nil then
local newLang
for _, callbackData in pairs(Isaac.GetCallbacks("EID_EVALUATE_AUTO_LANG")) do
local newString = callbackData.Function(callbackData.Mod, langToReturn)
if newString and type(newString) == "string" and EID.descriptions[newString] ~= nil then
langToReturn = newString
end
end
end
return langToReturn
end
---@cast lang EID_LanguageCode
return lang
end
---@param itemID CollectibleType
function EID:AddToCollectiblesToCheckList(itemID)
EID.collectiblesToCheck[itemID] = true
+1 -1
View File
@@ -1150,7 +1150,7 @@ function EID:handleBagOfCraftingRendering(ignoreRefreshRate)
-- Nothing in our recipe list passed the test; try checking English names as a backup
if #IDsToCheck == 0 then
local curLang = EID:getLanguage()
EID.Config["Language"] = "en_us"
EID.Config["Language"] = "en"
for _,id in ipairs(sortedIDs) do
local searchValid = EID:BoCSCheckItemName(EID:getObjectName(5, 100, id))
if (searchValid) then table.insert(IDsToCheck, id) end
+1 -1
View File
@@ -57,7 +57,7 @@ end
EID:AddCallback("EIDCallbacks.SEARCH_NAME_CONVERSION", function(_, searchString)
-- TODO : make english search inside ko_kr language setting (priotity low though)
if EID:getLanguage() == "ko_kr" then
if EID:getLanguage() == "ko" then
return EID.engKeystrokeToKor(searchString)
end
end)
+6 -6
View File
@@ -20,7 +20,7 @@ end
-- Optional parameters: replaceText, language, extraTable
-- Example usage: EID:addCondition(myDevilishItemID, EID.IsGreedMode, "{{GreedMode}} Reduces shop prices by 1 for each optional Nightmare wave completed")
function EID:addCondition(ID, ownedID, text, replaceText, language, extraTable)
language = language or "en_us"
language = language or "en"
if replaceText then text = {text, replaceText} end
local modifierText = newModdedCondition(text, language)
if type(ownedID) ~= "function" then
@@ -37,7 +37,7 @@ end
-- Optional parameters: text2, language, extraTable
-- Example usage: EID:addSynergyCondition(myHappyLittleItemID, {CollectibleType.COLLECTIBLE_BRIMSTONE, CollectibleType.COLLECTIBLE_SULFUR}, "Turns your laser into a smiley face that charms enemies")
function EID:addSynergyCondition(ID1, ID2, text1, text2, language, extraTable)
language = language or "en_us"
language = language or "en"
local modifierText1 = newModdedCondition(text1, language)
local modifierText2 = newModdedCondition(text2, language)
EID:AddSynergyConditional(ID1, ID2, modifierText1, modifierText2, extraTable)
@@ -49,7 +49,7 @@ end
-- Optional parameters: replaceText, language, extraTable, includeTainted
-- Example usage: EID:addPlayerCondition(myAngstyItemID, PlayerType.PLAYER_EVE, "Gives Eve extra mascara (2x Damage multiplier)")
function EID:addPlayerCondition(ID, playerID, text, replaceText, language, extraTable, includeTainted)
language = language or "en_us"
language = language or "en"
if replaceText then text = {text, replaceText} end
local modifierText = newModdedCondition(text, language)
EID:AddPlayerConditional(ID, playerID, modifierText, extraTable, includeTainted)
@@ -61,7 +61,7 @@ end
-- or, if you provide newNumber, it changes numberToDouble to that (technically, it's just a find/replace pair, any strings work)
-- Example usage: EID:addToGeneralCondition(myVeryHealthyItemID, "bingeEaterBuffs", "↑ {{Speed}} +0.15 Speed#↓ {{Tears}} -0.5 Tears#↓ {{Damage}} -0.5 Damage")
function EID:addToGeneralCondition(ID, locTable, text, numberToDouble, newNumber, language)
language = language or "en_us"
language = language or "en"
if numberToDouble then
newNumber = newNumber or numberToDouble * 2
text = { numberToDouble, newNumber, text }
@@ -103,7 +103,7 @@ end
-- Shortcut function for adding BFFS conditions; this is slightly more complex since it supports trinkets
-- Example usage: EID:addBFFSCondition(myBasicFamiliarID, nil, 3.5)
function EID:addBFFSCondition(ID, text, numberToDouble, newNumber, language)
language = language or "en_us"
language = language or "en"
if numberToDouble then
newNumber = newNumber or numberToDouble * 2
text = { numberToDouble, newNumber, text }
@@ -119,7 +119,7 @@ end
-- Shortcut function for adding Hive Mind conditions; by default, it will show with BFFS too, unless you pass in allowBFFS as false
function EID:addHiveMindCondition(ID, text, numberToDouble, newNumber, language, allowBFFS)
language = language or "en_us"
language = language or "en"
if allowBFFS == nil then allowBFFS = true end
EID.HiveMindFamiliars[ID] = true
if not allowBFFS then EID.BFFSIgnore[ID] = true end
-15
View File
@@ -874,21 +874,6 @@ EID.GoldenTrinketData = {
[13] = {goldenOnly = true, fullReplace = true, mult=1}, [15] = {append = true}, [16] = {t={20}, mults={0.5, 0.333}}, [25] = {goldenOnly = true, findReplace = true, mult = 2},
}
EID.BreakUtf8CharsLanguage = {
['zh_cn'] = true
}
-- Map the game's built-in language option strings to EID's
EID.LanguageMap = {
["jp"] = "ja_jp",
["es"] = "spa",
["de"] = "de",
["fr"] = "fr",
["ru"] = "ru",
["kr"] = "ko_kr",
["zh"] = "zh_cn",
}
EID.MarkupSizeMap = {
["{{Damage}}"] = "{{DamageSmall}}",
["{{Speed}}"] = "{{SpeedSmall}}",
+5 -5
View File
@@ -3,9 +3,9 @@ local showDebugChars = false
-- check integrity of language files
local languageFilesToCheck = {"fr"} -- EID.Languages -- single file check {"ko_kr"}
local languageFilesToCheck = {"fr"} -- EID.Languages -- single file check example {"ko"}
-- count en_us entries for stats
-- count English entries for stats
local count = 0
function EID:countEntries(t)
for k, _ in pairs(t) do
@@ -15,9 +15,9 @@ function EID:countEntries(t)
end
end
end
EID:countEntries(EID.descriptions["en_us"])
EID:countEntries(EID.descriptions["en"])
local enUSEntries = count
EID:WriteDebugMsg("en_us entries: "..enUSEntries)
EID:WriteDebugMsg("English entries: "..enUSEntries)
local maxChecklimit = {["tarotClothBuffs"] = 2}
@@ -83,7 +83,7 @@ for _, lang in ipairs(languageFilesToCheck) do
end
local progress = { 0, 0 }
EID:compareTables(EID.descriptions["en_us"], EID.descriptions[lang], lang, progress)
EID:compareTables(EID.descriptions["en"], EID.descriptions[lang], lang, progress)
local errors = (enUSEntries - progress[1])-progress[2]
EID:WriteDebugMsg("Errors found: "..errors .." / "..enUSEntries)
+1 -1
View File
@@ -615,7 +615,7 @@ function EID:ItemReminderHandlePoopSpells(player)
local ignoreExisting = false
if customPoop == nil then --If the poop still doesn't exist, use the unkown one instead
customPoop = EID:getDescriptionEntry("poopSpells")["Unknown"] or EID.descriptions["en_us"]["poopSpells"]["Unknown"]
customPoop = EID:getDescriptionEntry("poopSpells")["Unknown"] or EID.descriptions["en"]["poopSpells"]["Unknown"]
ignoreExisting = true
end
+138
View File
@@ -0,0 +1,138 @@
-- List of all valid languages
EID.Languages = {
"en", -- English
"fr", -- French
"pt", -- Portuguese
"pt_br", -- Brazilian Portuguese
"ru", -- Russian
"es", -- Spanish
"it", -- Italian
"bg", -- Bulgarian
"pl", -- Polish
"de", -- German
"tr", -- Turkish
"ko", -- Korean
"zh_cn", -- Simplified Chinese
"ja", -- Japanese
"cs", -- Czech
"nl", -- Dutch
"uk", -- Ukrainian
"el", -- Greek
"ro", -- Romanian
"vi" -- Vietnamese
}
-- List of languages where it is allowed to do line-breaks between UTF-8 characters in a description
EID.BreakUtf8CharsLanguage = {
['zh_cn'] = true
}
--#region Luadoc definitions
---@alias EID_LanguageCode
---| "bg" @Bulgarian
---| "cs" @Czech
---| "de" @German
---| "el" @Greek
---| "en" @English
---| "es" @Spanish
---| "fr" @French
---| "it" @Italian
---| "ja" @Japanese
---| "ko" @Korean
---| "nl" @Dutch
---| "pl" @Polish
---| "pt_br" @Brasilian Portuguese
---| "pt" @Portuguese
---| "ro" @Romanian
---| "ru" @Russian
---| "tr" @Turkish
---| "uk" @Ukrainian
---| "vi" @Vietnamese
---| "zh_cn" @Simplified Chinese
--#endregion
---Get the current Language. Defaults to english if none is set.
---@return EID_LanguageCode
function EID:getLanguage()
local lang = EID.Config["Language"]
-- Reset invalid languages (like en_us_detailed)
if EID.descriptions[lang] == nil then
EID.Config["Language"] = "auto"
lang = "auto"
end
if lang == "auto" then
local langToReturn = Options and Options.Language or "en" -- Use game language, if available.
-- don't do any updating if on a Repentance version before v1.7.9b
if Isaac.RunCallback ~= nil then
for _, callbackData in pairs(Isaac.GetCallbacks("EID_EVALUATE_AUTO_LANG")) do
local newString = callbackData.Function(callbackData.Mod, langToReturn)
if newString and type(newString) == "string" and EID.descriptions[newString] ~= nil then
langToReturn = newString
end
end
end
return langToReturn
end
---@cast lang EID_LanguageCode
return lang
end
--- Attempts to load all language packs from a given game version
function EID:LoadLanguagePacks(gameVersion)
--transformation infos
local _, _ = pcall(require, "descriptions." .. gameVersion .. ".transformations")
--languages
for _, languageCode in ipairs(EID.Languages) do
local wasSuccessful, err = pcall(require, "descriptions." .. gameVersion .. "." .. languageCode)
if not wasSuccessful and not string.find(err, "not found") then
EID:WriteErrorMsg("Loading Languagepack '" .. languageCode .. "' (" .. gameVersion .. ") failed: " ..
tostring(err))
end
end
end
--- Initializes handling of alternative language codes for all languages
function EID:InitAltLanguageCodes()
for _, languageCode in ipairs(EID.Languages) do
if EID.descriptions[languageCode] and EID.descriptions[languageCode].alternativeLanguageCodes then
for _, altlanguageCode in ipairs(EID.descriptions[languageCode].alternativeLanguageCodes) do
EID:AddAlternativeLanguageCode(languageCode, altlanguageCode)
end
end
end
end
--- Initializes handling of alternative language codes for a specific language using meta-table that redirect table accesses to the original table
function EID:AddAlternativeLanguageCode(originalLanguageCode, newLanguageCode)
EID.descriptions[newLanguageCode] = setmetatable({}, {
__index = EID.descriptions[originalLanguageCode],
__newindex = function(_, key, value)
EID.descriptions[originalLanguageCode][key] = value
end,
__pairs = function(_) return pairs(EID.descriptions[originalLanguageCode]) end,
})
end
--- Initializes and loads all language packs for the current game version,
--- including handling for Repentance and Repentance+ expansions,
--- and sorts the language list after loading.
function EID:InitializeLanguagePacks()
-- load AB+ descriptions
EID:LoadLanguagePacks(EID.GameVersion)
EID:InitAltLanguageCodes()
-- load Repentance descriptions
if EID.isRepentance then
EID.GameVersion = "rep"
EID:LoadLanguagePacks(EID.GameVersion)
-- Load Repentance+ descriptions
if EID.isRepentancePlus then
EID.GameVersion = "rep+"
EID:LoadLanguagePacks(EID.GameVersion)
end
end
-- sort table after loading the languages in their specified order
table.sort(EID.Languages)
end
+1 -1
View File
@@ -336,7 +336,7 @@ if MCMLoaded then
end
renderDummyDesc(true)
end,
Info = {"Changes the language.","Languages marked as WIP are incomplete."}
Info = {"Changes the language.","Languages marked as WIP are incomplete. Contributions welcome!"}
}
)
-- Item Name Language
+2 -2
View File
@@ -47,7 +47,7 @@ end
-- attributes we need to check on the glitched item's ItemConfig
local itemConfigItemAttributes = { "AddMaxHearts", "AddHearts", "AddSoulHearts", "AddBlackHearts", "AddBombs", "AddCoins", "AddKeys", "CacheFlags" }
-- REPENTOGON's ProceduralItem functions, in the same order as en_us's VoidNames text we'll be using
-- REPENTOGON's ProceduralItem functions, in the same order as English's VoidNames text we'll be using
local getFunctions = { "GetSpeed", "GetFireDelay", "GetDamage", "GetRange", "GetShotSpeed", "GetLuck" }
-- The items have a value between 0 and 1, and multiplied by these before being added to the player's stats
local statMult = { 0.2, 1, 1, 1.5, 0.2, 1 }
@@ -198,5 +198,5 @@ end
-- this made more sense when this file was only executed when --luadebug was present
-- https://www.youtube.com/watch?v=msDuNZyYAIQ
if (debug and os.date("%m/%d") == "04/01") then
EID.descriptions["en_us"].sacrifice[1][3] = "{{Coin}} 50% chance of winning 1 coin at Sacrifice#75% chance if you're a genetic freak#!!! If you add Kurt Angle to the mix, your chances of winning drastically go down"
EID.descriptions["en"].sacrifice[1][3] = "{{Coin}} 50% chance of winning 1 coin at Sacrifice#75% chance if you're a genetic freak#!!! If you add Kurt Angle to the mix, your chances of winning drastically go down"
end
+8 -32
View File
@@ -2,7 +2,6 @@ if EID and EID.Name then print("EID Error: Two instances of EID found! Please un
EID = RegisterMod("External Item Descriptions", 1)
-- important variables
EID.GameVersion = "ab+"
EID.Languages = {"en_us", "fr", "pt", "pt_br", "ru", "spa", "it", "bul", "pl", "de", "tr_tr", "ko_kr", "zh_cn", "ja_jp", "cs_cz", "nl_nl", "uk_ua", "el_gr", "ro_ro", "vi"}
EID.descriptions = {} -- Table that holds all translation strings
EID.enableDebug = false
local game = Game()
@@ -101,13 +100,11 @@ end
------- Load all modules and other stuff ------
--transformation infos
require("descriptions."..EID.GameVersion..".transformations")
--languages
for _,lang in ipairs(EID.Languages) do
require("descriptions."..EID.GameVersion.."."..lang)
end
table.sort(EID.Languages)
require("features.eid_api")
require("features.eid_language_manager")
EID:InitializeLanguagePacks()
pcall(require,"scripts.eid_savegames")
require("features.eid_mcm")
@@ -117,36 +114,15 @@ if EID.isRepentancePlus then
else
require("features.eid_xmldata")
end
require("features.eid_api")
require("features.eid_conditionals")
require("features.eid_modifiers")
require("features.eid_holdmapdesc")
require("features.eid_itemprediction")
-- load Repentence descriptions
-- load Repentance features
if EID.isRepentance then
EID.GameVersion = "rep"
for _,lang in ipairs(EID.Languages) do
local wasSuccessful, err = pcall(require,"descriptions."..EID.GameVersion.."."..lang)
if not wasSuccessful and not string.find(err, "not found") then
EID:WriteErrorMsg("Load rep "..lang.." failed: "..tostring(err))
end
end
local _, _ = pcall(require,"descriptions."..EID.GameVersion..".transformations")
require("features.eid_bagofcrafting")
require("features.eid_tmtrainer")
-- Load Repentance+ DLC data
if EID.isRepentancePlus then
EID.GameVersion = "rep+"
for _,lang in ipairs(EID.Languages) do
local wasSuccessful, err = pcall(require,"descriptions."..EID.GameVersion.."."..lang)
if not wasSuccessful and not string.find(err, "not found") then
EID:WriteErrorMsg("Load rep+ "..lang.." failed: "..tostring(err))
end
end
local _, _ = pcall(require,"descriptions."..EID.GameVersion..".transformations")
end
end
EID.LastRenderCallColor = EID:getTextColor()
@@ -630,8 +606,8 @@ function EID:printDescription(desc, cachedID)
curName = desc.Name
if EID.Config["TranslateItemName"] ~= 2 then
local curLanguage = EID.Config["Language"]
if EID:getLanguage() ~= "en_us" then
EID.Config["Language"] = "en_us"
if EID:getLanguage() ~= "en" then
EID.Config["Language"] = "en"
local englishName = desc.PermanentTextEnglish or EID:getObjectName(desc.ObjType, desc.ObjVariant, desc.ObjSubType)
EID.Config["Language"] = curLanguage
if EID.Config["TranslateItemName"] == 1 then