The internationalization feature enables you to easily localize your forms for target audiences that vary in culture, region and language. supports all ISO-639-2 languages worldwide including RTL (right-to-left) languages. The list of available languages and locale codes can be configured in your instance of (In-house only)
Translations use UTF-8 encoding by default but you may also upload ISO-8859-1 (Unicode) strings.
You can easily localize any form by clicking on the icon next to any form on the Forms Home Page. This open the Locale Home Page for that form.
The default locale is the original language you used in the form designer. Each new locale you create will appear on this page. In the example above this form was translated to Spanish.
The steps below describe the process of creating, testing and using a Spanish locale translation for a form named Travel Request.
On this page:
Download and Translate
- Click the down icon for the default locale. This will save/open a file named TravelRequestForm_default.properties to your disk
- Rename this file to your locale language. Though this is not required it is helpful so you will later know which translation this file contains. In this example we renamed the file to: TravelRequestForm_spanish.properties
- Edit TravelRequestForm_spanish.properties in a simple editor like wordpad on windows
Here is an example locale properties translation file. This forms contains several controls labeled in English. Also you will always see the labels for the submit button and the save, load, and print icons. These can be localized too. In this example only the field labels were translated.
# Default strings for formtype: Travel Request Form # Note that spaces in keys must be properly escaped with a '\' # Generated on: Wed Jul 15 21:49:45 EDT 2009 Buiness\ Purpose=Negocio Propósito Car\ class=Coche Clase Departure\ Date=Salida Fecha Departure\ Time=Salida Tiempo EMail\ Address=Correo Electrónico Submit= load= print= save=
You will see a line for every control label in your form, message control text, hint, help, etc... in the format:
<Text String>=
Add translations for each each text string:
<Text String>=<Text String in Spanish>
For example:
First\ Name=Primero Nombre
Notice that the strings on the left hand side of the '=' have spaces escaped with the '\' character. This is needed so do not remove that. The escape character is not needed on the right hand side of the '='. The example above correctly has "First\ Name" on the left and "JPrimero Nombre" on the right.
You may find some strings in the default properties file that are not applicable to your form. Here are a few examples strings that are only applicable if you're using the save/load feature, workflows feature or Digital Signatures.
Save\ failed.\ Status= Save\ successful= Save\ this\ form= Saving= Section\ A= Sign\ this\ section= load= save=
Some browser have problems with apostrophe characters. Internet Explorer 8 is one such browser. To ensure that your translations are ok on all browsesr you should use the html escape character in place of the apostrophe. Refer to this additional information describing HTML Reserved Characters.
# Do NOT DO THIS on IE8 Initializing\ form=l'initialisation de la forme # Instead use the html apostrophe escape sequence like this Initializing\ form=l'initialisation de la forme
A message control that contains a new line character in the text may not translate properly. For Example, the Text "Trip Itinerary <br/> Please Complete" in a message control to label the Trip Intinerary section of the Travel Request form will appear on the screen to have a new line in it. New Lines are ingnored by HTML. Do not use new lines in forms that require localization.
Upload and Test
Upload your translation file.
- Choose the locale from the dropdown. In this example we choose Spanish. Note the list of available locales is configured by your system administrator (In-house only).
- Browse to your translation file - TravelRequestForm_spanish.properties on disk
- Click the upload button. You will see the new locale appear in the list above. In this case named Spanish::locale=spa
- Click the application icon to test the form with your translation to this new locale
The string locale=spa in the name is the Url parameter that you need to append to the form's Share Url to make the form appear in Spanish rather than the default. The test button and the share button here on the Locale Home Page do that for you automatically. The test & share buttons on the Forms Home Page are by default for default locale. If a locale Url parameter is not specified it defaults to the default locale.
Translations use UTF-8 encoding by default but you may also upload ISO-8859-1 (Unicode) strings. If you are using Unicode, check the ISO checkbox above the upload button.
Updating
To update an existing locale translation, edit the downloaded .properties file and re-upload it choosing the same locale name from the Choose Locale dropdown. This will replace the existing translation with the new translation.
Using
The form Url parameter locale= controls which language the form renders. If the parameter is not present or the value is empty (&locale=) or is set to a locale code for which no translation file exists, then the form will render in the default language. To render the form in a different language such as in Spanish rather than the default add &locale=spa to the form Url. The test button and the share button on the Locale Home Page do that for you automatically. The test & share buttons on the Forms Home Page are by default for default locale.
Server Customization
In-house supports the ability to customize runtime and design time strings and add additional locales and RTL languages. To make any of these changes to your In-house server you must follow these steps:
- Stop the server
- Uncompress/expand the frevvo.war file. This is typically located here: <frevvo-home>/tomcat/webapps/frevvo.war
- Modify the files in /WEB-INF/data as described in the topics Adding Locales, Runtime Strings and Design-Time Strings below. These file contains all of the strings that have been externalized as well as the list of supported locales and directions.
- Re-WAR to create a new updated frevvo.war file.
- Replace the original frevvo.war file with the new updated frevvo.war file, typically located here: <frevvo-home>/tomcat/webapps/frevvo.war
- Re-start your server.
Adding Locales
To add new locale codes to the Choose Locale dropdown and add/change which locales are right to left languages, update these two properties files located in the frevvo.war file.
- /WEB-INF/data/users/locale.directions - add/remove locale codes to this file that need to be displayed in rtl format
- /WEB-INF/data/users/locales.properties - add/remove locale codes here from the Choose Locale dropdown
Refer to the steps above under Server Customization.
Runtime Strings
To localize runtime strings such as those found when a user logs in to access their task list, the login page, access denied messages, etc. update the "defaults" property file located in the frevvo.war file.
- Refer to the steps above under Server Customization, then...
- Find the file named "default" located in /WEB-INF/data/locales. This file contains all of the strings that have been externalized
- Copy the file "default" to another file that is named as one of the language codes listed in ISO 639-2. For example, German is "ger", English is "eng", Portuguese is "por" and Chinese is "chi".
- Selectively edit the target language file and add your translations.
- Copy your new target language file to /WEB-INF/data/locales Ex: /WEB-INF/data/locales/spa
- Refer back to final steps under Server Customization.
Test that your translation shows up as expected, for example on your Task list by:
- Get the share Url to your task list
- In another browser window/tab, paste the url and append "&locale=yyy" where yyy is the target language code and the name of the target language file that was added to the war file.
http://localhost:8082/frevvo/web/tn/nancy.com/subject/designer/tasks?submissionState=PENDING?embed=&locale=spa
In-house server localization is only for embedding. ie. you use this on a task list embedded in your own web site. This is not for use in ' UI. ie. if you append &locale=spa to the task list as an experiment shown above you will notice that ' surrounding page content is visible (as expected) and is not localized. This is correct and expected behavior. You are expected to embedded the task list in your own localized web site.
Design-Time Strings
To localize design-time strings such as those found in the palette controls, wizard, etc. update the "defaults" property file located in the frevvo.war file.
- Refer to the steps above under Server Customization, then...
- Find the file named "default" located in /WEB-INF/data/locales. This file contains all of the strings that have been externalized
- Copy the file "default" to another file that is named as one of the language codes listed in ISO 639-2. For example, German is "ger", English is "eng", Portuguese is "por" and Chinese is "chi".
- Selectively edit the target language file and add your translations.
- Copy your new target language file to /WEB-INF/data/locales Ex: /WEB-INF/data/locales/spa
- Refer back to final steps under Server Customization.
Test that your translation shows up as expected by:
- Login and navigate to a target test forms in the forms home page. Click the form's share button and copy the Raw Form Link choice
- In another browser window/tab, paste the url and append "&locale=yyy" where yyy is the target language code and the name of the target language file that was added to the war file.
http://localhost:8082/frevvo/web/tn/nancy.com/user/designer/app/_bgWqAH0xEeGX-qtBMhaCVw/formtype/_b9WKQIPPEeGZwdXdRCHn6A?_method=post&embed=true&locale=spa
In-house server localization is only for OEM embedding. ie. you use this on the form designer embedded in your own web site. This is not for use in the ' UI.
Custom Styles
Your form's style (colors, font, etc...) can be locale specific. This enables the form designer to select culturally appropriate colors based on the current locale and to match forms to websites that have also been localized using cultural fonts and colors. See locale specific themes for full details.