Several screens looked their cart strings up in the script cache on every draw, every frame or every read. Each now resolves them once:
- the Battle Arena's judgment titles, when the window opens;
- the Battle Dome's tourney title, when the tree opens, and a match card's win and match-number texts, when the card is built;
- the Frontier Pass map's landmark names and descriptions, when the map opens;
- the Pokédex search screen's option texts, when the cursor moves instead of on every frame of the option list;
- the party menu's action labels, once per action list;
- the Battle Pyramid bag's "Return to" place, when the bag opens;
- the expanded placeholders, when their table is built for the current script cache.
The runtime expanded {RIVAL} and {KUN} from text/placeholders.lua, the values the extractor reads from the US cart, so a translation never reached them: the rival stayed MAY or BRENDAN and the Japanese honorific stayed empty. Each value is a cart string the script cache also holds under its pret label (gText_ExpandedPlaceholder_May, _Brendan, _Kun, _Chan...); the placeholders now read it from there, with the extract's value as the fallback.
The rse/menus pack's cursor options are plain English strings. The Emerald profile lists sCursorOptions' strings, an action prints the cart's text for its option and a field move prints the move's name, as the cart does; the pack's labels still identify the actions.
The search screen's option titles and descriptions and its help lines come from the chrome pack's English copies. They are read by their pret labels instead (gText_DexSortNumericalTitle, gText_SearchForPkmnBasedOnParameters, gTypeNames[type]...), with the copies as the fallback.
The map name popup prints a Battle Pyramid floor's name through RomText.refIr(), and the region map reads Ever Grande City's two fly destinations by sEverGrandeCityNames' labels, so both follow a text override.
Several Battle Frontier screens print a cart string from the pack their extractor wrote, so a text override never reaches them although the script cache holds the same string. RomText.irOr() and RomText.refIr() read the cache's text by label, or by the symbol and address a pack reference keeps, and fall back on the pack's copy. The records window, the S.S. Tidal menu, the Battle Dome, the Battle Arena, the Apprentice, the Frontier Pass, the Trainer Hill records and the Pyramid bag's "Return to" line use them; the Dome's and the Arena's strings, kept without a symbol, are read by the label of their table.