web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / multilingual optionset
Power Apps
Unanswered

multilingual optionset

(1) ShareShare
ReportReport
Posted on by 230

Hi everybody, I want to translate an app connected to CDS in many languages. The app use CDS and must be used offline (so microsoft translate connector can't be used I think) I want to use a entity localy saved in the app with strings in every languages with a lookup in every labels.

 

I know it is not the easy way but the offline mode doe not allow other choice.

 

My issue is for the option sets on dropdows in forms. How could I translate that? Is there a way to have it directly in CDS. This would be great!!!!

 

Any Idea?

 

Kind regards

I have the same question (0)
  • Verified answer
    EricRegnier Profile Picture
    8,720 Most Valuable Professional on at

    Hi @Kesh,

    You can do with with out-of-the-box translations in CDS. Make sure you installed the right language pack and then you can export the translations, edit the labels and re-import the translations. Here are the official Microsoft documentation on how to do so:

    1. Enable languages (language packs): https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/customize/enable-additional-languages
    2. Export translations: https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/customize/export-customized-entity-field-text-translation
    3. Import translations: https://docs.microsoft.com/en-us/dynamics365/customerengagement/on-premises/customize/import-translated-entity-field-text

    There's also a tool part of the XrmToolbox to facilitate this: https://www.xrmtoolbox.com/plugins/MsCrmTools.Translator/

    Hope this helps!

     

  • Iron Arm Profile Picture
    18 on at

    I'm not sure this actually answers the question.  I have the same question about getting a translated value for an option set, from Power Automate (Flow).  You have only mentioned how to install language packs, which is not enough if there are multiple languages.

    One solution is to have the Flow run as a user who's personal settings are set to the language you want.  Which is fine if there's only one language.  But what if the language is conditional?  I.E. It can be English or French, depending on the users choice.  How do we solve that issue? 

     

    One possibility is to have a condition in the Flow which runs another Flow .  If French is selected, a different Flow runs which is running as a different user, who's personal settings are set to French.  This is not the most elegant solution as you need 2 service accounts and 2 Flows.  

    Is there another way to do this?

  • EricRegnier Profile Picture
    8,720 Most Valuable Professional on at

    Hi @IronArm,

    If I understand correctly, you would like to get the label of an option set item in a multi-language environment? The label can be either English or French (as an example) and the desired language depends on some logic, correct?

    By default, the label retrieved from Dataverse actions will be the language set on the account used in the Dataverse connections (either a standard account or service principal). If you want the language to always be the same, then set it in the personal settings on that user with XrmToolBox User Settings tool.

     

    If you want the language to be dynamic based on some logic, then you can retrieve the labels with "String Maps" table and apply your logic accordingly. This will return you all the labels and their associated language. You can also pre-determine the language and set it as a filter in the action. Ex:

    EricRegnier_0-1620268541980.png

    Hope this helps!

     

  • ArtK Profile Picture
    38 on at

    With Dynamics OptionSets, you can export a translation file and it will include all the optionset base language text (e.g. English).  After that, the exported spreadsheet is designed to let you input the translation text for any/all supported D365 languages.  This way you only do it once and the translation text it will be included in your exported solution files.   Then when you install the solution, your user can select the language they want for D365 and they will see your OptionSet text in their language, assuming you created the translation.

  • Iron Arm Profile Picture
    18 on at

    Yes, the language is Dynamic based on a condition.  I don't think a custom string mappings table would work because the text is not static.  It's not labels.  It's the text for the option set value which I'm retrieving with:

    outputs('Get_a_row_by_ID')?['body/field_name@OData.Community.Display.V1.FormattedValue']

    I think I need to run a child flow to build the French template that connects with a different service account / language.

  • Iron Arm Profile Picture
    18 on at

    Yes, i've already got all the translations loaded.  That's not the issue.  See my reply above.

  • EricRegnier Profile Picture
    8,720 Most Valuable Professional on at

    StringMaps is not a custom table, it's where labels of choices/option sets (and other components) are stored in Dataverse/D365. It will work to retrieve the desired text based on a condition. So based on the option set value, perform another List rows action (as per my previous example) to get the label instead of getting it from "OData.Community.Display.V1.FormattedValue" 

  • Aedu Profile Picture
    107 on at

    We have the requirement to get a language specific value from an optionset in a canvas app.

    For example: Canvas App language is English but because of some requirements we need to display the optionset values in French, German, what ever.

    How is this possible? I tried to add a DataSource for table stringmaps but i cannot find the stringmpas table in the list of available tables in the canvas app add data source dialog.

  • EricRegnier Profile Picture
    8,720 Most Valuable Professional on at

    Hi @Aedu, haven't tried but the label would be displayed automatically based on the user's local settings if I'm not mistaken. So if the user is setup in German and you're translations have been setup correctly in Dataverse, the German labels should appear in your canvas app. This is assuming the canvas app's Dataverse connector datasource was authenticated with the user's account.

    Also see this documentation for more info on multi-language canvas app.

    Hope this helps and suggest to open a seperate thread to get more assistance from the community 🙂

  • Aedu Profile Picture
    107 on at

    Hi @Eric 
    Thanks for the reply. I understood that as well but it is not the solution for our requirements.

    Ok, maybe I was a bit too unprecise with my description. The Choices values do not need to be displayed directly in the Canvas app.

    Therefore, we implemented a solution with a flow. In a flow, the string map table is available.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 796 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 327 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard