The inner lists of values per field should use different separators.
Some spaces are hard-coded here; should probably be part of separators.
Should we add functionality to ignore case here?
Should there be prefix string matching instead of two arrays for full and short names?
Enforce limitation of maximal number of values.
Enforce uniqueness of properties in declaration.
Theparsing process can encounter many kinds of well-defined problems but uses only one error message. More detailed reporting should be done.
Try to reuse more of MediaWiki's records, e.g. to obtain month names or to format dates. The problem is that MW is based on SIO timestamps that don't extend to very ancient or future dates, and that MW uses PHP functions that are bound to UNIX time.