Code: Select all
localised_name = {"", {"item-name.steam-loco-cartridge"}, ": ", {"item-name."..name}},
How can I check for {"item-name."..name} being non-existent and thus switch to trying {"entity-name."..name} instead?
Code: Select all
localised_name = {"", {"item-name.steam-loco-cartridge"}, ": ", {"item-name."..name}},
Code: Select all
localised_name = {"", {"item-name.steam-loco-cartridge"}, ": ", {"item-name."..name or "entity-name."..name}}
localised_name = {"", {"item-name.steam-loco-cartridge"}, ": ", {"item-name."..name} or {"entity-name."..name}}
Code: Select all
if item.localised_name then
localised_name = {"", {"item-name.steam-loco-cartridge"}, ": ", localised_name}
elseif item.place_result then
localised_name = {"", {"item-name.steam-loco-cartridge"}, ": ", {"entity-name."..item.place_result}}
else
localised_name = {"", {"item-name.steam-loco-cartridge"}, ": ", {"item-name."..name}}
end
So you can use:https://lua-api.factorio.com/latest/concepts.html#LocalisedString wrote:if the key is a question mark ("?"), then the first valid parameter will be used. A parameter can be invalid if its name doesn't match any string template. If no parameters are valid, the last one is returned. This is useful to implement a fallback for missing locale templates.
Code: Select all
localised_name = {"", {"item-name.steam-loco-cartridge"}, ": ", {"?",{"item-name."..name}, {"entity-name."..name}}}