Module:I18n/complex date



From Wikimedia Commons, the free media repository

< Module:I18n


Jump to navigation  Jump to search  

Lua

CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules

Translations used by Module:Complex date.

Please use Module:I18n/complex date/sandbox, Module:Complex date/sandbox and {{Other date/sandbox}} for testing.

Code

--[[
  __  __           _       _        ___ _  ___           __                        _                 _       _       
 |  \/  | ___   __| |_   _| | ___ _|_ _/ |( _ ) _ __    / /__ ___  _ __ ___  _ __ | | _____  __   __| | __ _| |_ ___ 
 | |\/| |/ _ \ / _` | | | | |/ _ (_)| || |/ _ \| '_ \  / / __/ _ \| '_ ` _ \| '_ \| |/ _ \ \/ /  / _` |/ _` | __/ _ \
 | |  | | (_) | (_| | |_| | |  __/_ | || | (_) | | | |/ / (_| (_) | | | | | | |_) | |  __/>  <  | (_| | (_| | ||  __/
 |_|  |_|\___/ \__,_|\__,_|_|\___(_)___|_|\___/|_| |_/_/ \___\___/|_| |_| |_| .__/|_|\___/_/\_\  \__,_|\__,_|\__\___|
                                                                            |_|    
This code was copied from Commons please request changes there. 
                                      
Maintainers:
*Jarekt                                      
]]

-- ==========================================================================
-- ===  External modules and functions (use Lazy loading) ===================
-- ==========================================================================

local function Ordinal(...)
    -- Name of the Module:
 -- * Module:Ordinal    - on Commons and Wikidata
 -- * Module:Ordinal-cd - on English Wikipedia
 return require('Module:Ordinal')._Ordinal(...)
end

local function Roman(...)
    -- Name of the Module:
 -- * Module:Roman    - on Commons and Wikidata
 -- * Module:Roman-cd - on English Wikipedia
 return require('Module:Roman')._Numeral(...)
end

local function linguistic_of(...)
 return require('Module:Linguistic').of(...)
end

local function linguistic_conj(...)
 return require('Module:Linguistic').conj(...)
end

-- ==========================================================================
-- ===  Local Helper functions ==============================================
-- ==========================================================================
-- form of French "of" based on "precision", which is wikibase compatible date precision format: 
-- 6=millennium, 7=century, 8=decade, 9=year, 10=month, 11=day
--             1    2    3    4    5    mill  cent  deca  year  month  day
local frOf = {'du','du','du','du','du', 'du', 'du', 'de', 'de', 'de', 'du'}

local function decYear(state,lang,case)
--Declension of word "year" in several languages
if state.precision == 9 then
 local yearCase = {
  fi={xxx='vuosien', gen='vuoden', ill='vuoteen', ptv='vuotta', ela='vuodesta', ine='vuonna'},
  sl={insD='letoma', insP='leti', ins='letom', gen='leta', loc='letu'},
  hsb={insP='lětami', ins='lětom', gen='lěta', loc='lěće'}
 }
 return yearCase[lang][case] .. ' '
else
 return ''
end
end

local function decCentury(lang,case)
--Declension of word "century" in several languages
 local centuryCase = {
  pl={nom='wiek', gen='wieku', ins='wiekiem', loc='wieku', default = 'wiek'},
  hsb={nom='lětstotk', gen='lětstotka', ins='lětstotkom', loc='lětstotku', default = 'lětstotk'},
  sl={nom='stoletje', gen='stoletja', dat='stoletju', acc='stoletje', ins='stoletju', loc='stoletju', default = 'stoletje'}
 }
 return centuryCase[lang][case] or centuryCase[lang]['default']
end

local function decMillennium(lang,case)
--Declension of word "century" in several languages
 local millenniumCase = {
  pl={nom='tysiąclecie', gen='tysiąclecia', ins='tysiącleciem', loc='tysiącleciu', default = 'tysiąclecie'},
  hsb={nom='lěttysac', gen='lěttysaca', ins='lěttysacom', loc='lěttysacu', default = 'lěttysac'},
  sl={nom='tisočletje', gen='tisočletja', dat='tisočletju', acc='tisočletje', ins='tisočletju', loc='tisočletjem', default = 'tisočletje'}
 }
 return millenniumCase[lang][case] or millenniumCase[lang]['default']
end

local plDeclension = { -- Polish Declensions of some terms
    --           kto? co? (jest)    kogo? czego?(brak) komu? czemu?       kogo? co? (widzę)  kim? czym?         o kim? o czym? (mówię) 
 century   = {nom='wiek',        gen='wieku',       dat='wiekowi',     acc='wiek',        ins='wiekiem',      loc='wieku'},
 millenium = {nom='tysiąclecie', gen='tysiąclecia', dat='tysiącleciu', acc='tysiąclecie', ins='tysiącleciem', loc='tysiącleciu'}, 
 winter    = {nom='zima',        gen='zimy',        dat='zimie',       acc='zimę',        ins='zimą',         loc='zimie'},
 spring    = {nom='wiosna',      gen='wiosny',      dat='wiośnie',     acc='wiosnę',      ins='wiosną',       loc='wiośnie'},
 summer    = {nom='lato',        gen='lata',        dat='latu',        acc='lato',        ins='latem',        loc='lecie'}, 
 autumn    = {nom='jesień',      gen='jesieni',     dat='jesieni',     acc='jesień',      ins='jesienią',     loc='jesieni'},
 years     = {nom='lata',        gen='lat',         dat='latom',       acc='lata',        ins='latami',       loc='latach'}
}
local slDeclension = { -- Slovene declensions of some terms
    --           kdo ali kaj?       koga ali česa?     komu ali čemu?    koga ali kaj?     (s) kom ali čim?   (o) kom ali čem? 
 century   = {nom='stoletje',    gen='stoletja',    dat='stoletjem',  acc='stoletje',   ins='stoletjem',   loc='stoletju'},
 millenium = {nom='tisočletje',  gen='tisočletja',  dat='tisočletju', acc='tisočletje', ins='tisočletjem', loc='tisčletju'}, 
 winter    = {nom='zima',        gen='zime',        dat='zimi',       acc='zimi',       ins='zimo',        loc='zimi'},
 spring    = {nom='pomlad',      gen='pomladi',     dat='pomladi',    acc='pomlad',     ins='pomladjo',    loc='pomladi'},
 summer    = {nom='leto',        gen='poletja',     dat='poletju',    acc='poletje',    ins='poletjem',    loc='poletju'}, 
 autumn    = {nom='jesen',       gen='jeseni',      dat='jeseni',     acc='jesen',      ins='jesenjo',     loc='jeseni'},
 years     = {nom='leta',        gen='let',         dat='letom',      acc='leta',       ins='leti',        loc='letih'}
}
-- ==========================================================================
-- ===  Output data structure ===============================================
-- ==========================================================================
local p = {} 

--[[
 Multiple formats are possible:
1) string with key words "$date1" and "$date2" which will be replaced later by the date strings
2) function which can be used to create output string
    * Function INPUTS: 
   - date1 and date2 string with date strings. "$date1" and "$date2" can also be used which will be replaced latter
   - state is a table with full description of the phrase we are trying to construct. It includes state.precision1 (and 2) 
  which is wikibase compatible date precision format: 6=millennium, 7=century, 8=decade, 9=year, 10=month, 11=day
