This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Language according provided culture

Hi

I try to get the translation from within a script by using the #LD-Notation. I've the key in the DialogMultilanguage set as: "my test to translate"

Now I tried the following to get the Italian translation of the above mentioned key:
(according the documentation: http://docadmin.quest.com/identity-manager/7.1.1/configuration-guide/the-scripts-one-identity-manager/using-ld-notation/example-for-specifying-language)

Dim lang As String = "italiano"

Value = #LD[lang]("my test to translate")#

However as a result I always receive the key itself "my test to translate" and not the translated text. I tried the provided culture as:

- italiano
- it-CH
- italian

but non of them worked (also tried for different languages like French). I know that normally the square bracket is optional but in my case I need them.

I also tried with the method:
Value = LanguageDependentEx(lang, "DialogMultiLanguage", "EntryValue", "my test to translate")

but also this without success.

I'm on OneIdentity Manager version 7.1.1.

Do I miss something?

Thanks for your help

regards,
Rolf

 

  • Hi Markus

    I have tried this too, but it also doesn't work. The function requires the Ident_DialogCulture. You will find it out by having a look inside of the function code.

    -
    Regards
    Sven
  • It looks like a problem within the swiss culture info. I added now the Italien-Italy culture as well. After calling

    #LD["italiano"]("weiterhin gültig")#

    it works like a charm. Therefore I guess I've to open an incident at OneIdentity.
    By the way, it never worked with the Ident_DialogCulture, it must be the language. This would also match the function call, since it requires a langage instead of a culture:

    -->LanguageDependentEx(language,table,column,key,parameters)

    the only thing I ask myself is, how to determine the different culture by only providing the language..... (because the NativeName does not work either)

    Thanks for all your help
    regards,
    Rolf
  • Did you tried it with #LD["italiano (Svizzera)"]("weiterhin gültig")# ?
  • Forget my previous post.

    The #LD notation, and the LanguageDependend(Ex) methods currently use the same mapping scheme between cultures and languages as in version 6 to be compatible.

    The mapping scheme is defined as:

    _cultures =
    new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase)
         {
                {"deutsch", "de-DE"},
                {"english", "en-US"},
                {"français", "fr-FR"},
                {"italiano", "it-IT"},
                {"русский", "ru-RU"},
                {"中文(中华人民共和国)", "zh-CN"},
                {"한국어", "ko-KR"},
                {"日本語", "ja-JP"},
                {"Português (Br)", "pt-BR"},
                {"español", "es-ES"},
                {"Nederlands", "nl-NL"},
                {"Español (AR)", "es-AR"}
         };
    

    You can add additional languages using the <app>.config, for example add this into the StdioProcessor.exe.config, StdioProcessor32.exe.config if the script is to be executed on the Job Service.

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="cultures" type="System.Configuration.NameValueSectionHandler, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </configSections>
    
      <cultures>
        <add key="italiano (Svizzera)" value="it-CH" />
      </cultures>
    </configuration>

    Drawback is, you need to add this to any application that executes the script to choose the correct translation.

    The other workaround is to assign the culture it-IT (italiano) to your translations. It should work as expected then.

    We have taken enhancement request VPR#28852 to support the direct culture notation #LD["de-DE"]("Test")# as well as the old one #LD["deutsch"]("Test")#.

    Thank you.

  • As follow-up, the upcoming release of One Identity Manager 8 contains the enhancement taken as VPR#28852 to support the direct culture notation #LD["de-DE"]("Test")# as well as the old one #LD["deutsch"]("Test")#.