Nice writeup. Two small additions:
You don't need to pass the stringId as a string, unless you want to use the second argument to GetString:
Lua Code:
GetString("SI_ITEMTYPE0") -- works
GetString(SI_ITEMTYPE0) -- works
GetString(SI_ITEMTYPE, ITEMTYPE_NONE) -- doesn't work
GetString("SI_ITEMTYPE", ITEMTYPE_NONE) -- works
You can directly assign the stringId in LAM since a few versions ago:
Lua Code:
--LAM optionsPanel array
local optionsPanel = {
{
type = 'header',
name = SI_WINDOW_TITLE_GRAPHICS_OPTIONS,
},
...
}