The gist of it is, translations that are requested on the same tick that a game is saved are never returned if you reload that save. To reproduce:
1) Download the attached sample mod, and load it up.
2) Start a new game
3) Dismiss the freeplay explanation bubble, wait half a second (ish)
4) Save and reload the game
5) Wait half a second (ish), then pause and check the game's log file, scrolling to the bit where the save was reloaded
What you will find is this:
Code: Select all
14.066 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-111"}
14.066 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-112"}
14.066 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-113"}
14.066 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-114"}
14.066 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-115"}
14.066 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-116"}
14.066 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-117"}
14.066 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-118"}
14.067 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-119"}
14.067 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-120"}
16.639 Info AppManagerStates.cpp:1844: Saving finished
18.130 Loading map C:\Files\Development\Factorio\Testbenches\1\saves\FLib\SaveLoadSafe.zip: 1285382 bytes.
18.188 Loading level.dat: 1978135 bytes.
18.192 Info Scenario.cpp:187: Map version 0.18.22-1
18.248 Loading script.dat: 416 bytes.
18.251 Checksum for script C:/Files/Development/Factorio/Testbenches/1/temp/currently-playing/control.lua: 2466797803
18.252 Checksum for script __TranslationTest__/control.lua: 2448771134
18.299 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-121"}
18.300 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-122"}
18.300 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-123"}
18.300 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-124"}
18.300 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-125"}
18.300 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-126"}
18.300 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-127"}
18.300 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-128"}
18.300 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-129"}
18.300 Script @__TranslationTest__/control.lua:14: REQUESTED: {"translation-130"}
18.330 Script @__TranslationTest__/control.lua:27: RECEIVED: {"translation-121"}
18.330 Script @__TranslationTest__/control.lua:27: RECEIVED: {"translation-122"}
18.330 Script @__TranslationTest__/control.lua:27: RECEIVED: {"translation-123"}
18.330 Script @__TranslationTest__/control.lua:27: RECEIVED: {"translation-124"}
18.330 Script @__TranslationTest__/control.lua:27: RECEIVED: {"translation-125"}
18.330 Script @__TranslationTest__/control.lua:27: RECEIVED: {"translation-126"}
18.330 Script @__TranslationTest__/control.lua:27: RECEIVED: {"translation-127"}
18.330 Script @__TranslationTest__/control.lua:27: RECEIVED: {"translation-128"}
18.330 Script @__TranslationTest__/control.lua:27: RECEIVED: {"translation-129"}
18.330 Script @__TranslationTest__/control.lua:27: RECEIVED: {"translation-130"}
If you save, and choose not to reload, the translations will be returned like normal.
Thank you!