# Get Translate Manager Terms for perspective?

**URL:** <https://forum.inductiveautomation.com/t/get-translate-manager-terms-for-perspective/47792>\
**Category:** Ignition\
**Created:** [June 15, 2021, 2:39pm UTC](https://forum.inductiveautomation.com/t/get-translate-manager-terms-for-perspective/47792 "2021-06-15T14:39:23Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [June 15, 2021, 2:39pm UTC](https://forum.inductiveautomation.com/t/get-translate-manager-terms-for-perspective/47792/1 "2021-06-15T14:39:23Z")

</div>

Hello,  
im trying to get an overview of the translations for the client view in perspective (version :**8.1.4 (b2021040109)**).  
I found this function in the docs “system.util.getAvailableTerms()”  
but seems its only for vision.  
Is there an other way to get a list of translations?

The system.util.modifyTranslation() is working tho.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [June 15, 2021, 3:57pm UTC](https://forum.inductiveautomation.com/t/get-translate-manager-terms-for-perspective/47792/2 "2021-06-15T15:57:19Z")

</div>

Not currently through an easy scripting function, but you can adapt the code I posted here:

> [@Perspective System.util.translate Poor/Inconsistent Performance](http://forum.inductiveautomation.com/t/perspective-system-util-translate-poor-inconsistent-performance/45134/6):
>
> The ‘round trip’ back and forth is probably not as much of a problem as that post makes it out to be, but… Yes, absolutely. Something like this in a script library should allow you to translate many terms at once, reasonably efficiently: def translate(terms, strict=False, locale=None): from com.inductiveautomation.ignition.gateway import IgnitionGateway from com.inductiveautomation.ignition.gateway.script import GatewaySystemUtilities package = IgnitionGateway.get().getLocalizationManager(…

The result of `loadFullPackage` is going to be a `TranslationPackage` object, which has a variety of useful methods:  
[https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.1/com/inductiveautomation/ignition/common/i18n/translation/TranslationPackage.html](https://files.inductiveautomation.com/sdk/javadoc/ignition81/8.1.1/com/inductiveautomation/ignition/common/i18n/translation/TranslationPackage.html)

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [June 16, 2021, 6:44am UTC](https://forum.inductiveautomation.com/t/get-translate-manager-terms-for-perspective/47792/3 "2021-06-16T06:44:51Z")

</div>

Thanks i can use this!

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [June 16, 2021, 8:01am UTC](https://forum.inductiveautomation.com/t/get-translate-manager-terms-for-perspective/47792/4 "2021-06-16T08:01:07Z")

</div>

Oke i can see all the translation, but how can i update this package as a whole?  
Ive found its possible to make a TranslationPackageDiff, this would be ideal to store temporary updates in i guess, but i dont see how to actual update the Translations.

And its possible to apply the package with a function " BasicTranslationPackage"

But its not updating in the gateway yet.

Or will i need to use system.util.modifyTranslation()?  
If so how do i delete a translation or be able to edit the Term-key?

---

<div class="post-metadata">

**Author:** ![victordcq](https://avatars.discourse-cdn.com/v4/letter/v/f6c823/32.png) [@victordcq](https://forum.inductiveautomation.com/u/victordcq)\
**Post date:** [June 16, 2021, 9:06am UTC](https://forum.inductiveautomation.com/t/get-translate-manager-terms-for-perspective/47792/5 "2021-06-16T09:06:41Z")

</div>

Update:  
i used inspect on IgnitionGateway.get().getLocalizationManager() and found the funtion com.inductiveautomation.ignition.gateway.i18n.LocalizationManagerImpl.applyDiff

Which works great, i didnt seem to find any information about it on the site tho.  
Is it possible the site isnt uptodate or did i just look at the wrong place? Or is this a function that is not supported?

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [June 16, 2021, 3:13pm UTC](https://forum.inductiveautomation.com/t/get-translate-manager-terms-for-perspective/47792/6 "2021-06-16T15:13:03Z")

</div>

For reasons I’m not entirely clear on, the gateway side implementation of translation/localization is considered an implementation detail. It’s _unlikely_ to change between Ignition versions for pragmatic reasons (we don’t change our codebase much if something works) but you should be aware of the possibility - we might refactor things in our codebase which would make your calls stop working.

You’re in a bit of a grey area re: ‘supported’. You absolutely can’t call/email into support and expect help with scripting like this, and, in general, manually calling internal Java methods on the gateway can be ‘dangerous’ - you could cause any number of unintended side effects if you call certain methods.  
For this use case, I think it’s fine, and it’s reasonable to want to fill this gap in first-party functionality - that’s why I shared the script in the first thread, and why I felt it reasonable to share in this thread.
