# \[IGN-11921\] Translation works differently from prior versions

**URL:** <https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578>\
**Category:** Ignition 8.3 Early Access\
**Created:** [January 29, 2025, 9:02pm UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578 "2025-01-29T21:02:10Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jeff\_Fitch](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jeff_fitch/32/71281_2.png) [@Jeff\_Fitch](https://forum.inductiveautomation.com/u/Jeff_Fitch)\
**Post date:** [January 29, 2025, 9:02pm UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578/1 "2025-01-29T21:02:10Z")

</div>

Hi all,  
I believe the translation system is behaving differently from 8.1 for Sepasoft components.  
**New:**  
No value for the target language (or don't translate), and no value for English (Alternative). Need to have a key for the phrase in the tranlation manager.  
Then the value is blank in the browser.  
**Old:**  
No value for the target language, and no value for English (Alternative).  
Then the original English value is shown in the browser.

This seems to be true of Sepasoft components, but not of native Ignition components. Is this a new behaior that we need to adjust Sepasoft components for, or is it a defect? Thanks.

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [January 29, 2025, 9:31pm UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578/2 "2025-01-29T21:31:58Z")

</div>

Could we get more context? Is this within Perspective or within the Gateway?

---

<div class="post-metadata">

**Author:** ![connor.elison](https://avatars.discourse-cdn.com/v4/letter/c/e495f1/32.png) [@connor.elison](https://forum.inductiveautomation.com/u/connor.elison)\
**Post date:** [January 29, 2025, 9:38pm UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578/3 "2025-01-29T21:38:22Z")

</div>

This is happening in Perspective and seems related to the way the import is working - when an empty string is entered in the translation manager it does not create an entry in data\config\core\ignition\translations\en.json so no translation is applied, when importing it is creating blank string entries for the terms  
[I83M40\_en.PROPERTIES](https://forum.inductiveautomation.com/uploads/short-url/gQC5llAmcFE9HZJsF1OgMxZGJtq.PROPERTIES) (8.0 KB)

Example of a snippit from the en.json

```python
{
  "(No Data)": "",
  "*Please confirm a downtime reason override.": "",
  "1234": "",
  "<None>": "",
  "<Select One>": "",
  "<back": "",
  "Abort Operation": "",
  "Activate": "",
  "Active Time": "",
  "Actual Quantity": "",
  "ActualBegin": "",
  "ActualEnd": "",
  "Add": "",
  "Add Area": "",
  "Add New Work Order": "",

```

---

<div class="post-metadata">

**Author:** ![cmallonee](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/cmallonee/32/6416_2.png) [@cmallonee](https://forum.inductiveautomation.com/u/cmallonee)\
**Post date:** [January 29, 2025, 9:48pm UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578/4 "2025-01-29T21:48:49Z")

</div>

😀 Okay. Good information. I'll pass it along.

---

<div class="post-metadata">

**Author:** ![osolorzano](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/osolorzano/32/6432_2.png) [@osolorzano](https://forum.inductiveautomation.com/u/osolorzano)\
**Post date:** [January 30, 2025, 12:49am UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578/5 "2025-01-30T00:49:37Z")

</div>

You are correct. It's expected that a key without a value would store as a null not an empty string. A bug ticket has been created to fix this.

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [December 4, 2025, 1:29pm UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578/6 "2025-12-04T13:29:24Z")

</div>

We migrate from **8.1.49 to 8.3.0, 8.3.1 and now 8.3.2**

All terms with **space** have been replaced with lowercase without space but doesn't translate.  
If I try to fix them, for example :

```python
  "Display Path": "Equipement",

```

in the translation file:

```python
C:\Program Files\Inductive Automation\Ignition\data\config\resources\core\ignition\translations

```

those terms are still not translated.

Is there a known bug or I missed something ?

My settings are:  
session.propos.locale = fr

```python
{
  "scope": "A",
  "version": 1,
  "restricted": false,
  "overridable": true,
  "files": [
    "fr.json",
    "en.json"
  ],
  "attributes": {
    "lastModification": {
      "actor": "unknown",
      "timestamp": "2025-12-04T13:12:13Z"
    },
    "ignorePunctuation": true,
    "caseInsensitive": true,
    "lastModificationSignature": "cb83c7afdaae82d4cd66c3b9e900d6e808cbda65efc5ffbd342af2476a83da4c",
    "ignoreWhitespace": true,
    "ignoreTags": true
  }
}

```

---

<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:** [December 5, 2025, 11:29pm UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578/7 "2025-12-05T23:29:26Z")

</div>

Hm, at first when I tried things were working fine, then I started getting weird behaviors.

To be clear - are you experiencing issues only with Perspective components' "built-in" translation (e.g. a label with a value of `Display Path` not/incorrectly translating), or are you also having issues with the translate expression function/scripting function(s)?

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [December 6, 2025, 8:11am UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578/8 "2025-12-06T08:11:45Z")

</div>

I solved the issue with help of support.  
I have replace the ressource file and rescan from the gateway. I added some term for ass data displayed on alarms components.  
Built in term with space or them are fine.

I will repoen the ticket.or the forum post if the issue come back

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [May 7, 2026, 3:08pm UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578/9 "2026-05-07T15:08:23Z")

</div>

I have upgrade to Ignition 8.3.6, and I reproduce the previous issue:

 ![UZqIFaJBRc](https://us1.discourse-cdn.com/inductiveautomation/original/3X/a/3/a33a688c2b800f7054d98c35086c667623380de8.png)

 ![MiflK3Ri2r](https://us1.discourse-cdn.com/inductiveautomation/original/3X/c/4/c4164fa9a6ed7812d1889def1564a18e744e03b2.png)

Gateway scan File system or Ignition service restart does not solve this issue.

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [May 7, 2026, 3:23pm UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578/10 "2026-05-07T15:23:17Z")

</div>

I solve the issue with:

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

instead of all checked.

the file has some **null** value. What is the signification of **null**?

```python
  "displaypath": null,
  "displaypathorsource": null,
  "displaythispenonthechart": null,

  "Display Path": "Equipement",
  "Display Path or Source": "Variable",
  "Display this pen on the chart": "Afficher cette plume sur le graphique",

```

---

<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:** [May 7, 2026, 8:18pm UTC](https://forum.inductiveautomation.com/t/ign-11921-translation-works-differently-from-prior-versions/101578/11 "2026-05-07T20:18:50Z")

</div>

The issue with terms being mangled during migration will be fixed in 8.3.7.
