Removing global translations with scripting?

I know about system.util.modifyTranslation for adding or modifying global translations.
But what about removing translation (key) with scripting? Is this possible?
I didn’t find any reference for deleting single one or more keys from global translations anywhere in the documentation or on the forum…?
Oh, I’m on Ignition v7.9.14.

I found this: MutableTranslationPackage (removeKey), so it’s possible to remove translations (keys).
But I really don’t know how to use this in a script.
Can someone provide an example, please…? :pray:
@PGriffith or @KathyApplebaum maybe… this doesn’t work in v7.9.14…?

from com.inductiveautomation.ignition.gateway import IgnitionGateway
IgnitionGateway.get().getLocalizationManager().removeTerm("string")

Should do it

Yes, I tried that, but the thing is, that when I’m doing:

from com.inductiveautomation.ignition.gateway import IgnitionGateway

I get an error:

IgnitionGateway, GatewayContext, and the TranslationManager are only accessible in the gateway scope. You won’t be able to run this in an event like that without sending a message to the gateway to have it execute there.

OK, I tried that with MessageHandler, still getting error:


I found out that IgnitionGateway is on V8.0.
I’m using v7.9.14(13) and I need to use SRContext.
Then I get no error but the term is also not deleted despite that log says otherwise:


When I open Translation Manager in designer, the ‘deleted’ term (key) is still there with all translations.
Even closing the designer and opening again (to refresh translations_e1_v1.dat in .ignition\cache folder… in Windows) doesn’t help.

OK, what I ended up using is this:


and is working as it should. :slightly_smiling_face:
I’m calling this from my button actionPerformed event:

1 Like