Skip to content

fix(items): damage texts without a stray "of", and the Fruits' stat words - #828

Open
ezequielzacca wants to merge 265 commits into
sven-n:mainfrom
ezequielzacca:fix/item-tooltip-translations
Open

ezequielzacca wants to merge 265 commits into
sven-n:mainfrom
ezequielzacca:fix/item-tooltip-translations

Conversation

@ezequielzacca

@ezequielzacca ezequielzacca commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

This step's own changes: compare with #827. The diff of this PR also holds every earlier step of #815, since a PR from a fork can only target this repository's branches.

Summary

A translation fix in the item tooltips, found in #827. Stacked on #827 (→ #825 → … → #813): only its own commits, fix(items): damage texts without a stray "of", and the Fruits' stat words and fix(items): the Siege Potion's damage line without a stray "i"; …, are this PR. English is unchanged. Since #827, each of these texts lives in one place.

"Increase/Absorb …% of Damage"

The wings', capes' and pets' damage lines kept the English "of" in seven languages:

Before After
es Aumenta el daño de 12% of Aumenta el daño un 12%
es Absorber daño 12% of Absorbe el 12% del daño
pt Aumentar o dano de 12% of Aumenta o dano em 12%
ru Увеличение урона 12% of Увеличение урона на 12%
ru Поглощение 12% of урона Поглощение 12% урона
uk Збільшення шкоди на 12% of Збільшення шкоди на 12%
id Meningkatkan Kerusakan 12% of Meningkatkan Kerusakan 12%
tl Dagdagan ang 12% of Pinsala Dagdagan ang Pinsala nang 12%
zh-TW 增加 12% of 傷害 增加 12% 傷害

That fixes the two shared texts of #827. The Guardian Angel's, Imp's and Horn of Dinorant's lines say the same with a fixed number, and get the same wording. That includes the Imp's "Increase 30% of attacking & Wizardry Dmg", whose Portuguese ended in "de % of".

The Fruits' stat words

The {stat} values of #827 came from a machine translation that went wrong in three ways:

ENG STA AGI STR Command
es ESP ENE STA VIT AGI FUE Dominio
pt POR ENE STA VIT AGI FOR Comando
id Bahasa Inggris ENG STA AGI STR Memerintah Kepemimpinan
ru АНГЛ ЭНЕ СТА ВЫН ОИИ ЛВК СТР СИЛ Команда Командование
uk ENG ЕНЕ STA ВИТ AGI СПР ВУЛ СИЛ Команда Командування
zh-TW 英語 能量 史塔 體力 通用人工智慧 敏捷 STR 力量 命令 統率
pl ENG STA AGI STR Rozkaz Dowodzenie
tl ENG STA AGI STR Utos Pamumuno
  • ENG was read as "English": "ESP" (Spanish), "POR" (Portuguese), "Bahasa Inggris", "АНГЛ" and "英語" (each "English").
  • AGI was read as "artificial general intelligence": "ОИИ", "通用人工智慧".
  • Command was read as an order: "Rozkaz", "Utos", "Memerintah", "Команда", "命令".

German and Japanese were right.

The Siege Potion's damage line

The "i" of the old %% text's "increase" leaked into seven translations of "Damage +20% increase effect" (found in #819's review). It's gone now:

Before After
es Daño +20% iefecto de aumento Daño +20% efecto de aumento
id Kerusakan +20% imeningkatkan efek Kerusakan +20% meningkatkan efek
pt Dano +20% infeito de aumento Dano +20% efeito de aumento
ru Урон +20% inувеличение эффекта Урон +20% увеличение эффекта
tl Pinsala +20% ipagtaas na epekto Pinsala +20% pagtaas na epekto
uk Пошкодження +20% inпосилення ефекту Пошкодження +20% посилення ефекту
zh-TW 傷害+20% i效果增加 傷害+20% 效果增加

#819's test of the level lines compares them with the game's texts in every language; from here it leaves out the Fruits' stat words, which this step corrects while the game's texts keep the old ones (other code prints them).

Not changed

Polish and Tagalog name a few items in English inside a sentence: the "Talisman of Wings of …" texts, "Scroll of Guardian", "Cloak of Invisibility". Those items have no Polish or Tagalog name, so the game shows their names in English there anyway. The texts match that.

The Chinese Fruits shot shows the item name "命令 Fruits". That name comes from the item name code, which step 5d moves. It's fixed there.

Verified

Screenshots

Wing of Storm +15, Russian

Legacy theme Modern theme
Before
After

Command Fruits +4, Russian and Chinese

