# \[IGN-4876\]System.util.translate takes too long

**URL:** <https://forum.inductiveautomation.com/t/ign-4876-system-util-translate-takes-too-long/51771>\
**Category:** Ignition\
**Tags:** ignition80\
**Created:** [October 8, 2021, 7:47pm UTC](https://forum.inductiveautomation.com/t/ign-4876-system-util-translate-takes-too-long/51771 "2021-10-08T19:47:54Z")\
**Posts on this page:** 1\
**Showing post:** 10

<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:** [October 13, 2021, 3:22pm UTC](https://forum.inductiveautomation.com/t/ign-4876-system-util-translate-takes-too-long/51771/10 "2021-10-13T15:22:58Z")

</div>

Yeah, unfortunately there’s a weakness in our implementation of `system.util.translate` here - the function can’t simply ask the gateway for a specific term, it has to load an entire ‘translation package’ (containing _all_ your defined translations, across all locales) and then retrieve your single element. Every single call to `system.util.translate` is doing that.  
You can use a script like the one I posted [here](https://forum.inductiveautomation.com/t/perspective-system-util-translate-poor-inconsistent-performance/45134/6) to ‘bulk’ translate calls into a single roundtrip (and a single fetch of the translation package), or you can look into precalculating/caching translations in session properties, or you could use a modified version of the script I linked to cache the `TranslationPackage` in a top-level script constant.

---

_[View the full topic](https://forum.inductiveautomation.com/t/ign-4876-system-util-translate-takes-too-long/51771)._
