DeltaV live - Translate dynamic text to another language

Hi everyone, 

I am looking into the best way to translate a set of graphics to another language than our default (English).
For the static texts we are planning on using the "Translation Guide" in Graphics Studio. Which seems to be the proper option. It can be found under the view tab once a display is opened:

The other part is the translating the dynamic text such as phase messages and named sets. 
We are thinking that this needs to be changed in the actual DeltaV code meaning that we need to update the actual phases and named sets with the new Language. Which will take us quite a bit of time because of verification and so on.  

So, I am reaching out to you experts to see if anyone knows a better way to do this.

B.R.,
Simon

  • Translation Guide is the method to use to help change text for other languages. You still may need to go to other locations depending on need to update Gem configurations for language as well.

    You can't have named sets that change with the selected language, they can only be a single language so if this is a need, you will need to develop some method to show different parameters that are using different Named Sets for selected language.

    Messages can also have a similar method so the logic can be written to produce different messages using language parameters and then the selected language returns the proper message based on the language.

    For Example for Messages:

    1. Have message parameters that will be associated with languages (use numbers of text like MSG for English, MSG_L1 for French, MSG_L2 for Spanish, etc)
    2. Create a Multilanguage string that will be used to hold the 0 (English), 1 (French), 2 (Spanish) for the active language.
    3. Create a Function that will be used to read and return the selected message to display based on the active language and this Function would need to pass the Entity Tag and then have a script like below

    let MsgLang = parseInt(GL.LibraryName.MsgSelectLang,10);

    if (MsgLang == 0 || MsgLang == NaN || MsgLang == undefined) // Check if Default Language selected, Value isn't a number or Standard doesn't exist
    {
        return DLSYS.CondRead(Tag + '/MSG.CV','');
    }
    else
    {
        return DLSYS.CondRead(Tag + '/MSG_L' + MsgLang + '.CV', DLSYS.CondRead(Tag + '/MSG.CV','')); // Read selected language parameter and return, otherwise return default message if language parameter doesn't exist
    }