Skip to content

Adventure Mode: Internationalization groundwork + Spanish Shandalar localization - #11621

Open
churrufli wants to merge 1 commit into
Card-Forge:masterfrom
churrufli:adventure-translations
Open

Adventure Mode: Internationalization groundwork + Spanish Shandalar localization#11621
churrufli wants to merge 1 commit into
Card-Forge:masterfrom
churrufli:adventure-translations

Conversation

@churrufli

Copy link
Copy Markdown
Contributor

Summary

Lays the groundwork for translating Adventure Mode by localizing the pieces that don't require any new infrastructure:

  • Moves 58 hardcoded English strings in Adventure Mode Java files (NewGameScene, AdventureQuestController, SettingsScene, EventScene, DuelScene, AdventureEventData, EffectData, AdventureQuestData) to the existing Localizer/.properties system. Keys added to all 10 res/languages/*.properties files: real Spanish in es-ES, English placeholder elsewhere.
  • Adds a full Spanish translation of Shandalar's narrative content (quests-es-ES.json, shops-es-ES.json), using a per-language file mechanism that already exists in Config.getFile() but was unused anywhere in the repo: quests.json is transparently replaced by quests-es-ES.json when the UI language is es-ES, with automatic fallback to the English file otherwise. This is the first real use of that per-language file mechanism anywhere in the repo — it existed in Config.getFile() but nothing exercised it before this PR. Any other world or language can follow the same pattern going forward without further engineering work. No Java changes needed for this part, no changes to the English source files.
  • Adds forge-gui/tools/checkAdventureTranslations.py, a standalone script that diffs a world's English data files against their translations and reports entries that are missing, orphaned, or structurally out of sync (e.g. a new quest added only in English becomes entirely invisible to es-ES players, not just untranslated — this script catches that before it ships). Purely opt-in tooling for maintains a translation going forward.

Scope

Only Shandalar (the default/flagship world) is covered. Other worlds and the NPC dialogue embedded in .tmx map files are a separate, larger piece of work and are intentionally not part of this PR.

NPC dialogue embedded in .tmx map files is loaded through a different code path (Config.getFilePath()/getCommonFilePath()) that doesn't go through the language-fallback mechanism used here, so translating it needs its own design — left for a follow-up PR.

@churrufli churrufli changed the title Adventure Mode: Spanish localization UI strings + Shandalar quests/shops Adventure Mode: Internationalization groundwork + Spanish Shandalar localization Aug 15, 2026
@churrufli churrufli added the Adventure For the Adventure Module label Aug 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Adventure For the Adventure Module

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant