In this month I've planned to update localization system: change files, tweak string loading and write a guide, but I got too adventurous and also decided to rework fonts, strings, tweak texture loading, config and file streams. Typical for me, when I snowball incoming changes and eventually delay update. Sadly, I couldn't finish it in April, and I'll try to release it next week. However, I must report about my current progress.

WARNING: TECHNICAL CONTENT AHEAD
Currently you can actually create localization with locale that uses 2-byte UTF-8 characters (Cyrillic, for example), but game can't read 3 and 4 bytes chars. This functionality will be added with an update.
I don't like a grouping of static strings, that contains names and descriptions: items, difficulties, challenges, achievements. With an update these will group in separate files.
Localizations uses .fcf files - 2-channel image containers, but I want add .bmp support. I could add .png, but this require including external libraries, while simple .bmp files without compression can be loaded in with a single function. I may eventually add .png in another update.
This led me to necessity to write a program that tests strings outside of a game and move some game code in external libraries. I've practiced this before, but on smaller scale, because I had no idea what of it I could implement in other programs. And this made me to think about updating the zone editor.

Before release, some people are wanted to work with zone editor, but I didn't, since it's far from user friendly: interface is junky, event and scripting languages are specific and not failsafe, game doesn't support zones outside of campaign, etc. The purpose of this zone editor was to create zones for the game, and improving its functionality was always prioritized over QoL. But with the game release and some practice writing user friendly software, I might start working on a new zone editor.
Not quite what I had planned before. I really wanted to start working with a random zone generator, but I'm going to work with zones anyway, so maybe it's for the best.