Extension:Wikibase EDTF

The Wikibase EDTF extension adds support for the Extended Date/Time Format (EDTF) Specification to  via a new data type.

See the documentation for detailed installation and usage instructions. See the README for known issues and possible refinements.

Initial development
Initial development was funded by the Luxembourg Ministry of Culture.

Extended Date/Time Format (EDTF)
EDTF is part of ISO 8601-2:2019, which defines various extensions to ISO 8601, such as uncertainties. For the implementation of the project the development team followed the publicly available concise description of the standard on the site of the U.S. Library of Congress.

The implementation supports:


 * Dates
 * Date and time
 * Time Intervals
 * Letter-prefixed calendar year
 * Seasons
 * Qualification of a date
 * Unspecified digit(s) from the right
 * Negative calendar years
 * Exponential years
 * Significant digits
 * Sub-year groupings
 * Set representations
 * Qualifications
 * Unspecified Digits
 * Intervals

Structure
The extension is divided into two libraries. One Library is a standalone PHP EDTF interpretation and humanisation library. It can be found here. The library can be used independently from the extension.

This is wrapped by an extension that interacts with the library and provides the extension (e.g. GUI and export to RDF).

Functionality
The extension provides the user with an open text field where they can put in any text. Upon saving this text is validated against proper formatting of EDTF. If the string is not properly formatted the string is not saved. The users will be presented with an error message.

When the string is a valid EDTF-date it is saved. In the GUI a 'humanised' string is generated that transforms the string to a short sentences that is human readable.

Example humanisation
[2021-02-15, 2021-02-16, 2021-32, 2020-XX-11] becomes:

"One of these:


 * February 15th, 2021
 * February 16th, 2021
 * Winter (Southern Hemisphere) 2021
 * 11th of unknown month, 2020"

Interface translations
The extension is translated by translatewiki. Its project can be found here.