Globalization(Change Language Based on Inputs) in Interface

I had a Requirement to show the Interface Labels in particular language,

Based on the selected Language/Country from radio Button placed in the same form.

  Discussion posts and replies are publicly visible

  • 0
    Certified Lead Developer

    Hi  I believe, access to internationalisation settings are only specific to the administrators because these settings will be applied for all the users across the environment, hence the only way which you have is,

    Create a plugin which can translate english to various languages, and then by the help of conditional functions such As if else try to convert the form labels and other informations. But this will cause you performance issues. In fact if you change the internationalisation settings, in such case also most of the form labels, and it's values won't be converted, only tempo and predefined text contents will be converted but not the one which we have developed.

    Hope this will give you an understanding about internationalisation settings in Appian.

  • Thanks for your reply Alok,
    I already tried changing the internationalisation settings, that wont change the form labels as you mentioned, thanks for your suggestion on creating the plugin and by using conditional functions, will try for any other ways to achieve this as this procedure may cause performance issues.

    thanks again :) .
  • +1
    Certified Lead Developer
    in reply to chandrasekharm0001
    An another way can be possible here,
    If your form labels are fixed, which you want to translate, then you can create a table where you can define language type along with language in form of English and it's corresponding in other form of language. On load, you can query the data for defined labels from DB and translate the form accordingly.

    Hope this will help you.
  • If you have a reasonably small set of labels to iterate through, you can save each label in a constant. Each constant will be an array of labels in all the supported languages, all languages in the same order every time.

    Label 1 English, Label 1 in French, Label 1 in German, Label 1 in Russian, Label 1 in Arabic
    Label 2 English, Label 2 in French, Label 2 in German, Label 2 in Russian, Label 2 in Arabic
    and so on

    Then Label 1 gets value: cons!label1[local!languageRadioButtonValue]

    You translate, not Appian. And not every time, only once ever. All Appian does is select text from a list. And no DB connection to contend with, so it should be lightning fast.

    This also assumes you have a reasonably small number of languages, seeing as a user is expected to pick with a radio button.
  • Thanks for the great solution David,
    Just 3 to 4 languages I have, but huge labels are there, your answer best suits if we have less variables ,
    I just heared about resource() Function, will check with it aswell. :)
  • Hi Chandrasekharm,

    I am also having a scenario in which I need to build entire form content in the user's preferred language, which user will select in the beginning. So, can you suggest me any way to achieve it?
    Is it possible to implement using resource() function?