Extension:Wikibase EDTF/en

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 standard, such as uncertainties. For the implementation of the project the development team followed the publicly available concise description of the standard on the specification 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 at ProfessionalWiki/EDTF. Note that the library can be used independently from this extension.

This library is wrapped by this extension that interacts with the library and provides further functionality, 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

becomes

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

Interface translations
The extension is being translated via translatewiki.net. It's project can be found here.