Investigation led to discovering that the game uses a SECOND localization system, completely separate from the menu one — Dialogue System for Unity (PixelCrushers), with its own per-language binary database, called DialogueDB. It had never been touched.
This database contains actors, objects, keywords, variables, and conversations. In total: 48,813 dialogue entries. Of those, 45,975 are real player-visible text. The rest are internal editor labels, the studio's own test text, or code references — filtered with judgment, not translated blindly.
The work was to build a Spanish database from scratch: cloning the binary structure of the English version, with new internal identifiers, and registering it in the Addressables catalog the same way as the UI tables.
The second obstacle
The game still did not load Spanish dialogue, this time with a concrete integrity error: "CRC Mismatch" in the game's own register at startup.
The cause, found by comparing behavior with the UI tables that did work: Unity verifies the integrity of a data package by computing a checksum on the content already decompressed in memory, not on the file as it sits on disk — two different numbers by engine design.
The fix, which had been used unknowingly on the UI tables that did work, is simply not to force that verification when the package is trusted by the tool itself. Corrected, the full dialogue worked: every character's conversations, and the opening cinematic that had previously stayed on a black screen.