Files
gen1recomp/mods/spanish_ui
hernan 83f93c27a1 mods: a Spanish translation of the app's own text
A LANGUAGE-profile mod filling the `strings` registry -- the seam #791 opened
up, used for the thing it was opened for. 566 keys: the launcher, OPTIONS,
the save-slot and profile screens, the mod manager, the naming screen, and
the battle menu.

WHAT IT DOES NOT TOUCH is the cartridge. Dialogue, species, items, moves and
places all come out of the player's ROM and stay exactly as they are, so an
English cartridge is still an English adventure with Spanish menus around
it. The lang/ tables for those ship empty on purpose rather than absent:
they are where a full translation would go, and an empty value falls through
to English, so anyone continuing this can fill one row at a time and the
game stays playable throughout.

THE FONT IS THE CONSTRAINT, and it decided the wording. The 8x8 charmap has
no N-tilde, no accented vowels and no inverted punctuation -- the sole
exception in the whole atlas is the small e-acute of POKeMON. So every value
on an 8x8 surface is plain A-Z: DISENO COMBATE, MESETA ANIL, SEGURO? OTRA
VEZ. Not a spelling preference; a glyph that is missing renders as a hole,
which is how the first cut of this shipped "ESPA OL" to a phone. The
launcher draws with a real font and keeps proper Spanish, inverted marks and
all -- the split is by surface, not by taste.

Adding the glyphs to the atlas would let the 8x8 side read properly too, and
lang/font.lua and lang/charmap.lua are already the place that would hook
into. I have not done it here: it is a separate change with its own taste
questions, and it should not ride in on a catalog.

Tested end to end on iOS and macOS.
2026-08-07 22:16:06 -04:00
..

spanish_ui

A Espanol translation of the game.

Generated with python3 tools/modkit.py translation spanish_ui. See TRANSLATING.md for how to work on it.

Status

Nothing is translated yet: 601 strings are waiting in lang/.

Catalog Entries
lang/dialogue.lua 6
lang/strings.lua 577
lang/species_names.lua 3
lang/move_names.lua 4
lang/item_names.lua 5
lang/trainer_names.lua 1
lang/status_labels.lua 5

Layout

  • manifest.json - identity and the engine version range
  • main.lua - registers whatever is filled in and skips whatever is not
  • lang/ - the catalogs; this is the whole job
  • assets/font/ - your glyph sheet