Wikipedia:WikiProject Detectable BC/BCE dates

There are special programs (Converters) that convert dates BC into alternative year numbering systems. Those programs convert most dates BC on their own, but sometimes they need help from the text. If some BC date lacks an actual "BC" label, then such date should be at least marked so that it can still be detected by Converters.

Purpose
The goal of this WikiProject is to make all BC/BCE dates on Wikipedia programmatically detectable regardless of whether they have a "BC" label or not.

The project serves a small number of people who want to be able to use alternative year-numbering systems on Wikipedia. At the same time it is completely invisible to the general public.

This WikiProject provides a standardised way for different Converters to detect BC-dates. It describes a list of patterns that any Converter should be able to recognise, a list of markup classes that should be used for dates that are not detectable by pattern recognition, and some rules on how to use them.

For more information read this white paper.

Scope
There are around 60,000 pages in English Wikipedia that contain dates BC (less than 1% of all the pages on Wikipedia). Many of them (possibly more than half of them) won't need any changes. The rest will require only minor changes in most cases. Only a small number of pages will require hundreds of BC dates to be marked up.

Why are we focused only on BC/BCE dates? Two reasons:
 * There are year-numbering systems that differ from the Christian timeline only in BC part (one example is Anterior Epoch proposed by E.R. Hope in 1963), meaning it is still useful to have detectable BC/BCE dates even if we don't also detect and convert AD/CE dates.
 * It is orders of magnitude harder to have a similar project for AD/CE dates. The reasons why it is so hard to detect all AD/CE dates are described in the white paper. If someone comes up with a simple solution for detecting AD/CE dates they may dedicate a separate project to it.

Examples of Converters
Currently there are only two programs that convert dates BC:
 * "Old Era on Wikipedia" Chrome extension
 * Old Era user script
 * You can add your program here

Generally, different converters may convert BC-dates into various alternative year numbering systems. Some may potentially even let users choose their preferred year-numbering system. It just so happens that currently all the existing converters convert dates into one specific system.

The easiest way to create a Converter that converts dates into a different system is to copy the source code of an existing Converter and tweak some parameters in date conversion formulas.

When it comes to different alternative year-numbering systems, Wikipedia (and this WikiProject) shouldn't be a place where we discuss questions like:
 * which year numbering system is better;
 * whether or not humanity should officially or unofficially convert to some alternative year numbering system;
 * whether or not it is a good idea to use an alternative timeline on a personal level.

Wikipedia should provide users with detectable BC/BCE dates and each person may decide on their own which alternative timeline they want to use if any.

Processing articles
In order to make sure that all BC/BCE dates in a given article are detectable, we 'process' that article. Processing simply means checking (usually with a special program) that all the dates are detectable and then fixing any issues (either manually or using a special program). If issues are found we fix them by fixing any existing typos (like extra spaces) and/or adding missing "BC" labels where it is appropriate to do so. In cases where adding a "BC" label is not appropriate we use special markup for some dates.

Patterns
Here is a list of patterns that all Converters should be able to recognise:

Mark up
There are currently 17 different templates that you can use to mark up BC/BCE dates. Use them only as a tool of last resort. We try to minimise the usage of these templates. All of them do the same thing: they add span tag around a piece of text. For example,

will produce

To explain how to use the templates we will use a timeline called Anterior Epoch, which was proposed by E.R. Hope in 1963. It contains a period of time from 10000 BC to 1 BC numbered in ascending order. We use this timeline only as an example. The markup allows conversion of BC/BCE dates to any timeline you can think of.

Note that all the templates in this table currently live in my user namespace. To use them in demo pages of this Wiki project I will have to call them like this, and not like this. But in the usage examples I show them as they will look like when implemented in the main namespace. Also, their actual naming is subject for discussion.

All of the listed templates have one optional attributes: "substitute".