It's not the whole truth that no custom strings can be added, the Epic Encounters mod for D:OS1 proved the opposite, they even changed names for existing talents. But it's a very tedious process ...

If I assume that the system still works like it did in the old D:OS1:

You'd have to unpack the translated string key file with the EE pak extractor to XML format (.lsf or .lsb to .lsx).
Then you'd have to manually add a handle="..." attribute to every 'translated' string, repack the file and used the values of the handles as pointers in your language XML.

I do not know which type and format the handle value requires, I think I remember someone speaking of a 'GID' once. There are id generators on the web and you'd always have to make sure to create a unique value that is not used anywhere else.

The handle="..." attribute is not only used for translated string keys but also in root templates.

The old D:OS1 editor did not have a way to edit or attach translation handles either, for modders, unpacking with the EE pak extractor and manually creating handles and editing the XML file was the only way to teach the game new localized strings. (But the game would always display at least the original 'translated string value' if it could not find a pointer link to the localization file.)