Legacy theme, Russian Modern theme, Russian Modern theme, Chinese
Before
After
The data (the two shared texts and the Fruits' levelValues, after)
{
  "damageIncrease": {
    "en": "Increase {percent}% of Damage",
    "de": "Erhöht den Schaden um {percent}%",
    "es": "Aumenta el daño un {percent}%",
    "id": "Meningkatkan Kerusakan {percent}%",
    "ja": "ダメージ {percent}%増加",
    "pl": "Zwiększa obrażenia o {percent}%",
    "pt": "Aumenta o dano em {percent}%",
    "ru": "Увеличение урона на {percent}%",
    "tl": "Dagdagan ang Pinsala nang {percent}%",
    "uk": "Збільшення шкоди на {percent}%",
    "zh-TW": "增加 {percent}% 傷害"
  },
  "damageAbsorb": {
    "en": "Absorb {percent}% of Damage",
    "de": "Absorbiert {percent}% des Schadens",
    "es": "Absorbe el {percent}% del daño",
    "id": "Menyerap {percent}% Kerusakan",
    "ja": "ダメージ {percent}%吸収",
    "pl": "Pochłania {percent}% obrażeń",
    "pt": "Absorve {percent}% do dano",
    "ru": "Поглощение {percent}% урона",
    "tl": "Isipsip ang {percent}% ng Pinsala",
    "uk": "Поглинання {percent}% шкоди",
    "zh-TW": "吸收{percent}%傷害"
  }
}
{
  "levelValues": {
    "stat": [
      {
        "en": "ENG",
        "de": "ENG",
        "es": "ENE",
        "id": "ENG",
        "ja": "エナジー",
        "pl": "ENG",
        "pt": "ENE",
        "ru": "ЭНЕ",
        "tl": "ENG",
        "uk": "ЕНЕ",
        "zh-TW": "能量"
      },
      {
        "en": "STA",
        "de": "VIT",
        "es": "VIT",
        "id": "STA",
        "ja": "体力",
        "pl": "STA",
        "pt": "VIT",
        "ru": "ВЫН",
        "tl": "STA",
        "uk": "ВИТ",
        "zh-TW": "體力"
      },
      {
        "en": "AGI",
        "de": "BEW",
        "es": "AGI",
        "id": "AGI",
        "ja": "敏捷性",
        "pl": "AGI",
        "pt": "AGI",
        "ru": "ЛВК",
        "tl": "AGI",
        "uk": "СПР",
        "zh-TW": "敏捷"
      },
      {
        "en": "STR",
        "de": "STÄ",
        "es": "FUE",
        "id": "STR",
        "ja": "力",
        "pl": "STR",
        "pt": "FOR",
        "ru": "СИЛ",
        "tl": "STR",
        "uk": "СИЛ",
        "zh-TW": "力量"
      },
      {
        "en": "Command",
        "de": "Führung",
        "es": "Dominio",
        "id": "Kepemimpinan",
        "ja": "統率",
        "pl": "Dowodzenie",
        "pt": "Comando",
        "ru": "Командование",
        "tl": "Pamumuno",
        "uk": "Командування",
        "zh-TW": "統率"
      }
    ]
  }
}

Related issues

Part of #815, found in #827.

Checklist

  • I have read and followed docs/CODING_RULES.md.
  • I have built the project locally (see docs/build/README.md).
    • Windows x64 Release: all 1007 tests pass.
    • In game: a Russian tooltip-snapshot before and after, and the screenshots above in both themes.
  • Changes are focused on one concern; the diff is as small as it reasonably can be.

…ltip-context

# Conflicts:
#	tests/data/CMakeLists.txt
…oltip-layouts

# Conflicts:
#	src/Localization/Game.pl.resx
…m-tooltip-shared-texts

# Conflicts:
#	src/bin/Data/Items/Group13_Helper.json
#	src/bin/Data/Items/Group14_Potion.json
…em-tooltip-translations

# Conflicts:
#	src/bin/Data/Items/Group13_Helper.json
The tooltip and tooltip-snapshot commands this branch adds were missing from
the test's list, so the editor build's "Control protocol serves the
documented command vocabulary" counted 36 commands against 34.
Main dropped the 38 "-J" items and renamed the elf (x,50) and Dark Lord lucky
(x,66) sets, so the snapshot records 911 items and their new tooltips.
…ooltip-durability

# Conflicts:
#	tests/data/item_tooltip_snapshot.txt
#	tests/data/test_item_tooltips.cpp
Main dropped the 38 "-J" items and renamed the elf (x,50) and Dark Lord lucky
(x,66) sets, so the snapshot records 911 items and their new tooltips.
A line break inside its text split the row in two and broke the commands table.
…ooltip-durability

# Conflicts:
#	docs/control-socket.md
@ezequielzacca

Copy link
Copy Markdown
Contributor Author

Thanks. "The damage texts and the Fruits' stat words read right in every language" checks the rendered phrases:

  • damageIncrease and damageAbsorb filled with 12, in es, pt, ru, uk, id, tl and zh-TW, against the "After" column above.
  • No translation of the two keeps "% of".
  • The Command Fruit's {stat} at +0 to +4 in es, pt, ru, uk, zh-TW and id.

The expected strings are written out in the test, so a later data change can't make it pass by changing both sides.

…or every language and the levels

Three Polish Fruits texts were from before main corrected them (17fc723): Dowodzenie, "Można użyć po zdjęciu
ekwipunku." and "Może być używany przez: Dark Lord". A test now compares the level lines whose texts other code still
prints with the game's texts in every language, another that a line is only written at its levels. The levels note
says the level variants' lines move into their items later.
…m-tooltip-chain-texts

# Conflicts:
#	tests/data/test_item_database_files.cpp
…ooltip-durability

# Conflicts:
#	docs/item-data.md
…m-tooltip-shared-texts

# Conflicts:
#	src/bin/Data/Items/Group13_Helper.json
…tat words aren't the game's texts

The "i" of "%% increase" leaked into seven translations of "Damage +20% increase effect" ("iefecto", "infeito",
"inувеличение", ...). The level lines' test no longer compares the Fruits' stat words with the game's texts, which
keep the words this step corrects.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants