# Translation manager with system popup

**URL:** <https://forum.inductiveautomation.com/t/translation-manager-with-system-popup/116039>\
**Category:** Ignition\
**Tags:** ignition83\
**Created:** [June 17, 2026, 3:49pm UTC](https://forum.inductiveautomation.com/t/translation-manager-with-system-popup/116039 "2026-06-17T15:49:53Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andrea\_Gasparini](https://avatars.discourse-cdn.com/v4/letter/a/dbc845/32.png) [@Andrea\_Gasparini](https://forum.inductiveautomation.com/u/Andrea_Gasparini)\
**Post date:** [June 17, 2026, 3:49pm UTC](https://forum.inductiveautomation.com/t/translation-manager-with-system-popup/116039/1 "2026-06-17T15:49:53Z")

</div>

I'm trying to translate the **"Action Denied"** system popup.

Currently, the translation for the title ( **"Action Denied"** ) works correctly. However, the message body changes depending on the action being performed and the name of the object where the action was configured.

Because of this, it is quite difficult to add every possible message variation to the Translation Manager.

Is there any way to use placeholders or wildcard entries in the Translation Manager so that similar messages can be translated dynamically?

I found some older forum posts suggesting the use of `system.util.translate()`, but since this is a built-in system popup, I don't think that approach can be applied in this case.

Has anyone encountered a similar requirement or found a workaround?

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/b/1b05264a67c890cdddd3cae537500dd4af0ece09.png)

---

<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 17, 2026, 5:53pm UTC](https://forum.inductiveautomation.com/t/translation-manager-with-system-popup/116039/2 "2026-06-17T17:53:27Z")

</div>

I'm not going to pretend that this is a particularly _good_ pattern that we force you into, and it's something we're planning/hoping to improve in future releases, right now the way this particular popup would be translated is by injecting two specific keys:

```python
messageDetail = `${actionDenied.eventName} ${i18n(client, 'action for component')} ${actionDenied.elementName} ${i18n(client, 'was denied.')}`;

```

If you add `action for component` and `was denied.` to your translation management, those substrings will get translated at runtime.

Again - not pretending this is _great_ - obviously you cannot rearrange the message into a grammar that makes sense in every language, localize the actual component names or event names, etc. But it should work.

---

<div class="post-metadata">

**Author:** ![Andrea\_Gasparini](https://avatars.discourse-cdn.com/v4/letter/a/dbc845/32.png) [@Andrea\_Gasparini](https://forum.inductiveautomation.com/u/Andrea_Gasparini)\
**Post date:** [June 18, 2026, 6:29am UTC](https://forum.inductiveautomation.com/t/translation-manager-with-system-popup/116039/3 "2026-06-18T06:29:54Z")

</div>

Thank you for the clarification.

As a workaround, this solution is perfectly acceptable for us at the moment. While it doesn't allow for ideal localization in every language, it is definitely better than leaving the entire message in English.

Out of curiosity, is there any plan on the roadmap to introduce support for placeholders, wildcards, or similar functionality in the Translation Manager? It would be very helpful for translating dynamic messages while still allowing proper sentence structure in different languages.

Thanks again for your help.

---

<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 18, 2026, 4:20pm UTC](https://forum.inductiveautomation.com/t/translation-manager-with-system-popup/116039/4 "2026-06-18T16:20:13Z")

</div>

It's high on the list of potential improvements, but don't take that to mean it'll happen immediately; at this point the soonest release with (probably) placeholder replacement would be in 2028 (we're moving to a yearly calendar versioning scheme starting next year with 2027.2.0).

---

<div class="post-metadata">

**Author:** ![Andrea\_Gasparini](https://avatars.discourse-cdn.com/v4/letter/a/dbc845/32.png) [@Andrea\_Gasparini](https://forum.inductiveautomation.com/u/Andrea_Gasparini)\
**Post date:** [July 2, 2026, 1:32pm UTC](https://forum.inductiveautomation.com/t/translation-manager-with-system-popup/116039/5 "2026-07-02T13:32:00Z")

</div>

In addition to this topic, with actual version is there any way to translate the login page?

It seems like adding test into translation manager is not working.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/2/32be6c40b5d34567d696fc10bb54463d6653838d.png)

---

<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:** [July 2, 2026, 5:45pm UTC](https://forum.inductiveautomation.com/t/translation-manager-with-system-popup/116039/6 "2026-07-02T17:45:48Z")

</div>

Unfortunately it's not possible to localize the identity provider pages.  
It's (another...) longstanding feature request we haven't implemented yet; you can add your vote here to help us prioritize it:

> **[Translate Ignition's Login Page | Ignition Features and Ideas | Inductive...](https://inductiveautomation.canny.io/ignition-features-and-ideas/p/translate-ignitions-login-page)**
>
> Translate Ignition's login page via users locale, or translation API. https://forum.inductiveautomation.com/t/feature-14041-translate-perspective-login-page/267
