Hi Kweepa,
would you consider adding some changes to the game that would make translations/localizations easier to create and maintain?
For example, the game could load display text from external TXT, JSON, CSV, or similar files that are easy to edit. STRINGS.PAK could remain structurally identical to the original - the same blocks and indices - while the translated text itself could be stored in a plain text-based format.
The other texts that are currently stored in Unity assets - cutscenes, character descriptions, and so on - as well as UI and other strings embedded directly in Assembly-Csharp.dll, could also be moved into external language files, so the game would load the appropriate version depending on the selected language.
Up to now, for the Polish translation I have been replacing STRINGS.PAK with a translated version and editing dll and some Unity assets to translate the strings contained there. However, your explanation about the engine relying on the English spell names shows that directly translating some of these internal strings can cause unexpected gameplay bugs.
Ideally, the original English strings and identifiers used internally by the game could remain completely unchanged, while translated versions would only be used for text shown to the player.
I think this would make translations much safer and would also make them much easier to update after new game releases.
Best regards