A field can in principle contain data in several languages. This functionality has not been applied in the Collections model applications though, but those can be customized at will.

Using XML's extendibility to store translations

In SQL databases, Collections data is stored in XML format, and because of XML's hierarchical structure this format can easily be extended. After setting up a field accordingly, it stores translations of a field occurrence in separate XML-tags per language underneath the record node. Tag, occurrence number, language of the data in this field occurrence and the invariancy* of the language are possible attributes in the XML <field>-tag which contains the data in this field occurrence, for example: <field tag=“au” occ=“1” lang="en-GB" invariant="true">data in this field occurrence</field>
Per data dictionary field you simply decide whether is has to be multilingual or not. The languages which must be available are set once, application-wide. Now, the language in which the user enters or reads data in a multilingual record is not determined by the application interface language, but by the Data language selection. The currently chosen data language is visible to the left in the status bar of the running application. Note that here the interface language may be set differently from the data language.
* Manually, you can assign a so-called invariancy flag to one of the data languages of any field occurrence, by editing the translations of a value in a multilingual field accordingly via the Edit multilingual texts dialog in the Collections application. The advantage of having values in an invariant data language is that this data is displayed greyed out by default in the other data languages to make it easier to enter translations. Whatever data you leave or enter into this field occurrence will be stored with the currently set data language. If you do not switch to another data language, then the field occurrence in that language will remain empty and will not be stored.

You make a field multilingual this way by marking the Multilingual option. The user will be able to enter a value for this field (and each occurrence of it) in the running application, in any language that you set in the Data languages list for the .pbk file of this application. Note that if you want to make a linked field multilingual, you have to do the same for the linked-to field and any internally linked fields, otherwise translations cannot be stored. Also, all (externally and internally) linked multilingual fields need to be linked on (forward) reference.

Remarks

Actually filling in translations of multilingual fields is always optional.

See also

Fields: introduction