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

edit

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

edit

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

edit

Currently there are only two programs that convert dates BC:

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

edit

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

edit

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

Pattern Description
Simple year BC Converters should recognise labels: "BC", "BCE", "B.C", "B.C.E". The space between the number and the label may be nonbreakable. It can be nested into some span like this: 123<span class="someClass"> </span>BC. The label may be small 123 <small>BC</small>. All of this applies to spaces and BC/BCE labels in all of the patterns.

Examples: 100 BC, 100 B.C, 100 BCE, 100 BC, etc.

Year ranges If there is a range of years BC, convertors should recognise both numbers as years BC. The range may have different kinds of dashes in the middle. On either side of the dash there may be up to one space. There may be word "around" or abbreviation "c." in front of the second year.

Examples: 105-100 BC, 105-100 BCE, 105- around 100 BC, 105 - c. 100 BC, 105 - <abbr title="circa">c.</abbr> 100 BC, 105 - <span title="circa">c.</span> 100 BC, 105 - 100 BC, 105 to 100 BC, 105-to-100 BC,105 or 100 BC, 105 to early 100 BC, 105 to late 100 BC, 105 to the 100 BC, 105 until 100 BC, 105 till 100 BC, 105 through 100 BC,etc.

Year ranges with slashes A year range may look like this 149/148 BC. Sometimes the second year number may be shortened to two digits 149/48 BC or to one digit 149/8 BC. Converters should recognise such patterns and correctly identify the second year even if it is truncated. Converters should also recognise patterns like 149/48 - 139/38 BC.
Year list Year lists may be simple 150, 149, 148 BC and more complex 180, 160-155, 153, 150-149, 148 BC. Converters should recognise up to 8 items in the list. If a list of numbers is preceded by month name August 12, 30 BC the first number should not be recognised as a year BC.
Decade Anything that looks like this 150s BC or this 150's BC should be recognised as a decade BC.
Range of decades Two decades may be connected with a dash or some words already mentioned like "or", "and", "to", "until", etc. Both decades should be recognised in this case. The first one must be converted without adding the word "decade", and the last one should have the word "decades" (plural).

For example, in 150s and 140s BC should be converted to "9842/51 and 9852/61 decades".

Century Converters should recognise centuries. Some examples: 4th century BC, 4th c. BC, fourth century BC, twenty-first century BC,
Range of centuries Converters should recognise ranges of centuries. Some examples: In 5th and 4th century BC, 3rd to 2nd centuries BC, 3rd/2nd centuries BC, etc.
Millennium Converters should recognise millennia. Some examples:

2nd millennium BC, second millennium BC

Range of millennia Converters should recognise ranges of millennia. Some examples:3rd to 1st millennia BC, 3rd and 2nd millennia BCE

Mark up

edit

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,

{{bc-y|123}} will produce <span class="bc-y">123</span>

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.

Template Description Example
{{bc-y}} Used for marking up years BC that need precise translation {{bc-y|100}} will be converted to 9901.
{{bc-y1}} Used for marking up years BC that need to be translated precisely and then truncated so that only the one last digit is visible. {{bc-y|55}}/{{bc-y1|54}} will be converted to 9946/7.
{{bc-y2}} Used for marking up years BC that need to be translated precisely and then truncated so that only the two last digits are visible. {{bc-y|55}}/{{bc-y2|54}} will be converted to 9946/47.
{{bc-i}} Used for marking up years BC that need to be translated imprecisely. {{bc-i|100}} will be converted to 9900 (not 9901).
{{bc-i2}} Used for marking up years BC that need to be translated imprecisely and then truncated so that only the two last digits are visible. {{bc-i|50}}/{{bc-i2|40}} will be converted to 9950/60.
{{bc-d}} Used for marking up decades BC. {{bc-d|50s}} will be converted to "9942/51 decade". We have to translate decades as ranges of years, because decades BC and decades AE don't match perfectly.
{{bc-sd}} "Short decade". Used for marking up decades BC but the word "decade" will be omitted after conversion. This is useful when we have a table containing multiple decades and we don't won't to repeat the word "decade" many times. {{bc-sd|50s}} will be converted to "9942/51".
{{bc-dp}} Used for marking up a decade BC but with word "decades" (plural). It is useful when marking up the last decade of a series of decades. In {{bc-sd|50s}} and {{bc-dp|40s}}… will be converted to "In 9942/51 and 9952/61 decades…"
{{bc-c}} Used for marking up a century BC {{bc-c|1st}} century will be converted to "100th century".
{{bc-m}} Used for marking up a millennium BC {{bc-m|2nd}} millennium will be converted to "9th millennium".
{{bc-00s}} Used for marking up centuries BC that look like 500s BC. {{bc-00s|500s BC}} will be converted to 9400s.
{{bc-000s}} Used for marking up millennia BC that look like 1000s BC. {{bc-000s|1000s BC}} will be converted to 8000s.
{{bc-r}} Everything marked up with this template will be removed after conversion. {{bc-r|All years are BC}}. The phrase "All years are BC" will be removed after conversion.
{{bc-ig}} Everything marked up by this template will be ignored by Converters. This is useful in some cases. An example could be an article about the Christian timeline. This year {{bc-ig|1 BC}} will not be converted.
{{bc-tn}} "Timeline name". Sometimes instead of "BC", for example in table header you may want to put the name of the alternative timeline you use. {{bc-tn|BC}} will replace "BC" with "Anterior Epoch" (if that's the name of a timeline you use).
{{bc-ot}} "Of timeline". Sometimes (very rarely) you may want to insert a phase like "of Anterior Epoch". In the last two centuries {{bc-ot|BC}} will be converted to "In the last two centuries of Anterior Epoch".
{{bc-at}} "Abbreviated timeline". Use it in case you want to replace "BC" with "AE". All years are {{bc-at|BC}} will be converted to "All years are AE".

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 {{User:KarenGrigMan/bc-y|100}}, and not like this {{bc-y|100}}. 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".