locked
CRM Multidialog Multilingual or Language Specific? RRS feed

  • Question

  • I Created several Dialog Processes in CRM 2011, and I Exported All Translations and also Imported the Translated Version of all Entities.

    From what I can see the Translations for the Texts in Dialogs are missing, and the Dialogs are available only in the Language that was used when the Dialogs were Created.

    Does this means that the Dialogs are Language-Specific, or maybe I'm missing something?If Yes, what is the best aproach to make these Dialogs available in All Languages?

    Thanks in Advance

    Besir Kasami


    B. Kasami
    Friday, July 8, 2011 9:53 AM

Answers

  • Hi Besir,

     

    Unfortunatelly dialogs/workflows do not support translations so they are language specific, there is actually a field called "LanguageCode" on the process entity. Also, the solution is not simple, you would have to re-create each dialog for each of the languages you need!


    Gonzalo | gonzaloruizcrm.blogspot.com

    Friday, July 8, 2011 12:47 PM
    Moderator

All replies

  • Hi Besir,

     

    Unfortunatelly dialogs/workflows do not support translations so they are language specific, there is actually a field called "LanguageCode" on the process entity. Also, the solution is not simple, you would have to re-create each dialog for each of the languages you need!


    Gonzalo | gonzaloruizcrm.blogspot.com

    Friday, July 8, 2011 12:47 PM
    Moderator
  • Thanks a lot for your reponse. I was also thinking the same. Just to clear one thing, if I change the "LanguageCode" manually, would that be an issue?

     

    I have created these Dialogs in English, but they will be used mostly in German, so I was thinking  if I can change that Value in the Database, would that cause any other Issue?

     

    Thanks & Best Regards

    Besir Kasami


    B. Kasami
    Friday, July 8, 2011 1:01 PM
  • Yes it might, it is unsupported you should not do that.

    Gonzalo | gonzaloruizcrm.blogspot.com

    Friday, July 8, 2011 1:57 PM
    Moderator
  • Maybe I'm now missing something here, but how is the management of different language versions of dialog processes supposed to work in real life?

    I was using a non-English base language organization, switched to English language UI and created a new dialog process. When I switched back to the base language, I discovered that the dialog was no longer visible to me. I did an Advanced Find on process entities and discovered the language code field that gets populated for processes if they are of type "dialog". After that I googled around a bit on the topic of dialogs and languages, eventually ending up here.

    Since my dialog process is in non-base language, I can't even include it in a solution file. The customization menus are only available in the base language and the same filters which inhibit the user from seeing the dialog after they click on the entity form "start dialog" button are also in effect here, so I can't see any dialogs available for inclusion into a new solution. The only option of getting the data out of the system is to export the default solution.

    Now I have the process .xaml file in the Workflows folder of the solution zip, as well as the reference to the workflow by GUID in the customizations.xml file. If I manually change the LanguageCode variable in the .xml and import the solution back, I'm able to get the workflow to show up on the base language UI. As expected, the dialog is now no longer visible when the UI language is switched to English.

    So, is it really "by design" that there is no way to translate dialog processes? Or even make the exact same dialog process visible in more than one language available on the CRM instance? If an organization wants to support more than one language in their CRM environment, do they really need to re-create each and every dialog process manually in the CRM UI? Sounds like an extremely cumbersome process to me. A globally operating company might need to have CRM administrators capable of re-constructing (not translating) their common dialog process logic in Arabic, Chinese, Hindi... 

    Reports and templates have the option of defining the applicable language in the record properties, as well as making the report/template available in all installed languages. Why couldn't we have a similar kind of user interface for managing dialog processes? If you could create copies of the master process and then simply change the texts in the dialog editor UI to reflect the chosen language, that would be a much better solution.


    Jukka Niiranen - http://niiranen.eu/crm - @jukkan

    Friday, September 30, 2011 3:56 PM
  • I had same problem.

    Solution is database hacking and worked for all Languages:

    1-Find the Workflow/Dialog Id from URL (or "Copy a Link" in Right Click Menu).

    2-Use the Id found in step 1 to accessing the record in "WorkflowBase" table.

    3-Update the "LanguageCode" column to -1

    Now you can run Workflow/Dialog in all Languages.


    Monday, April 16, 2012 6:59 PM
  • There's an alternative and supported way to achieve this.

    Just edit the views within the entity "process".
    In all views where Dialogs will be showed are filters on the "Current User Language".
    Remove the filter from the views and the user will see all dialogs not juste these in his language.

    Friday, April 20, 2012 9:18 AM
  • Hi  dklinger, I tried to edit the view of the process entity but it is not customizable. Can you please share us how we can update the process entity views?

    Best Regards.

    Friday, August 8, 2014 10:30 AM
  • Hi,

    its possible to edit the solution if you download them and unzip it. 

    its not supported but in this way you dont need to create a second dialog manually.

    Step 1:

    Put all your dialogs that you wanted to use in different languages in one solution and export it.

    Step 2:

    Unzip the solution 

    Step 3:

    open the customizations.xml with notepad++ or something else

    Copy the Workflow Entrys <Workflow..... > </Workflow> and paste them under the original entry.

    Generate new guids for the every new entry and copy them into the WorkflowId tag (WorkflowId="{aa0f576a-983f-45a9-ae71-axxxa43eb696}")

    Change the LanguageCode in the new entrys. For example use 1031 for german.

    Change the XamlFileName tag. There must be the new guid at the end of the name: <XamlFileName>/Workflows/NAVTemplate-aa0f576a-983f-45a9-ae71-axxxa43eb696.xaml</XamlFileName>

    Step 4:

    Go into the Workflows folder and copy and paste the files there.

    You must edit all the new files and rename them like you named them in step three. (NAVTemplate-aa0f576a-983f-45a9-ae71-axxxa43eb696.xaml)

    In the xaml files you can use find and replace to change the XrmWorkflow tags.

    For example: Find: XrmWorkflow93e567bcc9b04390abb9360e353ec36b and replace them with XrmWorkflowaa0f576a983f45a9ae71axxxa43eb696

    Step 5:

    Open the solution.xml file and add some new rootcomponents.

    You must add for every new guid a root component.

    For example:

     
    <RootComponents>      <RootComponent type="29" id="{93e567bc-c9b0-4390-abb9-360e353ec36b}" />      <RootComponent type="29" id="{aa0f576a-983f-45a9-ae71-axxxa43eb696}" />          </RootComponents>

    Step 6:

    Zip all the files and reimport them into Dynamics CRM. If you change now your language you will still see your dialogs.

    Perhaps that can help

    Greetings!

    Thursday, October 9, 2014 11:20 AM
  • Hi everyone

    Copying by editing Solution.xml is possible and since we change the Id to a new GUID makes it well supported, but is very hard to do it. I'm presenting you an easier way doing it throug the User Interface and with a little SQL. I've done this with probably 100's of Dialogs because I allways have to create them in German/French/Italian/English. I allways create them in English and after finishing and Testing the Dialog I do the following:

    Step 1. Deactivate the Dialogs you want to copy

    Step 2. Activate them as Dialog Template

    Step 3. Go to the CRM Database and find them in the WorkflowBase Table, you can search by Name and note the WorkflowId's. You might see more then one Record per Dialog since CRM creates one Record for "Definition" and one for "Activation". Note the value of the Field "LanguageCode" there

    Step 4. Change the LanguageCode to the Language that which you want to copy the Dialogs, use SQL to to this and save the Script because you will have to change it back to the original Language

    UPDATE WorkflowBase SET LanguageCode = 1031 WHERE WorkflowBaseId IN ('', ''.....) put the WorkflowId's here and execute to change the Language to German

    Step 5. Reset IIS

    Step 6. Open CRM and change the Language to the Language you changed the Workflows

    Step 7. Go to Settings->Processes and click "New". Type the Name, choose Dialog for Category and select the Entity. Now under Type, select "New process from an existing template", now you should see the Dialog Template you activated in Step 2. Select the right Dialog Template and Click OK. Now you have successfully "Copied" the Dialog.

    Step 8. After copying all Dialogs, change the Language back to the original values, use the same Script you used in Step 4, just with the right LanguageCode

    UPDATE WorkflowBase SET LanguageCode = 1033 WHERE WorkflowBaseId IN ('', ''.....) put the WorkflowId's here and execute to change back to English

    Step 9. Reset IIS

    Step 10. Open CRM and change the Language to the Language you changed the Workflows

    Step 11. Go to Settings->Processes and change the View to "All Process Templates"

    Step 12. Deactivate the Templates and Activate them as regular Dialogs.

    If you have followed these Steps correctly, you have successfully copied the Dialogs. You should note one thing: If you have referenced Child Dialogs in your Dialog, then you have to modify the Steps in the newly created Dialog otherwise you will endup starting the "wrong" Child Dialogs

    You can see more details and some screenshots here:

    http://frenkiesmart.wordpress.com/2012/10/11/copy-dynamics-crm-dialogs/

    BR


    B. Kasami



    • Edited by frenkie smart Thursday, October 9, 2014 12:19 PM Link added
    Thursday, October 9, 2014 11:48 AM