# Foregn language letters in system.gui.confirm

**URL:** <https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479>\
**Category:** Ignition\
**Created:** [October 29, 2019, 12:46pm UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479 "2019-10-29T12:46:46Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![tordvd](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tordvd/32/11525_2.png) [@tordvd](https://forum.inductiveautomation.com/u/tordvd)\
**Post date:** [October 29, 2019, 12:46pm UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/1 "2019-10-29T12:46:46Z")

</div>

This might be the same result as this post:

> [@Translation on system.gui.confirm()](http://forum.inductiveautomation.com/t/translation-on-system-gui-confirm/19255):
>
> Have a project where French and English will be used. The system.gui.confirm() popup is always in english. How do i switch based on language selection? Or is the Yes / No part of the machine’s language settings?

The Norwegian letters Æ,Ø Å, are working everywhere in ingition, except in the messagebox and confirm dialogs.

Anyone know how to workaround this so that the native letters are shown.

To be precise... This code:

```auto
if system.gui.confirm("Ønsker du virkerlig å laste ned denne resepten til PLS?","Er du sikker?"):

```

Gives this result:  
 ![2019-10-29%2013_44_23-Window](https://us1.discourse-cdn.com/inductiveautomation/original/2X/2/21b231d85a2b2dcb16f5c7fe4730f48609ddfb70.png)

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [October 29, 2019, 1:10pm UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/2 "2019-10-29T13:10:00Z")

</div>

Have you tried prefixing those strings with `u`?

```auto
if system.gui.confirm(u"Ønsker du virkerlig å laste ned denne resepten til PLS?", u"Er du sikker?"):

```

---

<div class="post-metadata">

**Author:** ![RadicalRumin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/radicalrumin/32/11543_2.png) [@RadicalRumin](https://forum.inductiveautomation.com/u/RadicalRumin)\
**Post date:** [October 29, 2019, 1:17pm UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/3 "2019-10-29T13:17:43Z")

</div>

> [@Kevin.Herron](#):
>
> Have you tried prefixing those strings with `u` ?

Yes, you might want to make sure the strings are in unicode.

---

<div class="post-metadata">

**Author:** ![KathyApplebaum](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kathyapplebaum/32/7261_2.png) [@KathyApplebaum](https://forum.inductiveautomation.com/u/KathyApplebaum)\
**Post date:** [October 29, 2019, 2:21pm UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/4 "2019-10-29T14:21:24Z")

</div>

Like Kevin and RadicalRumin said, python’s handling of anything outside of a-z0-9 is not intuitive – you need to prefix your string with a u to indicate that it’s a unicode string.

The other post is different, in that it’s referring to the Yes / No boxes. Those are not translatable for reasons beyond our control, so you you need those to be in Norwegian you will need to make your own popup window and deal with the button presses yourself.

---

<div class="post-metadata">

**Author:** ![tordvd](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tordvd/32/11525_2.png) [@tordvd](https://forum.inductiveautomation.com/u/tordvd)\
**Post date:** [October 29, 2019, 2:23pm UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/5 "2019-10-29T14:23:48Z")

</div>

That did it 😊

---

<div class="post-metadata">

**Author:** ![tordvd](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tordvd/32/11525_2.png) [@tordvd](https://forum.inductiveautomation.com/u/tordvd)\
**Post date:** [September 29, 2021, 7:30am UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/6 "2021-09-29T07:30:00Z")

</div>

Hi again,  
Do you have any tips if the native letters are stored in the PLC? See my screenshots below:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/0/40dfcfdba3731a733e42da04c60c835cd5ed6aab.png)

I am trying to show these in a normal label in Vision:

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

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [September 29, 2021, 11:51am UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/7 "2021-09-29T11:51:01Z")

</div>

Do you know what symbol that is? It could be an issue with the font not having that character. But it is more likely a side effect of different encodings for PLC and Ignition. Not sure if that is adjustable.

---

<div class="post-metadata">

**Author:** ![tordvd](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tordvd/32/11525_2.png) [@tordvd](https://forum.inductiveautomation.com/u/tordvd)\
**Post date:** [September 29, 2021, 12:11pm UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/8 "2021-09-29T12:11:44Z")

</div>

It is the character ø.

This is the Rockwell PlantPax library in the PLC, and due to the Norwegian law (machine directive). All machines must have the native (norwegian) language for all operational purposes.

So I really need these letters converted/translated correctly… Hope someone have some solution for this. The application is kind of heavy allready, and the PlantPAx library has strings everywhere (fetched from the PLC). So I really dont want to run a script everytime I am to display a string.

But if thats the only way, then I dont really have a choice… 🤔

---

<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:** [September 29, 2021, 12:32pm UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/9 "2021-09-29T12:32:58Z")

</div>

if you put repr() or hex() around the value you get from the plc what does it get?  
if its contains fffd on the location of the � you probably cant turn to back from the gateway side…

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [September 29, 2021, 1:25pm UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/10 "2021-09-29T13:25:23Z")

</div>

Since 8.1.1 the Logix driver will use UTF-8 encoding when reading and writing String tags. You still have to manage to actually get the string bytes encoded with UTF-8 in the PLC program somehow if you aren’t writing the Strings from Ignition.

---

<div class="post-metadata">

**Author:** ![jlandwerlen](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@jlandwerlen](https://forum.inductiveautomation.com/u/jlandwerlen)\
**Post date:** [September 29, 2021, 2:08pm UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/11 "2021-09-29T14:08:21Z")

</div>

> [@tordvd](#):
>
> The application is kind of heavy allready, and the PlantPAx library has strings everywhere (fetched from the PLC).

Is it too hard to do the strings in Ignition, get away from the PLC strings?

That's one reason I don't use PlantPax, it's way too bloated. We started with PlantPax, but stripped out all of the unnecessary items. Just a thought.

---

<div class="post-metadata">

**Author:** ![tordvd](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tordvd/32/11525_2.png) [@tordvd](https://forum.inductiveautomation.com/u/tordvd)\
**Post date:** [September 30, 2021, 6:48am UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/12 "2021-09-30T06:48:24Z")

</div>

For us we need to keep PlantPAx as-is. But it might be a better fit for some people I guess…

Some customers allready have a plantpax system before we come into the picture. And its nice to have a HMI library that works on all plants on a general basis. Also I think there are some other valuable aspects for end customers, like having rockwell supported PLC code at your plant.

Its also the documentation part. One can use the Rockwell documentation if you make them 1-1.

Out of curiosity, what PlantPAx version are you running?

---

<div class="post-metadata">

**Author:** ![tordvd](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tordvd/32/11525_2.png) [@tordvd](https://forum.inductiveautomation.com/u/tordvd)\
**Post date:** [September 30, 2021, 6:54am UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/13 "2021-09-30T06:54:34Z")

</div>

Thanks to you and everyone in this thread.

Like you said, if I set the values from Ignition then the native letters appear normal. Kind of sloppy of me not trying that first.

Then the key is not to use Studio 5000 while setting strings in the PLC.

---

<div class="post-metadata">

**Author:** ![jlandwerlen](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@jlandwerlen](https://forum.inductiveautomation.com/u/jlandwerlen)\
**Post date:** [September 30, 2021, 12:33pm UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/14 "2021-09-30T12:33:24Z")

</div>

> [@tordvd](#):
>
> Out of curiosity, what PlantPAx version are you running?

I'm not technically using a specific version, since what I have just uses bits and pieces. But, the latest version I have that I reference is 4.10.01.

I do agree that a 1:1 setup is nice, but we typically do clean installs, so no need. One example, PlantPax has around 12 AOIs related to a motor. They get very specific to drives, for example. We have 1 and it will work for everything, including drives. I like your point on 1:1, but I also like easy to maintain and implement.

---

<div class="post-metadata">

**Author:** ![tordvd](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/tordvd/32/11525_2.png) [@tordvd](https://forum.inductiveautomation.com/u/tordvd)\
**Post date:** [October 1, 2021, 4:35am UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/15 "2021-10-01T04:35:46Z")

</div>

I actually haven’t used 4.1 myself, but I get your point. I mean 12 AOI’s for motor variants sound strange. I wish the programmers would have collapsed some objects using configuration parameters instead.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [October 1, 2021, 8:29am UTC](https://forum.inductiveautomation.com/t/foregn-language-letters-in-system-gui-confirm/29479/16 "2021-10-01T08:29:43Z")

</div>

> [@jlandwerlen](#):
>
> We started with PlantPax, but stripped out all of the unnecessary items. Just a thought

So what, 95% of it is gone? 😂
