Expand my Community achievements bar.

Multilingual form with an orchestration

Avatar

Level 1

Hello,

I need to create a form (xdp form) that gets initiated from workspace and is associated with an orchestration that routes the form.

It needs to support the following local languages in the same form

  1. Dutch
  2. French
  3. German
  4. Italian
  5. Romanian
  6. Russian
  7. Spanish
  8. Swedish
  9. Japanese
  10. Korean
  11. Traditional Chinese
  12. Simplified Chinese

By default the form supports English language and would initiate in English. The form initiator would select a local language from the drop down and then the form fields and caption will start displaying text in that language.

About 90% of the fields that need to display local language are Text (label) fields. About 10% of the fields (text input fields) are such that they
should allow user entry in the local language once it is selected from the drop down.

I need some basic idea/reference on how i should proceed designing the solution.

Are there best practices/guidelines as to how to design such processes where we do not know the language till the form gets rendered.

Also are there any consideration I should make with respect to fonts for the above languages?

Any help/pointers will be greatly appreciated.

Thanks and Regards,

Hemen

7 Replies

Avatar

Level 4

I would say your best bet was to have 12 different templates (XDP) and your orchestrated process picks with template to use based on an input variable.

AFAIK XFA.forms don't support multiling implementations or internationalization processes. This and the fact that most of your document is made of non-input objects it makes this even harder, because you'd have to script most of the labels to import their content from hidden fields.

Avatar

Level 1

Hi Rui,

Thanks for the response.

I am good with going the 12 different XDPs attached to a single workflow approach. This will ease things a bit for me too in terms of scripting. I am ok with the scripting but I believe layout and flow management will be a bigger issue in this case of roman and asian fonts support in the same form in same label fields.

Anyway now that brings me to the second question.

As we know that the form would be triggered from a Task Manager endpoint from workspace. This endpoint is associated with the orchestration that will route the process. It would have a formvar variable of the type xfaForm. I use the templateURL property of this variable to bind the process to a XDP template. The formvar variable also defines a custom Renderer and Submit service for prefilling the form and handling form submissions.

Now I do not see any way by which a Task Manager Endpoint would pass the language setting/parameter to the main process that will help me select the approrpiate XDP template. How do we do this ?

Moreover are we sure we can have XPATH expression in the templateURL field of the formvar properties window. Otherwise how would we dinamically select the appropriate template for a workflow.

Note 1: This form will get rendered just once (i.e for the initiator, where I need this localization behavior) once the initiator submits the form there are a bunch of notification sent by the process, updates SAP using Webservice call and then the process completes.

Note 2: I know this can be done using 12 different processes (workflows) bound to 12 different XDP templates for each language I need to support. However I do not see it as and elegant solution in terms of long term sustenance.

Thanks and Regards,

Hemen

Avatar

Level 4

Task Manager endpoints is something i haven't got around to fiddle with.

I left my VMs at Home so i don't have a LC:ES 8.2 version here, i'll try to see thoose issues on Monday, but, if they're anyway like Watched Folders you can always pass a variable to indicate the language you wish to get.

Just one question, do you have a set of rules that tells you what language to use?

Avatar

Level 1

I dont think watched folders will be able to help in this case.

My initial thought was to see if i can use any field in our LDAP to see if there is any language preference setting in it, but unfortunately i did not find any. Had that been there i could have used it (by mapping it with some property in the LC usertable) and used it in the form renderer to set the appropriate language to use during display.

But since i did not get any such thing I went with the approach that the form would render by default in English and then the user can select a langage (from dropdown or button click) and then the label text will get updated as per the selected language.

Avatar

Level 4

If you could make your decision based on the user that invoked the service, would that solve you problem?

If not, then i don't know how to solve your problem, if so then check out the attached teste service.

Avatar

Level 1

Thanks. I deployed the process and the User object does not give the needed information (i.e. locale or language preference).

I also did a small PoC to see if the XDP support multiple languages and the results were promising. Attached a sample XDP (and also the corresponding PDF) for reference.

Avatar

Level 4

Ok, but this will be script heavy.

You'll have this for each and every label you have in your form and the choice will be on the user side.

But, in fairness, if there is no way to á priori know the language in wich to display the form, it is probably the best way.