3) table with following fields:
    * table[1] is either string or a function
    * table.case is a 2 element table with Grammatical cases used by given language to alter 
     month name or other adjective related to date # 1 and 2
]]
p.Translations = {

 -- ==========================================
 -- === Two date phrases =====================
 -- ==========================================
 ['from-until'] = {
  nDates = 2, 
  ar='من $date1 إلى $date2',
  ['be-tarask']={'з $date1 да $date2', case={'gen','gen'}},
  bn='$date1 থেকে $date2 পর্যন্ত',
  ca='$date1 fins $date2',
  ckb='لە $date1 تاوەکوو $date2',
  cs='$date1 až $date2',
  da='fra $date1 til $date2',
  de='$date1 bis $date2',
  el='από $date1 έως $date2',
  en='from $date1 until $date2',
  ['en-gb']='from $date1 until $date2',
  ['en-ca']='from $date1 until $date2',
  eo='de $date1 al $date2',
  es='de $date1 a $date2',
  et='$date1 kuni $date2',
  fa='از $date1 تا $date2',
  fi='$date1–$date2', -- välisenä aikana
  fr=function(date1, date2, state) -- could actually be better should be "d'octobre à mars 2013' not "de octore 2013 à mars 2013" 
   if state.precision > 10 then -- precision > month
    return 'du $date1 au $date2'
   else    -- "DE septebmbre" / "D'octobre"
    return linguistic_of(date1, 'fr') .. " à $date2"
   end
  end,
  ga='ó $date1 go $date2',
  gl='de $date1 a $date2', --Template:From until used 'desde $date1 ata $date2'
  he='מ- $date1 עד $date2',
  hr='od $date1 do $date2',
  hsb={'wot $date1 do $date2', case={'gen','gen'}},
  hu='$date1 – $date2',
  it='dal $date1 al $date2',
  ja='$date1から$date2まで',
  ko='$date1부터 $date2까지',
  mk='од $date1 до $date2',
  ml='$date1 മുതൽ $date2 വരെ',
  nb='fra $date1 til $date2',
  nds='$date1 bet $date2',
  nn='frå $date1 til $date2',
  nl='$date1 tot $date2',
  no='fra $date1 til $date2',
  pl={'od $date1 do $date2', case={'gen','gen'}},
  ro='din $date1 până în $date2',
  pt='de $date1 a $date2',
  qu="$date1 p'unchawmanta $date2 p\'unchawkama",
  ru={'с $date1 по $date2', case={'gen','gen'}},
  sk={'od $date1 do $date2', case={'gen','gen'}},
  sl={'od $date1 do $date2', case={'gen','gen'}},
  sv='från $date1 till $date2',
  uk={'з $date1 до $date2', case={'gen','gen'}},
  ur='از $date1 تا $date2',
  vi='từ $date1 đến $date2',
  ['zh-hans']='从$date1到$date2',
  ['zh-hant']='從$date1到$date2',
  default='<span style="color:red">$date1 - $date2</span>',
 },

 ['between']={
  nDates = 2,
  ar='بين $date1 و $date2',
  ['be-tarask']={'між $date1 і $date2', case={'ins','ins'}},
  bn='$date1 এবং $date2-এর মাঝামাঝি',
  ca='entre $date1 i $date2',
  ckb='لەنێوان $date1 و $date2',
  cs={'mezi $date1 a $date2', case={'ins','ins'}},
  da='mellem $date1 og $date2',
  de='zwischen $date1 und $date2',
  el='μεταξύ $date1 και $date2',
  en='between $date1 and $date2',
  ['en-gb']='between $date1 and $date2',
  ['en-ca']='between $date1 and $date2',
  eo='inter $date1 kaj $date2',
  es='entre $date1 y $date2',
  et='$date1 ja $date2 vahel',
  fa='بین $date1 و $date2',
  fi={function(date1, date2, state) return decYear(state,'fi','xxx') .. '$date1 ja $date2 välisenä aikana' end, case={'gen','gen'}},
  fr = function(date1, date2, state)
   -- prepend ‘le’ if precision > month
   local prep1 = state.precision1 > 10 and 'le ' or ''
   local prep2 = state.precision2 > 10 and 'le ' or ''
   return 'entre ' .. prep1 .. '$date1 et ' .. prep2 .. '$date2'
  end,
  ga='idir $date1 agus $date2',
  gl='entre $date1 e $date2',
  he='בין $date1 ו- $date2',
  hr='između $date1 i $date2',
  hsb={'mjez $date1 a $date2', case={'ins','ins'}},
  hu='$date1 és $date2 között',
  hi='$date1 और $date2 के बीच',
  it='tra il $date1 e il $date2',
  ja='$date1と$date2の間',
  ko='$date1에서 $date2 사이',
  mk='помеѓу $date1 и $date2',
  ml='$date1, $date2 എന്നിവയ്ക്കിടയ്ക്ക്',
  nb='mellom $date1 og $date2',
  nds='twischen $date1 un $date2',
  nn='mellom $date1 og $date2',
  nl='tussen $date1 en $date2',
  no='mellom $date1 og $date2',
  pl={'między $date1 a $date2', case={'ins','ins'}},
  ro='între $date1 și $date2',
  pt='entre $date1 e $date2',
  qu="$date1 p'unchawpa $date2 p'unchawpapas chawpin",
  ru={'между $date1 и $date2', case={'ins','ins'}},
  sk={'medzi $date1 a $date2', case={'ins','ins'}},
  sl={function(date1, date2, state) return 'med ' .. decYear(state,'sl','insP') .. '$date1 in $date2' end, case={'ins','ins'}},
  sv='mellan $date1 och $date2',
  uk={'між $date1 та $date2', case={'ins','ins'}},
  ur='بین $date1 و $date2',
  vec='tra el $date1 e el $date2',
  vi='giữa $date1 và $date2',
  ['zh-hans']='在$date1到$date2之间',
  ['zh-hant']='在$date1到$date2之間',
  default='<span style="color:red">$date1 - $date2</span>',
 },

 ['or'] = {
  nDates = 2,
  ar='$date1 أو $date2',
  ['be-tarask']='$date1 ці $date2',
  bn='$date1 অথবা $date2',
  ca='$date1 o $date2',
  ckb='$date1 یان $date2',
  cs='$date1 nebo $date2',
  da='$date1 eller $date2',
  de='$date1 oder $date2',
  el='$date1 ή $date2',
  en='$date1 or $date2',
  ['en-gb']='$date1 or $date2',
  ['en-ca']='$date1 or $date2',
  eo='$date1 aŭ $date2',
  es='$date1 o $date2',
  et='$date1 või $date2',
  fa='$date1 یا $date2',
  fi='$date1 tai $date2',
  fr='$date1 ou $date2',
  ga='$date1 nó $date2',
  gl='$date1 ou $date2',
  he='$date1 או $date2',
  hr='$date1 ili $date2',
  hsb='$date1 abo $date2',
  hu='$date1 vagy $date2',
  it='$date1 o $date2',
  ja='$date1または$date2',
  ko='$date1 또는 $date2까지',
  mk='$date1 или $date2',
  ml='$date1 അഥവാ $date2',
  nb='$date1 eller $date2',
  nn='$date1 eller $date2',
  nds='$date1 oder $date2',
  nl='$date1 of $date2',
  no='$date1 eller $date2',
  pl='$date1 lub $date2',
  pt='$date1 ou $date2',
  qu='$date1 icha $date2',
  ro='$date1 sau $date2',
  ru='$date1 или $date2',
  sk='$date1 alebo $date2',
  sl='$date1 ali $date2',
  sv='$date1 eller $date2',
  uk='$date1 або $date2',
  ur='$date1 یا $date2',
  th='$date1 หรือ $date2',
  vi='$date1 hoặc $date2',
  ['zh-hans']='$date1或$date2',
  ['zh-hant']='$date1或$date2',
  default=function(date1, date2, state) return linguistic_conj({date1, date2}, state.lang, 'or') end,
 }, 

 ['and'] = {
  nDates = 2,
  ar='$date1 و $date2',
  ['be-tarask']='$date1 і $date2',
  bn='$date1 এবং $date2',
  ca='$date1 i $date2',
  ckb='$date1 و $date2',
  cs='$date1 a $date2',
  da='$date1 og $date2',
  de='$date1 und $date2',
  el='$date1 και $date2',
  en='$date1 and $date2',
  ['en-gb']='$date1 and $date2',
  ['en-ca']='$date1 and $date2',
  eo='$date1 kaj $date2',
  es='$date1 y $date2',
  et='$date1 ja $date2',
  fa='$date1 و $date2',
  fi='$date1 ja $date2',
  fr='$date1 et $date2',
  ga='$date1 agus $date2',
  gl='$date1 e $date2',
  he='$date1 ו- $date2',
  hu='$date1 és $date2',
  hsb='$date1 a $date2',
  it='$date1 e $date2',
  ja='$date1および$date2',
  ko='$date1 및 $date2',
  mk='$date1 и $date2',
  ml='$date1 ഒപ്പം $date2',
  nb='$date1 og $date2',
  nn='$date1 og $date2',
  nds='$date1 un $date2',
  nl='$date1 en $date2',
  no='$date1 og $date2',
  pl='$date1 i $date2',
  pt='$date1 e $date2',
  qu='$date1wan $date2pas',
  ro='$date1 și $date2',
  ru='$date1 и $date2',
  sk='$date1 a $date2',
  sl='$date1 in $date2',
  sv='$date1 och $date2',
  uk='$date1 та $date2',
  ur='$date1 و $date2',
  vi='$date1 và $date2',
  ['zh-hans']='$date1和$date2',
  ['zh-hant']='$date1和$date2',
  default=function(date1, date2, state) return linguistic_conj({date1, date2}, state.lang, 'and') end,
 },

 -- ==========================================
 -- === Prepositions =========================
 -- ==========================================
 ['by'] = {
  nDates = 1,
  ar='بحلول $date1',
  ['be-tarask']={'да $date1', case={'gen',''}},
  bn='$date1 কর্তৃক',
  ca='vers $date1',
  ckb='نزیکی $date1',
  cs={'kolem $date1', case={'gen',''}},
  da='mod $date1',
  de='spätestens $date1',
  el='έως $date1',
  en='by $date1',
  ['en-gb']='by $date1',
  ['en-ca']='by $date1',
  eo='ne post $date1',
  es='para $date1',
  et='hiljemalt $date1',
  fa='توسط $date1',
  fi={function(date1, state) return decYear(state,'fi','ill') .. '$date1 mennessä' end, case={'ill',''}},
  fr='$date1 (au plus tard)',
  ga='faoi $date1',
  gl='cara a $date1',
  he='עד $date1',
  hr='do $date1',
  hsb={'do $date1', case={'gen',''}},
  it='entro il $date1',
  ja='$date1まで',
  ko='$date1까지',
  mk='кон $date1',
  ml='$date1-ൽ',
  nb='innen $date1',
  nn='innan $date1',
  nds='$date1 oder vördem al',
  nl='tegen $date1',
  no='innen $date1',
  pl={'przed $date1', case={'ins',''}},
  pt='por $date1',
  qu="$date1 p'unchawkama",
  ro='de $date1',
  ru={'к $date1', case={'dat',''}},
  sk={'okolo $date1', case={'gen',''}},
  sl={function(date1, state) return 'najpozneje ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}},
  sv='senast $date1',
  uk={'до $date1', case={'dat',''}},
  ur='توسط $date1',
  vi='vào $date1', -- need to insert "đã" somewhere later in the sentence -->
  ['zh-hans']='$date1前后',
  ['zh-hant']='$date1前後',
  default='<span style="color:red">by $date1</span>',
 },

 ['before'] = {
  nDates = 1,
  ar='قبل $date1',
  ['be-tarask']={'перад $date1', case={'ins',''}},
  bn='$date1-এর আগে',
  bg='Преди $date1',
  ca='abans $date1',
  ckb='پێش $date1',
  cs={'před $date1', case={'ins',''}},
  da='før $date1',
  de='vor $date1',
  el='πριν από $date1',
  en='before $date1',
  ['en-gb']='before $date1',
  ['en-ca']='before $date1',
  eo='antaŭ $date1',
  es='antes de $date1',
  et='enne $date1',
  fa='پیش از $date1',
  fi={function(date1, state) return 'ennen ' .. decYear(state,'fi','ptv') .. '$date1' end, case={'ptv',''}},
  fr='avant $date1',
  ga='roimh $date1',
  gl='antes do $date1',
  he='לפני $date1',
  hr='prije $date1',
  hsb={'do $date1', case={'gen',''}},
  hu='$date1 előtt',
  it='prima del $date1',
  ja='$date1より前',
  ko='$date1 전',
  mk='пред $date1',
  ml='$date1-നു മുമ്പ്',
  nb='før $date1',
  nn='før $date1',
  nds='vör $date1',
  nl='voor $date1',
  no='før $date1',
  pl={'przed $date1', case={'ins',''}},
  pt='antes de $date1',
  qu="$date1 p'unchaw ñawpan",
  ro='înainte de $date1',
  ru={'ранее $date1', case={'gen',''}},
  sk={'pred $date1', case={'ins',''}},
  sl={function(date1, state) return 'pred ' .. decYear(state,'sl','ins') .. ' $date1' end, case={'ins',''}},
  sv='före $date1',
  uk={'до $date1', case={'gen',''}},
  ur='قبل $date1',
  vi='trước $date1',
  ['zh-hans']='在$date1之前',
  ['zh-hant']='在$date1之前',
  default='<span style="color:red">before $date1</span>',
 },

 ['from'] = {
  nDates = 1,
  ar='من $date1',
  ['be-tarask']={'з $date1', case={'gen',''}},
  bn='$date1 থেকে',
  ckb='لە $date1',
  cs={'od $date1', case={'gen',''}},
  de='Seit $date1',
  el='από $date1',
  en='from $date1',
  ['en-gb']='from $date1',
  ['en-ca']='from $date1',
  eo='ekde $date1',
  es='desde $date1',
  et='alates $date1',
  fa='از $date1',
  fi={function(date1, state) return decYear(state,'fi','ela') .. '$date1 alkaen' end, case={'ela',''}},
  fr= function(date1, state) return 'à partir '.. frOf[state.precision] ..' $date1' end,
  ga='as $date1',
  gl='desde o $date1',
  he='מ- $date1',
  hr='od $date1',
  hsb={'wot $date1', case={'gen',''}},
  it='dal $date1',
  ja='$date1から',
  ko='$date1부터',
  nds='vonaf $date1',
  mk='од $date1',
  nb='fra $date1',
  nn='frå $date1',
  ml='$date1 മുതൽ',
  nl='vanaf $date1',
  no='fra $date1',
  pl={'od $date1', case={'gen',''}},
  pt='desde $date1',
  qu="$date1 p'unchawmanta",
  ro='din $date1',
  ru={'С $date1', case={'gen',''}},
  sk={'od $date1', case={'gen',''}},
  sl={function(date1, state) return 'od ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}},
  sv='från $date1',
  uk={'з $date1', case={'gen',''}},
  ur='از $date1',
  vi='từ $date1',
  ['zh-hans']='自$date1',
  ['zh-hant']='自$date1',
  default='<span style="color:red">from $date1</span>',
 },

 ['until'] = {
  nDates = 1,
  ar = 'حتى $date1',
  ['be-tarask']={'усутыч да $date1', case={'gen',''}},
  bn='$date1 পর্যন্ত',
  ckb='تاوەکوو $date1',
  cs={'do $date1', case={'gen', ''}},
  de='bis $date1',
  en='until $date1',
  ['en-gb']='until $date1',
  ['en-ca']='until $date1',
  eo='ĝis $date1',
  es='hasta $date1',
  fr=function(date1, state)
   if state.precision > 10 then -- precision > month
    return "jusqu'au $date1"
   else 
    return "jusqu'à $date1" 
   end
  end,
  ga='go dtí $date1',
  hr='do $date1',
  hsb={'do $date1', case={'gen',''}},
  it='al $date1',
  ko='$date1까지',
  nb='til $date1',
  nl='tot $date1',
  nn='til $date1',
  ml='$date1 വരെ',
  pl={'do $date1', case={'gen',''}},
  pt='até $date1',
  ru={'не позже $date1', case={'gen',''}},
  sk={'do $date1', case={'gen', ''}},
  sl={'do $date1', case={'gen', ''}},
  uk={'аж до $date1', case={'gen',''}},
  ur='تک $date1',
  ['zh-hans']='直到$date1',
  ['zh-hant']='直到$date1',
  default='<span style="color:red">until $date1</span>',
 },
 
 ['after'] = {
  nDates = 1,
  ar='بعد $date1',
  ['be-tarask']={'пасьля $date1', case={'gen',''}},
  bn='$date1-এর পরে',
  ca='després de $date1',
  ckb='دوای $date1',
  cs={'po $date1', case={'loc',''}},
  de='nach $date1',
  da='efter $date1',
  el='μετά από $date1',
  en='after $date1',
  ['en-gb']='after $date1',
  ['en-ca']='after $date1',
  eo='post $date1',
  es='después de $date1',
  et='pärast $date1',
  fa='پس از $date1',
  fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 jälkeen' end, case={'gen',''}},
  fr='après $date1',
  ga='tar éis $date1',
  gl='despois do $date1',
  he='לאחר $date1',
  hr='nakon $date1',
  hu='$date1 után',
  hsb={'po $date1', case={'loc',''}},
  it='dopo il $date1',
  ja='$date1より後',
  ko='$date1 후',
  mk='по $date1',
  ml='$date1-നു ശേഷം',
  nb='etter $date1',
  nn='etter $date1',
  nds='na $date1',
  nl='na $date1',
  no='etter $date1',
  pl={'po $date1', case={'loc',''}},
  pt='após $date1',
  qu="$date1 p'unchaw qhipan",
  ro='după $date1',
  ru={'после $date1', case={'gen',''}},
  sk={'po $date1', case={'loc',''}},
  sl={function(date1, state) return 'po ' .. decYear(state,'sl','loc') .. ' $date1' end, case={'loc',''}},
  sv='efter $date1',
  uk={'після $date1', case={'gen',''}},
  ur='بعد $date1',
  vi='sau $date1',
  ['zh-hans']='在$date1之后',
  ['zh-hant']='在$date1之後',
  default='<span style="color:red">after $date1</span>',
 },

 -- ==========================================
 -- === Adjectives ===========================
 -- ==========================================
 ['early'] = {
  nDates = 1,
  ar='بداية $date1',
  ['be-tarask']={'пачатак $date1', case={'gen',''}},
  bn='$date1-এর শুরুতে',
  ca='al principi de $date1',
  ckb='سەرەتای $date1',
  cs={'začátek $date1', case={'gen',''}},
  da='tidlig $date1',
  de='Anfang $date1',
  el='αρχές του $date1',
  en='early $date1',
  ['en-gb']='early $date1',
  ['en-ca']='early $date1',
  eo='komence de $date1',
  es='a principios de $date1',
  et='$date1 algus',
  fa='اوایل $date1',
  fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 alku' end, case={'gen',''}},
  fr='début $date1',
  ga='go luath i $date1',
  gl='a principios de $date1',
  he='תחילת $date1',
  hr='početak $date1',
  hsb={'spočatk $date1', case={'gen',''}},
  hu='$date1 elején',
  it='inizio del $date1',
  ja='$date1初頭',
  ko='$date1 초반',
  mk='почеток на $date1',
  ml='$date1 ആദ്യപാദം',
  nb='tidlig $date1',
  nn='tidleg $date1',
  nds='Anfang $date1',
  nl='begin $date1',
  no='tidlig $date1',
  pl={'początek $date1', case={'gen',''}},
  pt='a princípios de $date1',
  qu="$date1 ñawpaq p'unchawkunapi",
  ro='începând cu $date1',
  ru={'начало $date1', case={'gen',''}},
  sk={'začiatok $date1', case={'gen',''}},
  sl=function(date1, state)
   if state.precision == 9 then -- precision > month
    return 'zgodnjega leta $date1'
   else    -- "od septembra"
    return {'zgodnjega $date1', case={'gen',''}}
   end
  end, 
  sv='början av $date1',
  uk={'початок $date1', case={'gen',''}},
  ur='ابتدا $date1',
  vi='đầu năm $date1',
  ['zh-hans']='$date1早期',
  ['zh-hant']='$date1早期',
  default='<span style="color:red">early $date1</span>',
 },

 ['mid'] = {
  nDates = 1,
  ar='منتصف $date1',
  ['be-tarask']={'сярэдзіна $date1', case={'gen',''}},
  bn='$date1-এর মাঝামাঝি',
  ca='a mitjan $date1',
  ckb='ناوەڕاستی $date1',
  cs={'polovina $date1', case={'gen',''}},
  da='midten af $date1',
  de='Mitte $date1',
  el='μέσα του $date1',
  en='mid $date1',
  ['en-gb']='mid $date1',
  ['en-ca']='mid $date1',
  eo='meze de $date1',
  es='a mediados de $date1',
  et='$date1 keskel',
  fa='اواسط $date1',
  fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 puoliväli' end, case={'gen',''}},
  fr='mi $date1',
  ga='lár $date1',
  gl='a mediados de $date1',
  he='אמצע $date1',
  hr='sredina $date1',
  hsb={'srjedź $date1', case={'gen',''}},
  hu='$date1 közepén',
  it='metà del $date1',
  ja='$date1半ば',
  ko='$date1 중반',
  mk='средина на $date1',
  ml='$date1 മദ്ധ്യം',
  nb='midten av $date1',
  nn='midten av $date1',
  nds='Midd $date1',
  nl='midden $date1',
  no='midten av $date1',
  pl={'środek $date1', case={'gen',''}},
  pt='meados de $date1',
  qu="$date1 chawpin p'unchawkunapi",
  ro='mijlocul lui $date1',
  ru={'середина $date1', case={'gen',''}},
  sk={'polovica $date1', case={'gen',''}},
  sl={function(date1, state) return 'sredina ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}},
  sv='mitten av $date1',
  uk={'середина $date1', case={'gen',''}},
  ur='وسط $date1',
  vi='giữa năm $date1',
  ['zh-hans']='$date1中期',
  ['zh-hant']='$date1中期',
  default='<span style="color:red">mid $date1</span>',
 },

 ['late'] = {
  nDates = 1,
  ar='نهاية $date1',
  bn='$date1-এর শেষে',
  ['be-tarask']={'канец $date1', case={'gen',''}},
  ca='al final de $date1',
  ckb='کۆتاییی $date1',
  cs='konec $date1',
  da='sen $date1',
  de='Ende $date1',
  el='τέλη του $date1',
  en='late $date1',
  ['en-gb']='late $date1',
  ['en-ca']='late $date1',
  eo='fine de $date1',
  es='a fines de $date1',
  et='$date1 lõpp',
  fa='اواخر $date1',
  fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 loppu' end, case={'gen',''}},
  fr='fin $date1',
  ga='go déanach i $date1',
  gl='a finais de $date1',
  he='סוף $date1',
  hr='kraj $date1',
  hsb={'kónc $date1', case={'gen',''}},
  hu='$date1 végén',
  it='fine del $date1',
  ja='$date1末',
  ko='$date1 후반',
  mk='крајот на $date1',
  ml='$date1 അന്ത്യപാദം',
  nb='sent $date1',
  no='seint $date1',
  nds='Enn $date1',
  nl='eind $date1',
  no='sent $date1',
  pl={'koniec $date1', case={'gen',''}},
  pt='ao final de $date1',
  qu="$date1 qhipaq p'unchawkunapi",
  ro='sfârșitul lui $date1',
  ru={'конец $date1', case={'gen',''}},
  sk={'koniec $date1', case={'gen',''}},
  sl={function(date1, state) return 'pozno ' .. decYear(state,'sl','') .. ' $date1' end, case={'nom',''}},
  sv='slutet av $date1',
  uk={'кінець $date1', case={'gen',''}},
  ur='اخیر $date1',
  vi='cuối năm $date1',
  ['zh-hans']='$date1晚期',
  ['zh-hant']='$date1晚期',
  default='<span style="color:red">late $date1</span>',
 },
 
 ['circa'] = {
  nDates = 1,
  ar='قرابة $date1',
  ['be-tarask']={'каля $date1', case={'gen',''}},
  bn='প্রায় $date1',
  ca='cap a $date1',
  ckb='بەنزیکی $date1',
  cs='cca $date1',
  da='ca. $date1',
  de='etwa $date1',
  el='περ. $date1',
  en='circa $date1',
  ['en-gb']='circa $date1',
  ['en-ca']='circa $date1',
  eo='ĉirkaŭ $date1',
  es='hacia $date1', -- suggestion use "hacia"/"hacia el" or leave the latin circa or ca. 
  et='ca. $date1',
  fa='حوالی $date1', -- template:Circa used 'حدود $date1'
  fi={function(date1, state) return 'suunnilleen ' .. decYear(state,'fi','ine') .. '$date1' end, case={'ine',''}}, -- template:Circa used 'noin $date1'
  fr=function(date1, state)    
   if state.precision >= 11 then -- precision >= day
    return 'vers le $date1'
   else
    return 'vers $date1'
   end
  end,
  ga='thart ar $date1',
  gl='entre $date1', -- template:Circa used 'cara a $date1'
  he='בסביבות $date1',
  hr='oko $date1',
  hsb={'wokoło $date1', case={'gen',''}},
  hu='$date1 körül',
  it='$date1 circa',
  ja='$date1頃',
  ko='$date1경',
  mk='~ $date1', -- template:Circa used 'o. $date1'
  ml= 'ഉദ്ദേശം $date1',
  nb='ca. $date1',
  nn='ca. $date1',
  nds='üm un bi $date1',
  nl='ca. $date1',
  no='ca. $date1',
  pl={'około $date1', case={'gen',''}},
  pt='cerca de $date1',
  qu='$date1chá',
  ro='circa $date1',
  ru={'около $date1', case={'gen',''}},
  sk='cca $date1',
  sl={function(date1, state) return 'ok. ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}},
  sv='cirka $date1', 
  uk={'близько $date1', case={'gen', ''}},
  ur='قریباً $date1',
  vi='vào khoảng $date1',
  ['zh-hans']='约$date1',
  ['zh-hant']='約$date1',
  default='<span style="color:red">circa $date1</span>',
 },
 
 ['uncertain'] = {
  nDates = 1,
  ['zh-hans']='$date1(?)',
  ['zh-hant']='$date1(?)',
  default='$date1 (?)',
 },
 
 probably = { -- see Q56644435
  nDates = 1,
  ar = 'يُحتمل في $date',
  ast = 'probablemente $date1',
  bn = 'সম্ভবত $date1',
  ca = 'probablement $date1',
  ckb = 'لەوانەیە $date1',
  cs = 'pravděpodobně $date1',
  de = 'wahrscheinlich $date1',
  el = 'πιθανόν $date1',
  en = 'probably $date1',
  ['en-gb']='probably $date1',
  ['en-ca']='probably $date1',
  eo = 'probable $date1',
  es = 'probable $date1',
  fa = 'احتمالاً $date1',
  fr = 'probablement $date1',
  he = 'כפי הנראה $date1',
  hu = 'feltehetőleg $date1',
  it = 'probabile $date1',
  mk = 'веројатно $date1',
  ml = 'ഒരുപക്ഷേ $date1',
  nl = 'waarschijnlijk $date1',
  pl = 'prawdopodobnie $date1',
  pt = 'provavelmente $date1',
  ru = 'вероятно $date1',
  sl = 'verjetno $date1',
  sv = 'antagligen $date1',
  uk = 'ймовірно $date1',
  default='<span style="color:red">probably $date1</span>',
 },
 
 possibly = { -- see Q30230067
  nDates = 1,
  ar = 'يُمكن في $date1',
  ast = 'posiblemente $date1',
  bn = 'যথাসম্ভব $date1',
  ckb = 'لەوانەیە $date1',
  cs = 'možná $date1',
  de = 'möglicherweise $date1',
  en = 'possibly $date1',
  ['en-gb']='possibly $date1',
  ['en-ca']='possibly $date1',
  eo = 'eble $date1',
  el = 'πιθανόν $date1',
  fa = 'احتمالاً $date1',
  fr = 'peut-être $date1',
  hu = 'talán $date1',
  mk = 'можеби $date1',
  ml = 'മിക്കവാറും $date1',
  nl = 'mogelijk $date1',
  pl = 'być może $date1',
  pt = 'possivelmente $date1',
  ro = 'poate $date1',
  ru = 'возможно $date1',
  sl = 'morda $date1',
  sv = 'möjligen $date1',
  uk = 'можливо $date1',
  default='<span style="color:red">possibly $date1</span>',
 },
 
 presumably = { -- see Q18122778
  nDates = 1,
  ast = 'presumiblemente $date1',
  ar = 'يُحتمَل في $date1',
  ckb = 'دەشێت $date1',
  de = 'vermutlich $date1',
  en = 'presumably $date1',
  ['en-gb']='presumably $date1',
  ['en-ca']='presumably $date1',
  fa = 'به احتمال زیاد $date1',
  fr = 'présumé $date1',
  it = 'presumibilmente $date1',
  ml = 'ഊഹപ്രകാരം $date1',
  pl = 'przypuszczalnie $date1',
  pt = 'presumivelmente $date1',
  sl = 'domnevno $date1',
  ru = 'предположительно $date1',
  uk = 'здогадно $date1',
  default='<span style="color:red">presumably $date1</span>',
 },

 ['year unknown']= {
  nDates = 0,
  ar = 'سنة غير معلومة',
  ['be-tarask']='Год невядомы',
  bn='অজানা বছর',
  ca='Any desconegut',
  ckb='ساڵی نەزاندراو',
  cs='neznámý rok',
  de='Jahr unbekannt',
  el='άγνωστο έτος',
  en='year unknown',
  ['en-gb']='year unknown',
  ['en-ca']='year unknown',
  eo='jaro nesciata',
  es='Año desconocido',
  fa='سال نامعلوم',
  fi='tuntematon vuosi',
  fr='Année inconnue',
  ga='bliain anaithnid',
  he='שנה לא ידועה',
  hsb='lěto njeznate',
  hr='nepoznata godina',
  it='anno sconosciuto',
  ja='年代不明',
  ko='연도를 알 수 없음',
  la='Sine anno',
  ml='വർഷം ലഭ്യമല്ല',
  mk='непозната година',
  nb='ukjent år',
  nn='ukjent år',
  nl='zonder jaar',
  no='ukjent år',
  pl='rok nieznany',
  pt='ano desconhecido',
  qu='Mana riqsisqa wata',
  ru='Год неизвестен',
  sk='neznámy rok',
  sl='neznano leto',
  sv='okänt år',
  uk='рік невідомий',
  ur='سال نامعلوم',
  vi='không rõ năm',
  ['zh-hans']='年份未知',
  ['zh-hant']='年份未知',
  default='<span style="color:red">year unknown</span>',
 },

 -- ==========================================
 -- === Parts of a whole =====================
 -- ==========================================
 ['firsthalf'] = {
  nDates = 1,
  ar='النصف الأول من $date1',
  ['be-tarask']={'першая палова $date1', case={'gen',''}},
  bn='$date1-এর প্রথমার্ধ',
  ca='1a meitat de $date1',
  ckb='نیوەی یەکەمی $date1',
  cs={'1. polovina $date1', case={'gen',''}},
  da='1. halvdel af $date1',
  de='1. Hälfte $date1',
  el='πρώτο μισό του $date1',
  en='first half of $date1',
  ['en-gb']='first half of $date1',
  ['en-ca']='first half of $date1',
  eo='unua duono de $date1',
  es='primera mitad de $date1',
  et='$date1 esimene pool',
  fa='نیمهٔ نخست $date1',
  fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 alkupuolisko' end, case={'gen',''}},
  fr='1<sup>re</sup> moitié de $date1',
  ga='chéad leath de $date1',
  gl='primeira metade de $date1',
  he='במחצית הראשונה של $date1',
  hsb={'prěnja połojca $date1', case={'gen',''}},
  hu='$date1 első felében',
  hr='prva polovina $date1',
  it='prima metà del $date1',
  ja='$date1上半期',
  ko='$date1 상반기',
  mk='прва половина на $date1',
  ml='$date1 ആദ്യപകുതി',
  nb='første halvdel av $date1',
  nn='fyrste halvdelen av $date1',
  nds='1. Helft $date1',
  nl='eerste helft $date1',
  no='første halvdel av $date1',
  pl={'pierwsza połowa $date1', case={'gen',''}},
  pt='primeira metade de $date1',
  qu='$date1 ñawpaq kuskanpi',
  ro='prima jumătate a lui $date1',
  ru={'первая половина $date1', case={'gen',''}},
  sk={'1. polovica $date1', case={'gen',''}},
  sl={function(date1, state) return 'prva polovica ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}},
  sv='första hälften av $date1',
  uk={'перша половина $date1', case={'gen',''}},
  ur='نصف اول $date1',
  vi='nửa đầu năm $date1',
  ['zh-hans']='$date1上半期',
  ['zh-hant']='$date1上半期',
  default='<span style="color:red">first half of $date1</span>',
 },

 ['secondhalf'] = {
  nDates = 1,
  ar='النصف الثاني من $date1',
  ['be-tarask']={'другая палова $date1', case={'gen',''}},
  bn='$date1-এর দ্বিতীয়ার্ধ',
  ca='2a meitat de $date1',
  ckb='نیوەی دووەمی $date1',
  cs={'2. polovina $date1', case={'gen',''}},
  da='2. halvdel af $date1',
  de='2. Hälfte $date1',
  el='δεύτερο μισό του $date1',
  en='second half of $date1',
  ['en-gb']='second half of $date1',
  ['en-ca']='second half of $date1',
  eo='dua duono de $date1',
  es='segunda mitad de $date1',
  et='$date1 teine pool',
  fa='نیمهٔ دوم $date1',
  fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 loppupuolisko' end, case={'gen',''}},
  fr='2<sup>e</sup> moitié de $date1',
  ga='dara leath de $date1',
  gl='segunda metade de $date1',
  he='במחצית השנייה של $date1',
  hsb={'druha połojca $date1', case={'gen',''}},
  hr='druga polovina $date1',
  hu='$date1 második felében',
  it='seconda metà del $date1',
  ja='$date1下半期',
  ko='$date1 하반기',
  mk='втора половина на $date1',
  ml='$date1 രണ്ടാം പകുതി',
  nb='andre halvdel av $date1',
  nn='andre halvdelen av $date1',
  nds='2. Helft vun $date1',
  nl='tweede helft $date1',
  no='andre halvdel av $date1',
  pl={'druga połowa $date1', case={'gen',''}},
  pt='segunda metade de $date1',
  qu='$date1 qhipaq kuskanpi',
  ro='a doua jumătate a lui $date1',
  ru={'вторая половина $date1', case={'gen',''}},
  sk={'2. polovica $date1', case={'gen',''}},
  sl={'druga polovica {{IfNum | $date0 | leta}} $date1', case={'gen',''}},
  sv='andra hälften av $date1',
  uk={'друга половина $date1', case={'gen',''}},
  ur='نصف آخر $date1',
  vi='nửa cuối năm $date1',
  ['zh-hans']='$date1下半期',
  ['zh-hant']='$date1下半期',
  default='<span style="color:red">second half of $date1</span>',
 },

 ['1quarter']= {
  nDates = 1,
  ar = ' الربع الأول من $date1',
  bn='$date1-এর প্রথম ত্রৈমাসিক',
  ['be-tarask']={'першая чвэрць $date1', case={'gen',''}},
  ckb='چارەکی یەکەمی $date1',
  cs={'1. čtvrtina $date1', case={'gen',''}},
  de='erstes Viertel $date1',
  en='first quarter of $date1',
  ['en-gb']='first quarter of $date1',
  ['en-ca']='first quarter of $date1',
  eo='unua kvarono de $date1',
  es='primer cuarto del $date1',
  fa='ربع نخست $date1',
  fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 ensimmäinen neljännes' end, case={'gen',''}},
  fr= function(date1, state) return 'premier quart '.. frOf[state.precision] ..' $date1' end, 
  ga='chéad ráithe de $date1',
  he='רבעון ראשון של $date1',
  hsb={'prěnja štwórćina $date1', case={'gen',''}},
  hr='prva četvrtina $date1',
  it='primo quarto del $date1',
  ja='$date1第1四半期',
  ko='$date1 1사분기',
  ml='$date1 ഒന്നാം ത്രൈമാസം',
  nb='første kvartal av $date1',
  nl='eerste kwart $date1',
  nn='fyrste kvartalet av $date1',
  no='første kvartal av $date1',
  --pl={'pierwsza ćwiartka $date1', case={'gen',''}},
  pl={function(date1, state)    
   if state.precision == 10 then -- precision == month
    return 'pierwszy tydzień $date1'
   elseif state.precision == 7 then  -- precision == century
    return 'pierwsze ćwierćwiecze $date1'
   else
    return 'pierwszy kwartał $date1'
   end
  end, case={'gen',''}},
  pt='primeiro trimestre de $date1',
  qu='$date1 ñawpaq ñiqin tawa phatmanpi',
  ru={'первая четверть $date1', case={'gen',''}},
  sk={'1. štvrtina $date1', case={'gen',''}},
  sl={'prva četrtina {{IfNum | $date0 | leta}} $date1', case={'gen',''}},
        sv='första kvartalet av $date1',
  uk={'1-ша чверть $date1', case={'gen',''}},
  ur='پہلی سہ ماہی $date1',
  vi='quý 1 năm $date1',
  ['zh-hans']='$date1第一季度',
  ['zh-hant']='$date1第一季度',
  default='<span style="color:red">first quarter of $date1</span>',
 },

 ['2quarter']= {
  nDates = 1,
  ar = 'الربع الثاني من $date1',
  ['be-tarask']={'другая чвэрць $date1', case={'gen',''}},
  bn='$date1-এর দ্বিতীয় ত্রৈমাসিক',
  ckb='چارەکی دووەمی $date1',
  cs={'2. čtvrtina $date1', case={'gen',''}},
  de='zweites Viertel $date1',
  en='second quarter of $date1',
  ['en-gb']='second quarter of $date1',
  ['en-ca']='second quarter of $date1',
  eo='dua kvarono de $date1',
  es='segundo cuarto del $date1',
  fa='ربع دوم $date1',
  fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 toinen neljännes' end, case={'gen',''}},
  fr= function(date1, state) return 'deuxième quart '.. frOf[state.precision] ..' $date1' end, 
  ga='dara ráithe de $date1',
  he='רבעון שני של $date1',
  hsb={'druha štwórćina $date1', case={'gen',''}},
  hr='druga četvrtina $date1',
  it='secondo quarto del $date1',
  ja='$date1第2四半期',
  ko='$date1 2사분기',
  ml='$date1 രണ്ടാം ത്രൈമാസം',
  nb='andre kvartal av $date1',
  nl='tweede kwart $date1',
  nn='andre kvartalet av $date1',
  no='andre kvartal av $date1',
  --pl={'druga ćwiartka $date1', case={'gen',''}},
  pl={function(date1, state)    
   if state.precision == 10 then -- precision == month
    return 'drugi tydzień $date1'
   elseif state.precision == 7 then  -- precision == century
    return 'druge ćwierćwiecze $date1'
   else
    return 'drugi kwartał $date1'
   end
  end, case={'gen',''}},
  pt='segundo trimestre de $date1',
  qu='$date1 iskay ñiqin tawa phatmanpi',
  ru={'вторая четверть $date1', case={'gen',''}},
  sk={'2. štvrtina $date1', case={'gen',''}},
  sl={function(date1, state) return 'druga četrtina ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}},
  sv='andra kvartalet av $date1',
  uk={'2-га чверть $date1', case={'gen',''}},
  ur='دوسری سہ ماہی $date1',
  vi='quý 2 năm $date1',
  ['zh-hans']='$date1第二季度',
  ['zh-hant']='$date1第二季度',
  default='<span style="color:red">second quarter of $date1</span>',
 },

 ['3quarter']= {
  nDates = 1,
  ar = 'الربع الثالث من $date1',
  ['be-tarask']={'трэцяя чвэрць $date1', case={'gen',''}},
  bn='$date1-এর তৃতীয় ত্রৈমাসিক',
  ckb='چارەکی سێیەمی $date1',
  cs={'3. čtvrtina $date1', case={'gen',''}},
  de='drittes Viertel $date1',
  en='third quarter of $date1',
  ['en-gb']='third quarter of $date1',
  ['en-ca']='third quarter of $date1',
  eo='tria kvarono de $date1',
  es='tercer cuarto del $date1',
  fa='ربع سوم $date1',
  fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 kolmas neljännes' end, case={'gen',''}},
  fr= function(date1, state) return 'troisième quart '.. frOf[state.precision] ..' $date1' end, 
  ga='triú ráithe de $date1',
  he='רבעון שלישי של $date1',
  hsb={'třeća štwórćina $date1', case={'gen',''}},
  hr='treća četvrtina $date1',
  it='terzo quarto del $date1',
  ja='$date1第3四半期',
  ko='$date1 3사분기',
  ml='$date1 മൂന്നാം ത്രൈമാസം',
  nb='tredje kvartal av $date1',
  nl='derde kwart $date1',
  nn='tredje kvartalet av $date1',
  no='tredje kvartal av $date1',
  --pl={'trzecia ćwiartka $date1', case={'gen',''}},
  pl={function(date1, state)    
   if state.precision == 10 then -- precision == month
    return 'trzeci tydzień $date1'
   elseif state.precision == 7 then  -- precision == century
    return 'trzecie ćwierćwiecze $date1'
   else
    return 'trzeci kwartał $date1'
   end
  end, case={'gen',''}},
  pt='terceiro trimestre de $date1',
  qu='$date1 kimsa ñiqin tawa phatmanpi',
  sk={'3. štvrtina $date1', case={'gen',''}},
  sl={function(date1, state) return 'tretja četrtina ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}},
  ru={'третья четверть $date1', case={'gen',''}},
  sv='tredje kvartalet av $date1',
  uk={'3-тя чверть $date1', case={'gen',''}},
  ur='تیسری سہ ماہی $date1',
  vi='quý 3 năm $date1',
  ['zh-hans']='$date1第三季度',
  ['zh-hant']='$date1第三季度',
  default='<span style="color:red">third quarter of $date1</span>',
 },

 ['4quarter']= {
  nDates = 1,
  ar = 'الربع الرابع من $date1',
  ['be-tarask']={'чацьвёртая чвэрць $date1', case={'gen',''}},
  bn='$date1-এর চতুর্থ ত্রৈমাসিক',
  ckb='چارەکی چوارەمی $date1',
  cs={'4. čtvrtina $date1', case={'gen',''}},
  de='letztes Viertel $date1',
  en='fourth quarter of $date1',
  ['en-gb']='fourth quarter of $date1',
  ['en-ca']='fourth quarter of $date1',
  eo='kvara kvarono de $date1',
  es='último cuarto del $date1',
  fa='ربع چهارم $date1',
  fi={function(date1, state) return decYear(state,'fi','gen') .. '$date1 viimeinen neljännes' end, case={'gen',''}},
  fr= function(date1, state) return 'quatrième quart '.. frOf[state.precision] ..' $date1' end, 
  ga='ceathrú ráithe de $date1',
  he='רבעון רביעי של $date1',
  hsb={'poslednja štwórćina $date1', case={'gen',''}},
  hr='četvrta četvrtina $date1',
  it='ultimo quarto del $date1',
  ja='$date1第4四半期',
  ko='$date1 4사분기',
  ml='$date1 നാലാം ത്രൈമാസം',
  nb='fjerde kvartal av $date1',
  nl='vierde kwart $date1',
  nn='tredje kvartalet av $date1',
  no='fjerde kvartal av $date1',
  --pl={'czwarta ćwiartka $date1', case={'gen',''}},
  pl={function(date1, state)    
   if state.precision == 10 then -- precision == month
    return 'ostatni tydzień $date1'
   elseif state.precision == 7 then  -- precision == century
    return 'ostatnie ćwierćwiecze $date1'
   else
    return 'ostatni kwartał $date1'
   end
  end, case={'gen',''}},
  pt='quarto trimestre de $date1',
  qu='$date1 qhipaq ñiqin tawa phatmanpi',
  ru={'последняя четверть $date1', case={'gen',''}},
  sk={'4. štvrtina $date1', case={'gen',''}},
  sl={function(date1, state) return 'zadnja četrtina ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',''}},
  sv='fjärde kvartalet av $date1',
  uk={'4-та чверть $date1', case={'gen',''}},
  ur='چوتھی سہ ماہی $date1',
  vi='quý 4 năm $date1',
  ['zh-hans']='$date1第四季度',
  ['zh-hant']='$date1第四季度',
  default='<span style="color:red">forth quarter of $date1</span>',
 },

 -- ==========================================
 -- === Seasons ==============================
 -- ==========================================
  ['spring'] = {
  nDates = 1,
  ar='ربيع $date1',
  ['be-tarask']='вясна $date1',
  bn='বসন্তকাল $date1',
  ca='primavera $date1',
  ckb='بەھاری $date1',
  cs={'jaro $date1', case={'gen', ''}},
  da='Forår $date1',
  de='Frühling $date1',
  en='Spring $date1',
  ['en-gb']='Spring $date1',
  ['en-ca']='Spring $date1',
  eo='printempo $date1',
  es='primavera de $date1',
  et='$date1 kevad',
  fa='بهار $date1',
  fi='Kevät $date1',
  fr='printemps $date1',
  ga='earrach $date1',
  gl='primavera $date1',
  he='אביב $date1',
  hr='proljeće $date1',
  hsb='nalěćo $date1',
  hu='$date1 tavasza',
  it='primavera $date1',
  ja='{{#if:$date1|$date1年}}春',
  ko='{{#if:$date1|$date1년}} 봄',
  mk='пролет $date1',
  ml='$date1 വസന്തം',
  nb='våren $date1',
  nds='Vörjohr $date1',
  nn='våren $date1',
  nl='voorjaar $date1',
  no='våren $date1',
  pl='wiosna $date1',
  pt='primavera de $date1',
  ro='primăvara lui $date1',
  ru='весна $date1',
  sk={'jar $date1', case={'gen', ''}},
  sl='pomlad $date1',
  sv='våren $date1',
  uk='весна $date1',
  ur='بہار $date1',
  vi='mùa đông năm $date1',
  ['zh-hans']='{{#if:$date1|$date1年}}春季',
  ['zh-hant']='{{#if:$date1|$date1年}}春季',
  default='<span style="color:red">Spring $date1</span>',
 },

 ['summer'] = {
  nDates = 1,
  ar='صيف $date1',
  ['be-tarask']='лета $date1',
  bn='গ্রীষ্মকাল $date1',
  ca='estiu $date1',
  ckb='ھاوینی $date1',
  cs={'léto $date1', case={'gen', ''}},
  da='Sommer $date1',
  de='Sommer $date1',
  en='Summer $date1',
  ['en-gb']='Summer $date1',
  ['en-ca']='Summer $date1',
  eo='somero $date1',
  es='verano de $date1',
  et='$date1 suvi',
  fa='تابستان $date1',
  fi='Kesä $date1',
  fr='été $date1',
  ga='samhradh $date1',
  gl='verán $date1',
  he='קיץ $date1',
  hr='ljeto $date1',
  hsb='lěćo $date1',
  hu='$date1 nyara',
  it='estate $date1',
  ja='{{#if:$date1|$date1年}}夏',
  ko='{{#if:$date1|$date1년}} 여름',
  mk='лето $date1',
  ml='$date1 വേനൽ',
  nb='sommeren $date1',
  nds='Sommer $date1',
  nn='sumaren $date1',
  nl='zomer $date1',
  no='sommeren $date1',
  pl='lato $date1',
  pt='verão de $date1',
  ro='vara lui $date1',
  ru='лето $date1',
  sk={'leto $date1', case={'gen', ''}},
  sl='poletje $date1',
  sv='sommaren $date1',
  uk='літо $date1',
  ur='گرما $date1',
  vi='mùa hè năm $date1',
  ['zh-hans']='{{#if:$date1|$date1年}}夏季',
  ['zh-hant']='{{#if:$date1|$date1年}}夏季',
  default='<span style="color:red">Summer $date1</span>',
 },

 ['autumn'] = {
  nDates = 1,
  ar='خريف $date1',
  ['be-tarask']='восень $date1',
  bn='শরত্কাল $date1',
  ca='tardor $date1',
  ckb='پاییزی $date1',
  cs={'podzim $date1', case={'gen', ''}},
  da='Efterår $date1',
  de='Herbst $date1',
  en='Autumn $date1',
  ['en-gb']='Autumn $date1',
  ['en-ca']='Autumn $date1',
  eo='aŭtuno $date1',
  es='otoño de $date1',
  et='$date1 sügis',
  fa='پاییز $date1',
  fi='Syksy $date1',
  fr='automne $date1',
  ga='fómhar $date1',
  gl='outono $date1',
  he='סתיו $date1',
  hr='jesen $date1',
  hsb='nazyma $date1',
  hu='$date1 ősze',
  it='autunno $date1',
  ja='{{#if:$date1|$date1年}}秋',
  ko='{{#if:$date1|$date1년}} 가을',
  mk='есен $date1',
  ml='$date1 ശരത്കാലം',
  nb='høsten $date1',
  nds='Harvst $date1',
  nn='hausten $date1',
  nl='herfst $date1',
  no='høsten $date1',
  pl='jesień $date1',
  pt='outono de $date1',
  ro='toamna lui $date1',
  ru='осень $date1',
  sk={'jeseň $date1', case={'gen', ''}},
  sl='jesen $date1',
  sv='hösten $date1',
  uk='осінь $date1',
  ur='خزاں $date1',
  vi='mùa thu năm $date1',
  ['zh-hans']='{{#if:$date1|$date1年}}秋季',
  ['zh-hant']='{{#if:$date1|$date1年}}秋季',
  default='<span style="color:red">Autumn $date1</span>',
 },

 ['winter'] = {
  nDates = 1,
  ar='شتاء $date1',
  ['be-tarask']='зіма $date1',
  bn='শীতকাল $date1',
  ca='hivern $date1',
  ckb='زستانی $date1',
  cs={'zima $date1', case={'gen', ''}},
  da='Vinter $date1',
  de='Winter $date1',
  en='Winter $date1',
  ['en-gb']='Winter $date1',
  ['en-ca']='Winter $date1',
  eo='vintro $date1',
  es='invierno de $date1',
  et='$date1 talv',
  fa='زمستان $date1',
  fi='Talvi $date1',
  fr='hiver $date1',
  ga='geimhreadh $date1',
  gl='inverno $date1',
  he='חורף $date1',
  hr='zima $date1',
  hsb='zyma $date1',
  hu='$date1 tele',
  it='inverno $date1',
  ja='{{#if:$date1|$date1年}}冬',
  ko='{{#if:$date1|$date1년}} 겨울',
  mk='зима $date1',
  ml='$date1 ശൈത്യകാലം',
  nds='Winter $date1',
  nl='winter $date1',
  nb='vinteren $date1',
  nn='vinteren $date1',
  no='vinteren $date1',
  pl='zima $date1',
  pt='inverno de $date1',
  ro='iarna lui $date1',
  ru='зима $date1',
  sk={'zima $date1', case={'gen', ''}},
  sl='zima $date1',
  sv='vintern $date1',
  uk='зима $date1',
  ur='سرما $date1',
  vi='mùa đông năm $date1',
  ['zh-hans']='{{#if:$date1|$date1年}}冬季',
  ['zh-hant']='{{#if:$date1|$date1年}}冬季',
  default='<span style="color:red">Winter $date1</span>',
 },

 -- ==========================================
 -- === Decade/Century/Millennium ============
 -- ==========================================
 ['decade'] = {
  nDates = 1,
  ar = 'عقد $date1',
  ['be-tarask']='$date1-я гады',
  bn='$date1-এর দশক',
  ca='dècada del $date1',
  ckb='دەیەی $date1',
  cs=function(date1, state) return ((date1 % 100 == 0) and 'první dekáda' or ((date1 % 100) .. '. léta')) .. ' ' .. (math.floor(date1 / 100) + 1) .. '. století' end,
  da="$date1'erne",
  de='$date1er Jahre',
  el='δεκαετία του $date1',
  en='$date1s',
  ['en-gb']='$date1s',
  ['en-ca']='$date1s',
  eo='$date1-aj jaroj',
  es='años $date1',
  et='$date1ndad',
  fa='دههٔ $date1',
  fi='$date1-luvulla',
  fr='années $date1',
  ga='$date1í',
  gl='anos $date1',
  he='שנות ה-$date1',
  hr='$date1-ih',
  hsb='$date1te lěta',
  hu = function(date1, state)
   local suffix = 's'
   if date1 % 100 == 10 or date1 % 100 == 40 or date1 % 100 == 50 or date1 % 100 == 70 or date1 % 100 == 90 then
    suffix = 'es'
   elseif date1 % 100 == 20 or date1 % 100 == 30 or date1 % 100 == 60 or date1 % 100 == 80 then
    suffix = 'as'
   elseif date1 % 100 == 0 then
    if date1 % 1000 ~= 0 then
     suffix = 'as'
    elseif date1 % 1e6 ~= 0 then
     suffix = 'es'
    end
   end
   return string.format('%d-%s évek', date1, suffix)
  end,
  it="{{#ifexpr: $date1 mod 100 = 0 | primo decennio del {{Roman|{{#expr: ($date1 / 100) + 1}}}} sec. | anni '{{#expr: $date1 mod 100 }} del {{Roman|{{#expr: floor($date1 / 100) + 1}}}} sec.}}",
  ja='$date1年代',
  ko='$date1년대',
  mk='$date1-ти',
  ml='ദശകം $date1-ൽ',
  nb='$date1-årene',
  nn='$date1-åra',
  nds='Johren $date1',
  nl='jaren $date1',
  no='$date1-årene',
  pl=function(date1, state) 
   local str = 'lata '..(date1 % 100)..'. '
   if (date1 % 100 == 0) then
    str = 'pierwsza dekada '
   elseif (date1 % 100 == 10) then
    str = 'druga dekada '
   end
   return str .. Roman(math.floor(date1 / 100) + 1) .. ' wieku' 
  end,
  pt='década de $date1',
  qu='$date1 watakuna',
  ro='anii $date1',
  ru='$date1-е годы',
  sk=function(date1, state) return ((date1 % 100 == 0) and 'prvé desaťročie' or ((date1 % 100) .. '. roky')) .. ' ' .. (math.floor(date1 / 100) + 1) .. '. storočia' end,
  sl='$date1-ta leta',
  sv='$date1-talet{{#switch:$date1|1300|1400|1500|1600|1700|1800|1900|2000|2100=&nbsp;(decennium)}}',
  uk='$date1-ті роки',
  ur='دہائی $date1',
  vi='thập niên $date1',
  ['zh-hans']='$date1年代',
  ['zh-hant']='$date1年代',
  default='<span style="color:red">$date1s</span>',
 },

 ['century'] = {
  nDates = 1,
  ar='القرن $date1',
  ['be-tarask']=function(date1, state) return Ordinal(date1, 'be-tarask') .. ' стагодзьдзе' end,
  bn=function(date1, state) return Ordinal(date1, 'bn') .. ' শতাব্দী' end,
  ca='segle {{small-caps|{{lc:{{Roman year|$date1}}}}}}',
  ckb='سەدەی $date1',
  cs='$date1. století',
  da='$date1. århundrede',
  de='$date1. Jahrhundert',
  el='$date1ος αιώνας',
  en=function(date1, state) return Ordinal(date1, 'en') .. ' century' end,
  ['en-gb']=function(date1, state) return Ordinal(date1, 'en-gb') .. ' century' end,
  ['en-ca']=function(date1, state) return Ordinal(date1, 'en-ca') .. ' century' end,
  eo='$date1-a jarcento',
  es=function(date1, state) return 'siglo ' .. Roman(date1) end,
  et='$date1. sajand',
  fa='سدهٔ $date1',
  fi='{{#expr: ($date1 - 1) * 100}}-luvulla',
  fr=function(date1, state) return Ordinal(date1, 'fr', 'roman', 'm') .. ' siècle' end,
  ga='$date1ú haois',
  gl=function(date1, state) return 'século ' .. Roman(date1) end,
  he='המאה ה-$date1',
  hr='$date1. stoljeće',
  hsb='$date1. lětstotk',
  hu='$date1. évszázad',
  it=function(date1, state) return Roman(date1) .. ' sec.' end,
  ja='$date1世紀',
  ko='$date1세기',
  la='saeculum $date1',
  mk=function(date1, state) return Roman(date1) .. ' век' end,
  ml='$date1-ആം നൂറ്റാണ്ട്',
  nb=function(date1, state) return Ordinal(date1, 'nb') .. ' århundre' end,
  nn=function(date1, state) return 'det ' .. Ordinal(date1, 'no') .. ' hundreåret' end,
  nds='$date1. Johrhunnert',
  nl='$date1e eeuw',
  no=function(date1, state) return Ordinal(date1, 'no') .. ' århundre' end,
  pl=function(date1, state) return Roman(date1) .. ' ' .. decCentury('pl',state.case) end,
  pt=function(date1, state) return 'século ' .. Roman(date1) end,
  qu='$date1 ñiqin pachakwata',
  ro='secolul al $date1-lea',
  ru=function(date1, state) return Roman(date1) .. ' век' end,
  sk='$date1. storočie',
  sl=function(date1, state) return Ordinal(date1, 'sl') .. ' stoletje' end,
  sv='{{#expr:$date1 - 1}}00-talet',
  tt=function(date1, state) return Roman(date1) .. ' гасыр' end,
  uk=function(date1, state) return Roman(date1) .. ' ст.' end,
  ur='صدی $date1',
  vi='thế kỷ $date1',
  ['zh-hans']='$date1世纪',
  ['zh-hant']='$date1世紀',
  default='<span style="color:red">$date1 century</span>',
 },

 ['millennium'] = {
  nDates = 1,
  ar = 'الألفية $date1',
  ['be-tarask']=function(date1, state) return Ordinal(date1, 'be-tarask') .. ' тысячагодзьдзе' end,
  bn=function(date1, state) return Ordinal(date1, 'bn') .. ' সহস্রাব্দ' end,
  ckb=function(date1, state) return 'ھەزارەی ' .. Ordinal(date1, 'ckb') end,
  cs='$date1. tisíciletí',
  de='$date1. Jahrtausend',
  en=function(date1, state) return Ordinal(date1, 'en') .. ' millennium' end,
  ['en-gb']=function(date1, state) return Ordinal(date1, 'en-gb') .. ' millennium' end,
  ['en-ca']=function(date1, state) return Ordinal(date1, 'en-ca') .. ' millennium' end,
  eo='$date1-a jarmilo',
  es=function(date1, state) return Roman(date1) .. ' milenio' end,
  fa=function(date1, state) return 'هزارهٔ ' .. Ordinal(date1, 'fa') end,
  fr=function(date1, state) return Ordinal(date1, 'fr', 'roman', 'm') .. ' millénaire' end,
  ga='$date1ú mílaoise',
  hr='$date1. tisućljeće',
  hsb='$date1. lěttysac',
  it=function(date1, state) return Roman(date1) .. ' millennio' end,
  ja='$date1千年紀',
  ko='$date천 년',
  la='millennium $date1',
  ml='$date1-മത്തെ സഹസ്രാബ്ദം',
  nb=function(date1, state) return Ordinal(date1, 'nb') .. ' årtusen' end,
  nn=function(date1, state) return Ordinal(date1, 'no') .. ' tusenåret' end,
  nl='$date1e millennium',
  no=function(date1, state) return Ordinal(date1, 'no') .. ' årtusen' end,
  pl=function(date1, state) return Roman(date1) .. ' ' .. decMillennium('pl',state.case) end,
  pt=function(date1, state) return Roman(date1) .. ' milénio' end,
  qu='$date1 ñiqin waranqawata',
  ru=function(date1, state) return Roman(date1) .. ' тысячелетие' end,
  sk='$date1. tisícročie',
  sl=function(date1, state) return Ordinal(date1, 'sl') .. ' tisočletje' end,
  sv=function(date1, state) return Ordinal(date1, 'sv') .. ' årtusendet' end,
  uk=function(date1, state) return Roman(date1) .. ' тис.' end,
  ur=function(date1, state) return 'ہزارہ ' .. Ordinal(date1, 'ur') end,
  vi='thiên niên kỷ $date1',
  ['zh-hans']=function(date1, state) return Ordinal(date1, 'zh-hans') .. '千年' end,
  ['zh-hant']=function(date1, state) return Ordinal(date1, 'zh-hant') .. '千年' end,
  --default='{{Please translate|$date1 millennium|Module:I18n/complex date}}',
  default='<span style="color:red">$date1 millennium</span>',
 },

 ['million'] = {
  ckb = '$date1 میلیۆن ساڵ',
  de = '$date1 Millionen Jahre',
  en = '$date1 million years',
  ['en-gb'] = '$date1 million years',
  ['en-ca'] = '$date1 million years',
  eo = '$date1 milionoj da jaroj',
  es = '$date1 millones de años',
  fa = '$date1 میلیون سال',
  fr = '$date1 millions d’années',
  it = '$date1 milioni di anni',
  ko = '$date1백만 년',
  ml = function(date1, state)
   if date1 >= 10 then 
    return (date1 / 10) .. '  കോടി വർഷങ്ങൾ'  -- 100 lakh = 1 crore
   else 
     return (date1 * 10) .. ' ലക്ഷം വർഷങ്ങൾ'
   end
  end,
  nb = '$date1 millioner år',
  nl = '$date1 miljoen jaar',
  nn = '$date1 millionar år',
  pl = '$date1 milionów lat',
  pt = '$date1 milhões de anos',
  ru = '$date1 миллиона лет',
  sl = '$date1 milijonov let',
  uk = '$date1 мільйони років',
  ur = '$date1 ملین سال',
  ['zh-hans'] = '$date1百万年',
  ['zh-hant'] = '$date1百萬年',
  default='<span style="color:red">$date1 million years</span>',
  nDates = 1,
 },
 
 ['billion'] = {
  ckb = '$date1 بیلیۆن ساڵ',
  de = '$date1 Milliarden Jahre',
  en = '$date1 billion years',
  ['en-gb'] = '$date1 billion years',
  ['en-ca'] = '$date1 billion years',
  es = '$date1 mil millones de años',
  fa = '$date1 میلیارد سال',
  fr = '$date1 milliard d’années',
  it = '$date1 miliardi di anni',
  ko = '$date1십억 년',
  ml = function(date1, state) return (date1 * 10) .. ' കോടി വർഷങ്ങൾ' end,
  nb = '$date1 milliarder år',
  nl = '$date1 miljard jaar',
  nn = '$date1 milliardar år',
  pl = '$date1 miliardów lat',
  pt = '$date1 mil milhões de anos',
  ru = '$date1 миллиардов лет',
  sl = '$date1 milijard let',
  uk = '$date1 мільярдів років',
  ur = '$date1 بلین سال',
  ['zh-hans'] = '$date1十亿年',
  ['zh-hant'] = '$date1十億年',
  default='<span style="color:red$date1 billion years</span>',
  nDates = 1,
 },

 -- ==========================================
 -- === Complex phrases ======================
 -- ==========================================
 -- Phrases which for some languages can be build out of simpler phrases
 -- Their "default" state, used when no translation in the requested language was found, returns a "state" like 
 -- table which is used to call the function again and built the phrase out of simple phrases
 -- $date1 - original date - 1
 -- $date2 - original date 
 -- if era is BC than $date1 and $date2 are swapped
 ['turn of the century'] = { 
  nDates = 2,
  ['be-tarask']=function(date1, date2, state) return 'канец ' .. Roman(date1) ..' — пачатак ' .. Roman(date2) ..' стагодзьдзя' end,
  bn=function(date1, date2, state) return '$date1/' .. Ordinal(date2, 'bn') .. ' শতাব্দীর পালাবদলে' end,
  ckb=function(date1, date2, state) return 'سەردەمی $date1/' .. Ordinal(date2, 'ckb') .. ' سەدە' end,
  cs='přelom $date1. a $date2. století',
  de=function(date1, date2, state) return 'Jahrhundertwende $date1/' .. Ordinal(date2, 'de') end,
  en=function(date1, date2, state) return 'turn of the $date1/' .. Ordinal(date2, 'en') .. ' century' end,
  ['en-gb']=function(date1, date2, state) return 'turn of the $date1/' .. Ordinal(date2, 'en-gb') .. ' century' end,
  ['en-ca']=function(date1, date2, state) return 'turn of the $date1/' .. Ordinal(date2, 'en-ca') .. ' century' end,
  eo='ŝanĝo de la $date1-a al la $date2-a jarcentoj',
  es=function(date1, date2, state) return 'hacia finales del siglo ' .. Roman(date1) .. ' y principios del siglo ' .. Roman(date2) .. '' end,
  fi='{{#expr: $date1 * 100-100}}-luvun loppu ja {{#expr: $date2 * 100-100}}-luvun alku',
  fr=function(date1, date2, state) return 'fin du ' .. Ordinal(date1, 'fr', 'roman', 'm') .. ' siècle / début du ' .. Ordinal(date2, 'fr', 'roman', 'm') end,
  ga=function(date1, date2, state) return 'cas an $date1ú/' .. Ordinal(date2, 'en') .. ' haois' end,
  hr='kraj $date1. i početak $date2. stoljeća',
  hsb=function(date1, date2, state) return 'přechod ' .. Roman(date1) ..' do ' .. Roman(date2) ..' lětstotka' end,
  it=function(date1, date2, state) return 'fine del ' .. Roman(date1) .. ' sec. e inizio del ' .. Roman(date2) .. ' sec.' end,
  ja='$date1世紀から$date2世紀への変わり目',
  ko=function(date1, date2, state) return '$date1세기 말' .. Ordinal(date2, 'ko') ..'세기 초' end,
  ml='$date1 നൂറ്റാണ്ട് അവസാനവും $date2 നൂറ്റാണ്ട് ആദ്യവും',
  nb=function(date1, date2, state) return 'slutten av det ' .. Ordinal(date1, 'nb') .. ' århundre/begynnelsen av det ' .. Ordinal(date2, 'nb') .. ' århundre' end,
  nl=function(date1, date2, state) return 'eind $date1e/begin $date2e eeuw' end,
  nn=function(date1, date2, state) return 'slutten av det ' .. Ordinal(date1, 'nn') .. ' hundreåret/byrjinga av det ' .. Ordinal(date2, 'nn') .. ' hundreåret' end,
  pl=function(date1, date2, state) return 'przełom ' .. Roman(date1) ..' i ' .. Roman(date2) ..' wieku' end,
  pt=function(date1, date2, state) return 'final do século ' .. Roman(date1) .. ' e início do século ' .. Roman(date2) .. '' end,
  qu="$date1 ñiqin waranqawatamanta $date2 ñiqin waranqawataman t'ikrasqanpi",
  ru=function(date1, date2, state) return 'конец ' .. Roman(date1) ..' — начало ' .. Roman(date2) ..' века' end,
  sk='prelom $date1. a $date2. storočia',
  sl=function(date1, date2, state) return 'pozno ' .. Ordinal(date1, 'sl') .. '. in zgodnje ' .. Ordinal(date2, 'sl') .. '. stoletje' end,
  sv='sekelskiftet år $date200',
  uk=function(date1, date2, state) return 'кін. ' .. Roman(date1) ..' ст. — поч. ' .. Roman(date2) ..' ст.' end,
  vi='bước sang thế kỷ $date2',
  ['zh-hans']=function(date1, date2, state) return '$date1世纪末' .. Ordinal(date2, 'zh-hans') .. '世纪初' end,
  ['zh-hant']=function(date1, date2, state) return '$date1世紀末' .. Ordinal(date2, 'zh-hant') .. '世紀初' end,
  default=function(date1, date2, state) return {conj='and', adj1 = 'late', unit1='century', era1=state.era1, adj2 = 'early',  unit2='century', era2=state.era2} end,
 },

 -- $date1 - original date - 10
 -- $date2 - original date 
 -- if era is BC than $date1 and $date2 are swapped
 ['turn of the decade']={
  nDates = 2,
  ['be-tarask']='канец $date1-х — пачатак $date2-х гг.',
  bn='$date1-এর দশকের শেষে এবং $date2-এর দশকের শুরুতে',
  ckb='کۆتایییەکانی $date1 و سەرەتاکانی $date2',
  cs=function(date1, date2, state)
   local decade1  = math.floor((date1 % 100) / 10)
   local decade2  = math.floor((date2 % 100) / 10)
   local century1 = math.floor( date1 / 100) + 1
   local century2 = math.floor( date2 / 100) + 1
   if decade1 == 0 and date1 < date2 then
    return "přelom 1. a 2. dekády " .. century1 .. ". století"
   elseif decade2 == 0 and date2 < date1 then
    return "přelom 9. a 10. dekády " .. century1 .. ". století"
   elseif (decade1 == 9 and date1 < date2) or (decade2 == 9 and date2 < date1) then
    return "přelom " .. century1 .. ". a " .. century2 .. ". století"
   else
    return "přelom " .. decade1 .. "0. a " .. decade2 .. "0. let " .. century1 .. ". století"
   end
  end,
  de='späte $date1er und frühe $date2er',
  en='late $date1s and early $date2s',
  ['en-gb']='late $date1s and early $date2s',
  ['en-ca']='late $date1s and early $date2s',
  eo='ŝanĝo de la $date1-a al la $date2-a jardekoj',
  es='finales de los años $date1 y principios de los años $date2',
  fa='اواخر دههٔ $date1 و اوایل دههٔ $date2',
  fi='$date1-luvun loppu ja $date2-luvun alku',
  fr='fin des années $date1 / début des années $date2',
  ga='deireadh sna $date1í / tús sna $date2í',
  hr='kraj $date1-ih i početak $date2-ih',
  hsb='pózdnje $date1te a zažne $date2te lěta',
  it='fine degli anni $date1 / inizio degli anni $date2',
  ja='$date1年代末から$date2年代初頭',
  ko='$date1년대 말 $date2년대 초',
  ml='$date1കൾ അവസാനവും $date2കൾ ആദ്യവും',
  nb = 'sent på $date1-tallet og tidlig på $date2-tallet',
  nl = 'eind $date1e/begin $date2e decennium',
  nn = 'seint på $date1-talet og tidleg på $date2-talet',
  pl=function(date1, date2, state)
   local decade1  = math.floor(date1 % 100)
   local decade2  = math.floor(date2 % 100)
   local century1 = Roman(math.floor( date1 / 100) + 1)
   local century2 = Roman(math.floor( date2 / 100) + 1)
   if decade1 == 0 and date1 < date2  then
    return "przełom pierwszej i drugiej dekady " .. century1 .. " wieku"
   elseif decade1 == 10 and date1 < date2  then
    return "przełom drugiej dekady i lat 20. " .. century1 .. " wieku"
   elseif decade1 == 90 and decade2 == 0 then
    return "przełom ostatniej dekady " .. century1 .. " i pierwszej dekady " .. century2 .. " wieku"
   else
    return "przełom lat " .. decade1 .. ". i " .. decade2 .. ". " .. century1 .. " wieku"
   end
  end,
  pt='final dos anos $date1 e início dos anos $date2',
  qu='qhipaq $date1 watakuna ñawpaq $date2 watakunapas',
  ru='конец $date1-х — начало $date2-х гг.',
  sv='decennieskiftet år $date2',
  sk=function(date1, date2, state)
   local decade1  = math.floor((date1 % 100) / 10)
   local decade2  = math.floor((date2 % 100) / 10)
   local century1 = math.floor( date1 / 100) + 1
   local century2 = math.floor( date2 / 100) + 1
   if decade1 == 0 and date1 < date2 then
    return "prelom 1. a 2. desaťročia " .. century1 .. ". storočia"
   elseif decade2 == 0 and date2 < date1 then
    return "prelom 9. a 10. desaťročia " .. century1 .. ". storočia"
   elseif (decade1 == 9 and date1 < date2) or (decade2 == 9 and date2 < date1) then
    return "prelom " .. century1 .. ". a " .. century2 .. ". storočia"
   else
    return "prelom " .. decade1 .. "0. a " .. decade2 .. "0. rokov " .. century1 .. ". storočia"
   end
  end,
  sl='pozna $date1-ta in zgodnja $date2-ta leta',
  uk='кінець $date1-х — початок $date2-х рр.',
  ur='اخیر دہائی $date1 و ابتدا دہائی $date2',
  vi='bước sang thập niên $date2',
  ['zh-hans']='$date1年代末$date2年代初',
  ['zh-hant']='$date1年代末$date2年代初',
  default=function(date1, date2, state) return {conj='and', adj1 = 'late', unit1='decade', era1=state.era1, adj2 = 'early',  unit2='decade', era2=state.era2} end,
 },

 -- $date1 - original date - 1
 -- $date2 - original date
 -- if era is BC than $date1 and $date2 are swapped
 ['turn of the year']={
  nDates = 2,
  ['be-tarask']='канец $date1 — пачатак $date2 г.',
  bn='$date1-এর শেষে এবং $date2-এর শুরুতে',
  ckb='کۆتاییی $date1 و سەرەتای $date2',
  cs='přelom roku $date1/$date2',
  de='Jahreswechsel $date1/$date2',
  en='late $date1 and early $date2',
  ['en-gb']='late $date1 and early $date2',
  ['en-ca']='late $date1 and early $date2',
  eo='jarŝanĝo $date1 / $date2',
  es='finales de $date1 y principios de $date2',
  fa='اواخر $date1 و اوایل $date2',
  fi='vuoden $date1 loppu ja vuoden $date2 alku',
  fr='fin $date1 / début $date2',
  ga='deireadh $date1 / tús $date2',
  hsb='kónc $date1/spočatk $date2',
  ja='$date1年末から$date2年初め',
  ko='$date1년에서 $date2년 초',
  ml='$date1 അവസാനവും $date2 ആദ്യവും',
  nb='årsskiftet $date1/$date2',
  nl='eind $date1 en begin $date2',
  nn='årsskiftet $date1/$date2',
  pl='koniec $date1 i początek $date2 roku',
  pt='final de $date1 e início de $date2',
  qu="$date1 qhipaq p'unchawkuna $date2 ñawpaq p'unchawkunapas",
  ru='конец $date1 — начало $date2 г.',
  sk='prelom rokov $date1/$date2',
  sl='konec leta $date1 in začetek leta $date2',
  sv='sena $date1 och tidiga $date2',
  uk='кінець $date1 — початок $date2 р.',
  ur='اخیر $date1 و ابتدا $date2',
  vi='bước sang năm $date2',
  ['zh-hans']='$date1年末$date2年初',
  ['zh-hant']='$date1年末$date2年初',
  default=function(date1, date2, state) return {conj='and', adj1 = 'late', unit1='year', era1=state.era1, adj2 = 'early',  unit2='year', era2=state.era2} end,
 },

 ['circa2'] = {
  nDates = 2,
  ar='بين $date1 – $date2',
  ['be-tarask']={'прыкладна з $date1 да прыкладна $date2', case={'gen','gen'}},
  bn='প্রায় $date1 এবং প্রায় $date2-এর মাঝামাঝি',
  ca='cap a $date1 o $date2',
  ckb='بە نزیکی لەنێوان $date1 و $date2',
  cs='cca $date1 až $date2',
  da='ca. mellem $date1 og $date2',
  de='etwa $date1 bis $date2',
  el='περίπου μεταξύ $date1 και $date2',
  en='between circa $date1 and circa $date2',
  ['en-gb']='between circa $date1 and circa $date2',
  ['en-ca']='between circa $date1 and circa $date2',
  eo='proksimume de $date1 ĝis $date2',
  es='hacia $date1 o $date2',
  et='ca. $date1 ja $date2 vahel',
  fa='حدوداً بین $date1 و $date2', 
  fi={function(date1, date2, state) return 'suunnilleen ' .. decYear(state,'fi','xxx') .. '$date1 ja $date2 välisenä aikana' end, case={'gen','gen'}},
  fr='vers $date1-$date2',
  ga='idir $date1 go $date2',
  gl='entre $date1 e $date2',
  he='בסביבות ה- $date1 עד $date2',
  hr='oko između $date1 i $date2',
  hsb={'wot něhdźe $date1 do něhdźe $date2', case={'gen','gen'}},
  hu='$date1 és $date2 között',
  it='tra il $date1 e il $date2 circa',
  ja='$date1頃と$date2頃の間',
  ko='$date1경에서 $date2경 사이',
  mk='~ помеѓу $date1 и $date2',
  ml='ഉദ്ദേശം $date1-നും ഉദ്ദേശം $date2-നും ഇടയ്ക്ക്',
  nb='ca. mellom $date1 og $date2',
  nn='ca. mellom $date1 og $date2',
  nds='üm un bi $date1 bet $date2',
  nl='ca. $date1 tot $date2',
  no='ca. mellom $date1 og $date2',
  pl={'od około $date1 do około $date2', case={'gen','gen'}},
  pt='cerca de $date1 a $date2',
  qu="$date1 p'unchawmantachá $date2 p'unchawkamachá",
  ro='circa $date1 – $date2',
  ru={'с около $date1 до, примерно, $date2', case={'gen','gen'}},
  sk='cca $date1 až $date2',
  sl={function(date1, date2, state) return 'ok. ' .. decYear(state,'sl','gen') .. ' $date1 do $date2' end, case={'gen','gen'}},
  sv='cirka $date1 till $date2',
  uk={'з близько $date1 до, приблизно, $date2', case={'gen','gen'}},
  ur='قریباً بین $date1 و $date2', 
  vi='giữa vào khoảng $date1 và vào khoảng $date2',
  ['zh-hans']='约$date1~$date2间',
  ['zh-hant']='約$date1~$date2間',
  default=function(date1, date2, state) return {conj='between', adj1 = 'circa', unit1=state.unit1, era1=state.era1, adj2 = 'circa',  unit2=state.unit2, era2=state.era2} end,
 },

 -- ==========================================
 -- === Eras and calendars ===================
 -- ==========================================
 ['julian'] = {
  nDates = 2,
  ar='$date1 ($date2 حسب [[w:ar:التقويم اليولياني|تقويم يولياني]])',
  ['be-tarask']='$date1 ($date2 паводле [[w:be-tarask:Юліянскі каляндар|ст. ст.]]',
  bn='$date1 (জুলিয়ান ক্যালেন্ডারে $date2)',
  ca='$date1 ($date2 segons el [[w:ca:Calendari julià|calendari julià]])',
  ckb='$date1 ($date2 بەپێی [[w:ڕۆژژمێری جولیانی|ڕۆژژمێری جولیانی]])',
  cs='$date1 ($date2 podle [[w:cs:Juliánský kalendář|juliánského kalendáře]])',
  da='$date1 ($date2 [[w:da:Julianske kalender|Julianske kalender]])',
  de='$date1 ($date2 [[w:de:Julianischer Kalender|Julianischer Kalender]])',
  el='$date1 ($date2 με το [[w:el:Ιουλιανό ημερολόγιο|Ιουλιανό ημερολόγιο]])',
  en='$date1 ($date2 in [[w:Old Style and New Style dates|Julian calendar]])',
  ['en-gb']='$date1 ($date2 in [[w:Old Style and New Style dates|Julian calendar]])',
  ['en-ca']='$date1 ($date2 in [[w:Old Style and New Style dates|Julian calendar]])',
  fa='$date1 ($date2 در [[w:fa:Old Style and New Style dates|تقویم جولیان]])',
  eo='$date1 ($date2 laŭ la [[w:eo:Julia kalendaro|Julia Kalendaro]])',
  es='$date1 ($date2 según el [[w:es:Calendario juliano|calendario juliano]])',
  et='$date1 ($date2 [[w:et:Juliuse kalender|Juliuse kalendris]])',
  fi='$date1 ($date2 [[w:fi:juliaaninen kalenteri|juliaanisen kalenterin]] mukaan)',
  fr='$date1 ($date2 dans le [[w:fr:calendrier julien|calendrier julien]])',
  ga='$date1 ($date2 sa [[w:ga:Féilire Iúil|féilire Iúil]])',
  gl='$date1 ($date2 segundo o [[w:gl:Calendario xuliano|calendario xuliano]])',
  hu='$date1 ($date2 a [[w:hu:Julianus-naptár|Julián naptárban]])',
  hr='$date1 ($date2 prema [[w:hr:Julijanski kalendar|julijanskom kalendaru]])',
  he='$date1 ($date2 ב[[w:he:לוח היוליאני|הלוח היוליאני]])',
  hsb='$date1 ($date2 po julianiskej protyce)',
  it='$date1 ($date2 secondo il [[w:it:Calendario giuliano|calendario giuliano]])',
  ja='$date1([[w:ja:ユリウス暦|ユリウス暦]] $date2)',
  ko='$date1 ([[w:ko:율리우스력|율리우스력]] $date2)',
  mk='$date1 ($date2 по [[w:mk:Јулијански календар|Јулијанскиот календар]])',
  ml='$date1 ([[w:ml:ജൂലിയൻ കാലഗണനാരീതി|ജൂലിയൻ വർഷത്തിൽ]] $date2)',
  ml='$date1 ([[w:Old Style and New Style dates|ജൂലിയൻ കാലഗണനാരീതിയിൽ]] $date2)',
  nds='$date1 ($date2 na’n [[w:nds:Juliaansch Klenner|Juliaanschen Klenner]])',
  nb='$date1 ($date2 etter [[w:no:Juliansk kalender|den julianske kalenderen]])',
  nn='$date1 ($date2 etter [[w:nn:den julianske kalenderen|den julianske kalenderen]])',
  nl='$date1 ($date2 volgens de [[w:nl:Juliaanse kalender|Juliaanse kalender]])',
  no='$date1 ($date2 etter [[w:no:Juliansk kalender|den julianske kalender]])',
  pl='$date1 ($date2 wedle [[w:pl:Daty nowego i starego porządku|kalendarza juliańskiego]])',
  pt='$date1 ($date2 no [[w:pt:Mudança para o calendário gregoriano|calendário juliano]])',
  qu='$date1 ($date2 [[w:qu:Hulyanu kalindaryu|Hulyanu kalindaryupi]])',
  ro='$date1 ($date2 în [[w:ro:calendarul iulian|calendarul iulian]])',
  ru='$date1 ($date2 [[w:ru:Юлианский календарь|по ст. ст.]])',
  sk='$date1 ($date2 podľa [[w:sk:Juliánsky kalendár|juliánskeho kalendára]])',
  sl='$date1 ($date2 po [[w:sl:Julijanski koledar|julijanskem koledarju]])',
  sv='$date1 ($date2 [[w:sv:Gamla stilen|gamla stilen]])',
  uk='$date1 ($date2 [[w:uk:Юліанський календар|Юліанський календар]])',
  ur='$date1 ($date2 حسب [[w:ur:نئے اور پانے انداز کی تاریخ|جولین تقویم]])',
  vi='$date1 ($date2 trong [[w:vi:Lịch Julius|lịch Juliêng]])',
  ['zh-hans']='$date1([[w:Old Style and New Style dates|格里历]]$date2)',
  ['zh-hant']='$date1([[w:Old Style and New Style dates|格里曆]]$date2)',  
  default='<span style="color:red">$date1 ($date2 in [[w:Old Style and New Style dates|Julian calendar]])</span>',
 },
 
 ['ad'] = {
  nDates = 1,
  ['be-tarask']='$date1 [[w:be-tarask:ад Нараджэньня Хрыста|пасьля Н. Х.]]',
  bn ='$date1 খ্রিস্টাব্দ',
  ca ='$date1 dC',
  ckb ='$date1 [[w:ckb:ئانۆ دۆمینی|پاز]]',
  cs ='$date1 n. l.',
  de ='$date1 n. Chr.',
  el ='$date1 μ.Χ.',
  en ='$date1 [[w:en:Anno Domini|AD]]',
  ['en-gb'] ='$date1 [[w:en:Anno Domini|AD]]',
  ['en-ca'] ='$date1 [[w:en:Anno Domini|AD]]',
  eo ='$date1 pK',
  es ='$date1 [[w:es:Anno Dómini|d. C.]]',
  fa ='$date1 م.',
  fi ='$date1 jaa.',
  fr ='$date1 ap. J.-C.',
  gl ='$date1 d.C.',
  he ='$date1 לספירה',
  hu ='i. sz. $date1',
  hr ='$date1 p. Kr.',
  hsb='$date1 po Chr.',
  it ='$date1 d.C.',
  ja ='西暦$date1',
  ko ='서기 $date1',
  mk ='$date1 н.е.',
  ml ='ക്രി.വ. $date1',
  nb ='$date1 e.Kr.',
  nl ='$date1 n.Chr.',
  nn ='$date1 e.Kr.',
  no ='$date1 e.Kr.',
  pl ='$date1 [[w:pl:naszej ery|n.e.]]',
  pt ='$date1 [[:pt:Anno Domini|AD]]',
  ro ='$date1 d.Hr.',
  ru ='$date1 н. э.',
  sk ='$date1 po Kr.',
  sl ='$date1 n. št.',
  sv ='$date1 [[w:sv:Efter Kristus|e.Kr.]]',
  uk ='$date1 н. е.',
  ur ='$date1 ء',
  vi ='$date1 [[w:vi:Công Nguyên|CN]]',
  ['zh-hans'] ='[[w:zh:基督纪年|公元]]$date1',
  ['zh-hant'] ='[[w:zh:基督纪年|公元]]$date1',
  default='<span style="color:red">$date1 [[w:en:Anno Domini|AD]]</span>',
 }, 
 
 ['ah'] = {
  nDates = 1,
  ['be-tarask']='$date1 [[w:be-tarask:Ісламскі каляндар|хіджры]]',
  bn ='$date1 [[w:bn:ইসলামি বর্ষপঞ্জি|হিজরী]]',
  ckb ='$date1 [[w:ckb:ساڵی کۆچی|سک]]',
  cs ='$date1 [[w:cs:Anno Hegirae|AH]]',
  de ='$date1 [[w:de:Anno Hegirae|AH]]',
  en ='$date1 [[w:en:Hijri year|AH]]',
  ['en-gb'] ='$date1 [[w:en:Hijri year|AH]]',
  ['en-ca'] ='$date1 [[w:en:Hijri year|AH]]',
  eo ='$date1 post la [[w:eo:Heĝiro|Heĝiro]]',
  fa ='$date1 ه.ق.',
  fr ='$date1 [[w:fr:Calendrier musulman|A.H.]]',
  he ="$date1 [[w:he:הלוח המוסלמי|להג'רה]]",
  hr ='$date1 god. hidžre',
  ja ='[[w:ja:ヒジュラ暦|ヒジュラ暦]]$date1',
  ko ='히즈리력 $date1',
  ml ='$date1 [[w:ml:ഇസ്‌ലാമിക കലണ്ടർ|ഹിജ്റ]]',
  nb ='$date1 [[w:no:Den muslimske kalenderen|A.H.]]',
  nn ='$date1 [[w:nn:Den muslimske kalenderen|A.H.]]',
  pl ='$date1 [[w:pl:Kalendarz muzułmański|A.H.]]',
  pt ='$date1 [[:pt:Ano da Hégira|AH]]',
  ru ='$date1 [[w:ru:Исламский календарь|хиджры]]',
  sk ='$date1 [[w:sk:A. H.|A. H.]]',
  sl ='$date1 [[w:sl:Islamski koledar|leto hidžre]]',
  sv ='$date1 [[w:sv:Muslimska kalendern|A.H.]]',
  uk ='$date1 [[w:uk:Мусульманський календар|хіджри]]',
  ur ='$date1 ھ',
  vi ='$date1 [[w:vi:Lịch Hồi giáo|AH]]',
  ['zh-hans'] ='[[w:zh:伊斯兰历|伊斯兰历]]$date1',
  ['zh-hant'] ='[[w:zh:伊斯蘭曆|伊斯蘭曆]]$date1',
  default='<span style="color:red">$date1 [[w:en:Hijri year|AH]]</span>',
 },
 
  ['bc'] = {
  nDates = 1,
  ar ='$date1 ق.م.',
  ['be-tarask']='$date1 [[w:be-tarask:да Нараджэньня Хрыста|да Н. Х.]]',
  bn ='খ্রিস্টপূর্ব $date1',
  ca ='$date1 [[w:ca:Abans de Crist|aC]]',
  ckb ='$date1 [[w:ckb:پێش زایین|پز]]',
  cs ='$date1 [[w:cs:Př. n. l.|př. n. l.]]',
  de ='$date1 [[w:de:v. Chr.|v. Chr.]]',
  el ='$date1 π.Χ.',
  en ='$date1 [[w:en:Ante Christum Natum|BC]]',
  ['en-gb'] ='$date1 [[w:en:Ante Christum Natum|BC]]',
  ['en-ca'] ='$date1 [[w:en:Ante Christum Natum|BC]]',
  eo ='$date1 aK',
  es ='$date1 [[w:es:Antes de Cristo|a. C.]]',
  fa ='$date1 پ.م.',
  fi ='$date1 eaa.',
  fr ='$date1 av. J.-C.',
  gl ='$date1 [[w:gl:Antes de Cristo|a.C.]]',
  he ='$date1 לפני הספירה',
  hr ='$date1 [[w:hr:Pr. Kr.|pr. Kr.]]',
  hsb='$date1 do Chr.',
  hu ='i. e. $date1',
  it ='$date1 [[w:it:Avanti Cristo|a.C.]]',
  ja ='[[w:ja:紀元前|紀元前]]$date1',
  ko ='[[w:ko:서력기원|기원전]] $date1',
  mk ='$date1 п.н.е.',
  ml ='ക്രി.മു. $date1',
  nds='$date1 vör uns Tied',
  nb ='$date1 f.Kr.',
  nl ='$date1 v.Chr.',
  nn ='$date1 f.Kr.',
  no ='$date1 f.Kr.',
  pl ='$date1 [[w:pl:przed naszą erą|p.n.e.]]',
  pt ='$date1 [[w:en:Ante Christum Natum|a.C.]]',
  ro ='$date1 î.Hr.',
  ru ='$date1 до н. э.',
  sk ='$date1 [[w:sk:Pred Kristom|pred Kr.]]',
  sl ='$date1 pr. n. št.',
  sv ='$date1 [[w:sv:Före Kristus|f.Kr.]]',
  uk ='$date1 до н. е.',
  ur ='$date1 ق م',
  vi ='$date1 [[w:vi:Trước Công Nguyên|TCN]]',
  ['zh-hans'] ='[[w:zh:基督纪年|公元前]]$date1',
  ['zh-hant'] ='[[w:zh:基督纪年|公元前]]$date1',
  default='<span style="color:red">$date1 [[w:en:Ante Christum Natum|BC]]</span>',
 }, 
 
 ['bp'] = {
  nDates = 1,
  ar ='$date1 [[w:ar:قبل الحاضر|قبل الحاضر]]',
  be ='$date1 [[w:be-tarask:Да нашых дзён|Да нашых дзён]]',
  ['be-tarask']='$date1 [[w:be-tarask:Да нашых дзён|Да нашых дзён]]',
  bn ='বর্তমানের আগে $date1',
  ca ='$date1 [[w:ca:BP (unitat de temps)|BP]]',
  ckb ='$date1 [[w:ckb:پێش ئێستا|پێش ئێستا]]',
  cs ='$date1 [[w:cs:B. P.|B. P.]]',
  de ='$date1 [[w:de:Before Present|BP]]',
  el ='$date1 [[w:en:Before Present|BP]]',
  en ='$date1 [[w:en:Before Present|BP]]',
  ['en-gb'] ='$date1 [[w:en:Before Present|BP]]',
  ['en-ca'] ='$date1 [[w:en:Before Present|BP]]',
  eo='$date1 [[w:eo:Before Present|BP]]',
  es ='$date1 [[w:es:Before Present|BP]]',
  et ='$date1 [[w:et:Before Present|BP]]',
  fa ='$date1 [[w:fa:پیش از امروز|پیش از امروز]]',
  fi ='$date1 [[w:fi:BP (ajanlasku)|BP]]',
  fr ='$date1 [[w:fr:Avant le présent|avant le présent]]',
  hr ='$date1 [[w:hr:BP|prije današnjice]]',
  it ='$date1 [[w:it:Before Present|BP]]',
  ja ='$date1 [[w:ja:BP (年代測定)|BP]]',
  lv ='$date1 [[w:lv:Pirms mūsdienām|Pirms mūsdienām]]',
  mk ='$date1 [[w:mk:Пред сегашноста|п.с.]]',
  ml ='[[w:en:Before Present|ഇന്നത്തെ കാലത്തിനു മുമ്പ്]] $date1',
  nb ='$date1 [[w:no:Before Present|BP]]',
  nn ='$date1 [[w:nn:Before Present|BP]]',
  nl ='$date1 [[w:nl:Before Present|BP]]',
  no ='$date1 [[w:no:Before Present|BP]]',
  pl ='$date1 [[w:pl:Before Present|BP]]',
  pt ='$date1 [[w:pt:Antes do Presente|Antes do Presente]]',
  ru ='$date1 [[w:ru:До настоящего времени|до н. в.]]',
  sk ='$date1 [[w:sk:BP (čas)|BP]]',
  sl ='$date1 [[w:sl:pred sedanjostjo|p. s.]]',
  sr ='$date1 [[w:sr:Прије садашњости|Прије садашњости]]',
  sv ='$date1 [[w:sv:B.P.|B.P.]]',
  uk ='$date1 [[w:uk:Років тому|Років тому]]',
  ur ='$date1 قبل حاضر',
  vi ='$date1 [[w:en:Before Present|trước ngày nay]]',
  ['zh-hans'] ='[[w:zh:距今|距今]]$date1',
  ['zh-hant'] ='[[w:zh:距今|距今]]$date1',
  default='<span style="color:red">$date1 [[w:en:Before Present|BP]]</span>',
 },
}

-- List of possible string inputs to "adj", "junction", "era", and "precision" fields
-- Each term is matched to its synonym and the role: a - adjective, e - era
-- p - precision, c - calendar and combos, r - certainty and j - conjunction
p.Synonyms = {
 -- adjectives and prepositions
 ['quarter1']={'1quarter','a'},
 ['1stquarter']={'1quarter','a'},
 ['1st quarter']={'1quarter','a'},
 ['first quarter']={'1quarter','a'},
 ['1quarter']={'1quarter','a'},
 ['quarter2']={'2quarter','a'},
 ['2ndquarter']={'2quarter','a'},
 ['2nd quarter']={'2quarter','a'},
 ['second quarter']={'2quarter','a'},
 ['2quarter']={'2quarter','a'},
 ['quarter3']={'3quarter','a'},
 ['3rdquarter']={'3quarter','a'},
 ['3rd quarter']={'3quarter','a'},
 ['third quarter']={'3quarter','a'},
 ['3quarter']={'3quarter','a'},
 ['quarter4']={'4quarter','a'},
 ['4thquarter']={'4quarter','a'},
 ['4th quarter']={'4quarter','a'},
 ['fourth quarter']={'4quarter','a'},
 ['4quarter']={'4quarter','a'},
 ['spring']={'spring','a'},
 ['summer']={'summer','a'},
 ['fall']={'autumn','a'},
 ['autumn']={'autumn','a'},
 ['winter']={'winter','a'},
 ['beginning']={'early','a'},
 ['early']={'early','a'},
 ['1half']={'firsthalf','a'},
 ['1sthalf']={'firsthalf','a'},
 ['1st half']={'firsthalf','a'},
 ['firsthalf']={'firsthalf','a'},
 ['first half']={'firsthalf','a'},
 ['end']={'late','a'},
 ['late']={'late','a'},
 ['middle']={'mid','a'},
 ['mid']={'mid','a'},
 ['2half']={'secondhalf','a'},
 ['2ndhalf']={'secondhalf','a'},
 ['2nd half']={'secondhalf','a'},
 ['secondhalf']={'secondhalf','a'},
 ['second half']={'secondhalf','a'},
 ['<']={'before','a'},
 ['b']={'before','a'},
 ['before']={'before','a'},
 ['>']={'after','a'},
 ['a']={'after','a'},
 ['after']={'after','a'},
 ['~']={'circa','a'},
 ['c']={'circa','a'},
 ['ca']={'circa','a'},
 ['circa']={'circa','a'},
 ['by']={'by','a'},
 ['from']={'from','a'},
 ['until']={'until','a'},
 ['uncertain']={'uncertain','r'},
 ['possibly']={'possibly','r'},
 ['probably']={'probably','r'},
 ['presumably']={'presumably','r'},

 -- eras
 ['bc']={'bc','e'},
 ['bce']={'bc','e'},
 ['before present']={'bp','e'},
 ['bp']={'bp','e'},
 ['ce']={'ad','e'},
 ['ad']={'ad','e'},
 ['ah']={'ah','e'},

 -- conjunctions
 ['&']={'and','j'},
 ['and']={'and','j'},
 ['or']={'or','j'},
 ['-']={'from-until','j'},
 ['–']={'from-until','j'},
 ['from-until']={'from-until','j'},
 ['between']={'between','j'},
 ['circa2']={'circa2','a'},
 
 -- precision
 ['day']={'day','p'},
 ['month']={'month','p'},
 ['year']={'year','p'},
 ['s']={'decade','p'},
 ['decade']={'decade','p'},
 ['century']={'century','p'},
 ['millennium']={'millennium','p'},
 ['million']={'million','p'},
 ['billion']={'billion','p'},

 -- calendar
 ['julian']={'julian','c'},
 ['islamic']={'islamic','c'},
 ['hijri']={'islamic','c'},
 
 -- "Turn of the ..." options are a combos which will be handled in similar way as calendars
 ['turn of the century']={'turn of the century','c'},
 ['century turn']={'turn of the century','c'},
 ['turn of the decade']={'turn of the decade','c'},
 ['decade turn']={'turn of the decade','c'},
 ['turn of the year']={'turn of the year','c'},
 ['year turn']={'turn of the year','c'},

 -- other dates which will be handled in similar way as calendars
 ['?']={'unknown','c'},
 ['unknown']={'unknown','c'},
 ['unknown year']={'year unknown','c'},
 ['year unknown']={'year unknown','c'},
}

return p

Retrieved from "https://commons.wikimedia.org/w/index.php?title=Module:I18n/complex_date&oldid=893875144"

Category: 
Heavily used modules
 


Navigation menu


Personal tools  




English
Not logged in
Talk
Contributions
Create account
Log in
 


Namespaces  




Module
Discussion