Find unused string tables and context for used ones


I’d like to get list of unused string table entries.
I’ve looked through this answer, but it did not help

The StabilizeLocalizationKeys commandlet opens packages and calls serialize on all the objects (unless it’s a user created structure). I bet the serialization logic is responsible for localization key stabilization. So it was not very helpful.

I’ve tried to look at GatherText commandlet, but it wasn’t useful as well. It opens assets based on some criteria. My understanding is, that it populates LocalizationManager and LocalizationDashboard/TranslationEditor uses that data to show up localizable texts.

I’ve thought of iterating through all the packages/assets recursively and getting all the FTexts. Next I can get all String Tables and compare two results. My issue is with getting all FTexts, as there might be different locations. Some might be set as a blueprint property, some as a property inside TextWidget (C++ class property) and others may be created inline in the BP graph.

So I’d like to know if there is a way to get all available FTexts from game content. My project is BP only, and I don’t have any localize able text inside cpp code.

If that problem is solved, I’d be able to get a blueprint where said string table entry is used as well (e.g. context)

Subscribing. I’m extremely interested in the same task: adding source references to string table entries, i.e. finding all FTexts referencing an entry and adding their paths to the entry context column. Without it, string tables do more harm than good for translators, unless you manually comment all entires which is a lot of work.