mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-12 08:21:02 +02:00
OPTIONS: route CANCEL through Strings so a translation mod can reach it
CANCEL is appended after the `ui.options.rows` hook, deliberately -- that is what stops a mod from orphaning the exit. But it also means no translation mod can ever see it: there is no row for one to rewrite, and the hook has already run by the time it is added. The result is that a fully translated OPTIONS menu has exactly one English word left on it, and it is the way out. I hit this with a Spanish catalog where every row translated and the exit did not. One call, matching how every other label on this screen is already built. Nothing changes without a catalog loaded: Strings is an identity function until a mod supplies one. Follows the same reasoning as #791.
This commit is contained in:
@@ -585,8 +585,14 @@ function OptionsMenu:update(dt)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function OptionsMenu:draw()
|
function OptionsMenu:draw()
|
||||||
|
-- Through Strings, like every other label on this menu. CANCEL is
|
||||||
|
-- appended AFTER the rows hook (see the header), which is what keeps a mod
|
||||||
|
-- from orphaning the exit -- but it also means a translation mod never sees
|
||||||
|
-- this string, and cannot: there is no row for it to rewrite. So the one
|
||||||
|
-- word a Spanish player could not read on a fully translated OPTIONS menu
|
||||||
|
-- was the way out of it.
|
||||||
OptionRows.draw(self.game, self.rows, self.index, self.scroll or 0,
|
OptionRows.draw(self.game, self.rows, self.index, self.scroll or 0,
|
||||||
"CANCEL", #self.rows + 1)
|
Strings("CANCEL"), #self.rows + 1)
|
||||||
end
|
end
|
||||||
|
|
||||||
return OptionsMenu
|
return OptionsMenu
|
||||||
|
|||||||
Reference in New Issue
Block a user