Advanced Techniques - Multilingual data records

If you would like to show data records in more than one language in the portal, e.g. German and English, you need the translation of the data record in each language and the two-letter language code according to ISO 3166-1 - e.g. "de" for German and "en" for English. The method described below can of course be used for any number of languages.

Create the application

Create a new application based on the application template Basic application.



From the context menu of the data group, create a new data field. Enter "Language code" as the title and select "Short text" as the data type. Click on "OK".



Create a drop-down list and enter "Language" as the title. Click on Next.



Select the option Special data sources and the class "LanguageListProcessor". Click on "Next".



Select the data field "Language code" to connect the drop-down list to it and then click on Next and finally "Finish".



Now switch to the "All entries" page and open the properties dialog of the view table and add the data field "Language code" as a table column. Click on "OK" and publish the application. Then switch to the browser.



Create a German and English data record on the edit page.



As you can see, the view table on the "All entries" page displays both data records with their language code. The function of the class "LanguageListProcessor" is therefore to display the language names in the drop-down list. It's much easier to select a language than to select the right language code, as these are easily confused. The class "LanguageListProcessor" stores the corresponding language code in the data field. The language-dependent display of data records can only be achieved with the saved language code. To filter the data records dependent on the language, please reopen the properties dialog of the view table.



Create a filter that compares the data field "Language code" with the system value "Language". Publish the application.



Refresh the application in the browser (F5 key). If your portal is set to English, only the English data record will be shown in the table. Now switch the portal to German.



The table now only shows the German data record. Alongside the class "LanguageListProcessor" that provides the entries for the drop-down list for the language, there are also many more classes, which, for example, only list the languages that you have in the Regional settings of the Portal properties. You can find more information about that here. The Dynamic view element can also be set up to display already saved language codes, like the drop-down list, and then provides the language names instead of the codes.