At first, select lists only supported a predefined list of values to chose from.
Then, the list of values was extended to support a list of value=name pairs.
The new implementation allows select list items to be i18n-able.
The process is as follows:
- let V = the internal value of the option, used as the "value" attribute of the <option> element, and D = the displayed value
- if a message with the key <fieldFullName>_<V> exists, return it as D
- else, if a message with the key <fieldName>_<V> exists, return it as D
- else, if a message with the key option_<V> exists, return it as D
- else, D can be specified in the values parameter of the property by using V=D
- else return V