-- \/ | ___ __| |_ _| | ___ _|_ _/ |( _ ) _ __ / /__ ___ _ __ ___ _ __ | | _____ __ __| | __ _| |_ ___ | |\/| |/ _ \ / _` | | | | |/ _ (_)| || |/ _ \| '_ \ / / __/ _ \| '_ ` _ \| '_ \| |/ _ \ \/ / / _` |/ _` | __/ _ \ | | | | (_) | (_| | |_| | | __/_ | || | (_) | | | |/ / (_| (_) | | | | | | |_) | | __/> < | (_| | (_| | || __/ |_| |_|\___/ \__,_|\__,_|_|\___(_)___|_|\___/|_| |_/_/ \___\___/|_| |_| |_| .__/|_|\___/_/\_\ \__,_|\__,_|\__\___| |_| This code was copied from Commons please request changes there. Maintainers: Jarekt local function Ordinal(...) return require('Modül:Ordinal-cd')._Ordinal(...) end local function Roman(...) return require('Modül:Roman-cd')._Numeral(...) 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 yearCase = { fi={xxx='vuosien', gen='vuoden', ill='vuoteen', ptv='vuotta', ela='vuodesta', ine='vuonna'}, sl={insP='letoma', 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 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'} } return centuryCase[lang][case] or centuryCase[lang]['default'] end local function decMillennium(lang,case) --Declension of word "century" in several languages 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'} } return millenniumCase[lang][case] or millenniumCase[lang]['default'] end -- == -- 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 require("Modül:Linguistic").of(date1, 'fr') .. " à $date2" end end, 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まで', mk='од $date1 до $date2', ml='$date1 മുതൽ $date2 വരെ', nb='fra $date1 til $date2', nds='$date1 bet $date2', nn='fra $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', tr='$date1 tarihinden $date2 tarihine kadar', uk={'з $date1 до $date2', case={'gen','gen'}}, ur='از $date1 تا $date2', vi='từ $date1 đến $date2', ['zh-hans']='从$date1到$date2', ['zh-hant']='從$date1到$date2', default=, }, ['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='entre $date1 et $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の間', 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', tr='$date1 ile $date2 arasında', 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=, }, ['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', 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', 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', tr='$date1 veya $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 require("Modül: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', 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', gl='$date1 e $date2', he='$date1 ו- $date2', hu='$date1 és $date2', hsb='$date1 a $date2', it='$date1 e $date2', ja='$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', tr='$date1 ve $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 require("Modül:Linguistic").conj({date1, date2}, state.lang, 'and') end, }, -- -- Prepositions = -- ['by'] { nDates 1, ar 'حوالي $date1', ['be-tarask'] {'да $date1', case {'gen',}}, bn '$date1 কর্তৃক', ca 'vers $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)', gl 'cara a $date1', he 'עד $date1', hr 'do $date1', hsb {'do $date1', case {'gen',}}, it 'entro il $date1', ja '$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', tr '$date1 tarihine kadar', 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 , }, ['before'] { nDates 1, ar 'قبل $date1', ['be-tarask'] {'перад $date1', case {'ins',}}, bn '$date1-এর আগে', bg 'Преди $date1', ca 'abans $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', gl 'antes do $date1', he 'לפני $date1', hr 'prije $date1', hsb {'do $date1', case {'gen',}}, hu '$date1 előtt', it 'prima del $date1', ja '$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', tr '$date1 öncesi', uk {'до $date1', case {'gen',}}, ur 'قبل $date1', vi 'trước $date1', ['zh-hans'] '在$date1之前', ['zh-hant'] '在$date1之前', default , }, ['from'] { nDates 1, ar 'من $date1', ['be-tarask'] {'з $date1', case {'gen',}}, bn '$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, gl 'desde o $date1', he 'מ- $date1', hr 'od $date1', hsb {'wot $date1', case {'gen',}}, it 'dal $date1', ja '$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',}}, 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', tr '$date1 tarihinden', uk {'з $date1', case {'gen',}}, ur 'از $date1', vi 'từ $date1', ['zh-hans'] '自$date1', ['zh-hant'] '自$date1', default , }, ['until'] { nDates 1, ['be-tarask'] {'усутыч да $date1', case {'gen',}}, bn '$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, hr 'do $date1', hsb {'do $date1', case {'gen',}}, it 'al $date1', nb 'til $date1', nl 'tot $date1', nn 'til $date1', pl {'do $date1', case {'gen',}}, ru {'вплоть до $date1', case {'gen',}}, sk {'do $date1', case {'gen', }}, tr '$date1 tarihine kadar', uk {'аж до $date1', case {'gen',}}, ur 'تک $date1', ['zh-hans'] '直到$date1', ['zh-hant'] '直到$date1', default , }, ['after'] { nDates 1, ar 'بعد $date1', ['be-tarask'] {'пасьля $date1', case {'gen',}}, bn '$date1-এর পরে', ca 'desprès $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', gl 'despois do $date1', he 'לאחר $date1', hr 'nakon $date1', hu '$date1 után', hsb {'po $date1', case {'loc',}}, it 'dopo il $date1', ja '$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', tr '$date1 sonrası', uk {'після $date1', case {'gen',}}, ur 'بعد $date1', vi 'sau $date1', ['zh-hans'] '在$date1之后', ['zh-hant'] '在$date1之後', default , }, -- -- Adjectives -- ['early'] { nDates 1, ar 'بداية $date1', ['be-tarask'] {'пачатак $date1', case {'gen',}}, bn '$date1-এর শুরুতে', ca 'al principi de $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', 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初頭', 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)-- could actually be better should be "d'octobre à mars 2013' not "de octore 2013 à mars 2013" if state.precision 9 then -- precision > month return 'zgodnje leto $date1' else -- "DE septebmbre" / "D'octobre" return 'zgodnji $date1' end end, sv='början av $date1', tr='$date1 başı', uk={'початок $date1', case={'gen',}}, ur='ابتدا $date1', vi='đầu năm $date1', ['zh-hans']='$date1早期', ['zh-hant']='$date1早期', default=, }, ['mid'] = { nDates = 1, ar='منتصف $date1', ['be-tarask']={'сярэдзіна $date1', case={'gen',}}, bn='$date1-এর মাঝামাঝি', ca='a mitjan $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', 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半ば', 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', tr='$date1 ortası', uk={'середина $date1', case={'gen',}}, ur='وسط $date1', vi='giữa năm $date1', ['zh-hans']='$date1中期', ['zh-hant']='$date1中期', default=, }, ['late'] = { nDates = 1, ar='نهاية $date1', bn='$date1-এর শেষে', ['be-tarask']={'канец $date1', case={'gen',}}, ca='al final de $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', 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末', 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','gen') .. ' $date1' end, case={'gen',}}, sv='slutet av $date1', tr='$date1 sonu', uk={'кінець $date1', case={'gen',}}, ur='اخیر $date1', vi='cuối năm $date1', ['zh-hans']='$date1晚期', ['zh-hant']='$date1晚期', default=, }, ['circa'] = { nDates = 1, ar='حوالي $date1', ['be-tarask']={'каля $date1', case={'gen',}}, bn='প্রায় $date1', ca='cap a $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, 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' 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='c:a $date1', -- template:Circa used 'ca $date1' tr='$date1 dolaylarında', uk={'близько $date1', case={'gen', }}, ur='قریباً $date1', vi='vào khoảng $date1', ['zh-hans']='约$date1', ['zh-hant']='約$date1', default=, }, ['uncertain'] = { nDates = 1, ['zh-hans']='$date1(?)', ['zh-hant']='$date1(?)', default='$date1 (?)', }, probably = { -- see Q56644435 nDates = 1, ast = 'probablemente $date1', bn = 'সম্ভবত $date1', ca = 'probablement $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', nl = 'waarschijnlijk $date1', pl = 'prawdopodobnie $date1', pt = 'provavelmente $date1', ru = 'вероятно $date1', sv = 'antagligen $date1', tr = 'muhtemelen $date1', default=, }, possibly = { -- see Q30230067 nDates = 1, ast = 'posiblemente $date1', bn = 'যথাসম্ভব $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', nl = 'mogelijk $date1', pl = 'być może $date1', pt = 'possivelmente $date1', ro = 'poate $date1', ru = 'возможно $date1', sv = 'möjligen $date1', tr = 'belki $date1', default=, }, presumably = { -- see Q18122778 nDates = 1, ast = 'presumiblemente $date1', de = 'vermutlich $date1', en = 'presumably $date1', ['en-gb']='presumably $date1', ['en-ca']='presumably $date1', fr = 'présumé $date1', it = 'presumibilmente $date1', ru = 'предположительно $date1', pl = 'przypuszczalnie $date1', tr = 'büyük ihtimalle $date1', default=, }, ['year unknown']= { nDates = 0, ca='Any desconegut', ['be-tarask']='Год невядомы', bn='অজানা বছর', 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', he='שנה לא ידועה', hsb='lěto njeznate', hr='nepoznata godina', it='anno sconosciuto', ja='年代不明', la='Sine anno', ml='വർഷം ലഭ്യമല്ല', mk='непозната година', nb='ukjent år', nn='ukjent år', nl='zonder jaar', no='ukjent år', pl='rok nieznany', qu='Mana riqsisqa wata', ru='Год неизвестен', sk='neznámy rok', sl='neznano leto', sv='Okänt år', tr='yıl bilinmiyor', uk='рік невідомий', ur='سال نامعلوم', vi='không rõ năm', ['zh-hans']='年份未知', ['zh-hant']='年份未知', default=, }, -- -- Parts of a whole -- ['firsthalf'] = { nDates = 1, ar='النصف الأول من $date1', ['be-tarask']={'першая палова $date1', case={'gen',}}, bn='$date1-এর প্রথমার্ধ', ca='1a meitat de $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 moitié 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上半期', 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 halvan av $date1', tr='$date1 ilk yarısı', uk={'перша половина $date1', case={'gen',}}, ur='نصف اول $date1', vi='nửa đầu năm $date1', ['zh-hans']='$date1上半期', ['zh-hant']='$date1上半期', default=, }, ['secondhalf'] = { nDates = 1, ar='النصف الثاني من $date1', ['be-tarask']={'другая палова $date1', case={'gen',}}, bn='$date1-এর দ্বিতীয়ার্ধ', ca='2a meitat de $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 moitié 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下半期', 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 $date1', case={'gen',}}, sv='andra halvan av $date1', tr='$date1 ikinci yarısı', uk={'друга половина $date1', case={'gen',}}, ur='نصف آخر $date1', vi='nửa cuối năm $date1', ['zh-hans']='$date1下半期', ['zh-hant']='$date1下半期', default=, }, ['1quarter']= { nDates = 1, bn='$date1-এর প্রথম ত্রৈমাসিক', ['be-tarask']={'першая чвэрць $date1', case={'gen',}}, 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, he='רבעון ראשון של $date1', hsb={'prěnja štwórćina $date1', case={'gen',}}, hr='prva četvrtina $date1', it='primo quarto del $date1', ja='$date1第1四半期', 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',}}, qu='$date1 ñawpaq ñiqin tawa phatmanpi', ru={'первая четверть $date1', case={'gen',}}, sk={'1. štvrtina $date1', case={'gen',}}, sl={'prva četrtina $date1', case={'gen',}}, sl={function(date1, state) return 'prva četrtina ' .. decYear(state,'sl','gen') .. ' $date1' end, case={'gen',}}, sv='första kvartalet av $date1', tr='$date1 ilk çeyreği', uk={'1-ша чверть $date1', case={'gen',}}, ur='پہلی سہ ماہی $date1', vi='quý 1 năm $date1', ['zh-hans']='$date1第一季度', ['zh-hant']='$date1第一季度', default=, }, ['2quarter']= { nDates = 1, ['be-tarask']={'другая чвэрць $date1', case={'gen',}}, bn='$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, he='רבעון שני של $date1', hsb={'druha štwórćina $date1', case={'gen',}}, hr='druga četvrtina $date1', it='secondo quarto del $date1', ja='$date1第2四半期', 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',}}, 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', tr='$date1 ikinci çeyreği', uk={'2-га чверть $date1', case={'gen',}}, ur='دوسری سہ ماہی $date1', vi='quý 2 năm $date1', ['zh-hans']='$date1第二季度', ['zh-hant']='$date1第二季度', default=, }, ['3quarter']= { nDates = 1, ['be-tarask']={'трэцяя чвэрць $date1', case={'gen',}}, bn='$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, 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四半期', 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',}}, 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', tr='$date1 üçüncü çeyreği', uk={'3-тя чверть $date1', case={'gen',}}, ur='تیسری سہ ماہی $date1', vi='quý 3 năm $date1', ['zh-hans']='$date1第三季度', ['zh-hant']='$date1第三季度', default=, }, ['4quarter']= { nDates = 1, ['be-tarask']={'чацьвёртая чвэрць $date1', case={'gen',}}, bn='$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, he='רבעון רביעי של $date1', hsb={'poslednja štwórćina $date1', case={'gen',}}, hr='četvrta četvrtina $date1', it='quarto quarto del $date1', ja='$date1第4四半期', 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',}}, 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', tr='$date1 dördüncü çeyreği', uk={'4-та чверть $date1', case={'gen',}}, ur='چوتھی سہ ماہی $date1', vi='quý 4 năm $date1', ['zh-hans']='$date1第四季度', ['zh-hant']='$date1第四季度', default=, }, -- -- Seasons -- ['spring'] { nDates 1, ar 'ربيع $date1', ['be-tarask'] 'вясна $date1', bn 'বসন্তকাল $date1', ca 'primavera $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', gl 'primavera $date1', he 'אביב $date1', hr 'proljeće $date1', hsb 'nalěćo $date1', hu '$date1 tavasza', it 'primavera $date1', ja '春', 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', tr '$date1 ilkbaharı', uk 'весна $date1', ur 'بہار $date1', vi 'mùa đông năm $date1', ['zh-hans'] '春季', ['zh-hant'] '春季', default , }, ['summer'] { nDates 1, ar 'صيف $date1', ['be-tarask'] 'лета $date1', bn 'গ্রীষ্মকাল $date1', ca 'estiu $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', gl 'verán $date1', he 'קיץ $date1', hr 'ljeto $date1', hsb 'lěćo $date1', hu '$date1 nyara', it 'estate $date1', ja '夏', 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', tr '$date1 yazı', uk 'літо $date1', ur 'گرما $date1', vi 'mùa hè năm $date1', ['zh-hans'] '夏季', ['zh-hant'] '夏季', default , }, ['autumn'] { nDates 1, ar 'خريف $date1', ['be-tarask'] 'восень $date1', bn 'শরত্কাল $date1', ca 'tardor $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', gl 'outono $date1', he 'סתיו $date1', hr 'jesen $date1', hsb 'nazyma $date1', hu '$date1 ősze', it 'autunno $date1', ja '秋', 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', tr '$date1 sonbaharı', uk 'осінь $date1', ur 'خزاں $date1', vi 'mùa thu năm $date1', ['zh-hans'] '秋季', ['zh-hant'] '秋季', default , }, ['winter'] { nDates 1, ar 'شتاء $date1', ['be-tarask'] 'зіма $date1', bn 'শীতকাল $date1', ca 'hivern $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', gl 'inverno $date1', he 'חורף $date1', hr 'zima $date1', hsb 'zyma $date1', hu '$date1 tele', it 'inverno $date1', ja '冬', 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', tr '$date1 kışı', uk 'зима $date1', ur 'سرما $date1', vi 'mùa đông năm $date1', ['zh-hans'] '冬季', ['zh-hant'] '冬季', default , }, -- -- Decade/Century/Millennium -- ['decade'] { nDates 1, ar 'أعوام $date1', ['be-tarask'] '$date1-я гады', bn '$date1-এর দশক', ca 'dècada del $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', gl='anos $date1', he='שנות ה-$date1', hr='$date1-ih', hsb='$date1te lěta', hu='$date1-s évek', it="", ja='$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', tr '$date1\'ler', uk '$date1-ті роки', ur 'دہائی $date1', vi 'thập niên $date1', ['zh-hans'] '$date1年代', ['zh-hant'] '$date1年代', default , }, ['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 ', 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 '-luvulla', fr function(date1, state) return Ordinal(date1, 'fr', 'roman', 'm') .. ' siècle' end, 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世紀', 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') .. ' århundre' 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 '00-talet', tr '$date1. yüzyıl', 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 , }, ['millennium'] { nDates 1, ['be-tarask'] function(date1, state) return Ordinal(date1, 'be-tarask') .. ' тысячагодзьдзе' end, bn function(date1, state) return Ordinal(date1, 'bn') .. ' সহস্রাব্দ' 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, hr '$date1. tisućljeće', hsb '$date1. lěttysac', it function(date1, state) return Roman(date1) .. ' millennio' end, ja '$date1千年紀', la 'millennium $date1', nb function(date1, state) return Ordinal(date1, 'nb') .. ' årtusen' end, nn function(date1, state) return Ordinal(date1, 'no') .. ' tusenår' 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, tr function(date1, state) return Ordinal(date1, 'tr') .. ' milenyum' 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 , default , }, ['million'] { 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', nl '$date1e miljoen jaar', fr '$date1 millions d’années', it '$date1 milioni di anni', 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 миллиона лет', tr '$date1 milyon yıl', uk '$date1 мільйони років', ur '$date1 ملین سال', ['zh-hans'] '$date1百万年', ['zh-hant'] '$date1百万年', default , nDates 1, }, ['billion'] { 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', nl '$date1e miljard jaar', fr '$date1 milliard d’années', it '$date1 miliardi di anni', 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 миллиардов лет', tr '$date1 milyar yıl', 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, 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='-luvun loppu ja -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, 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世紀への変わり目', 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, 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=function(date1, date2, state) return '$date1/' .. Ordinal(date2, 'sv') .. ' årtusendets sekelskifte' end, tr=function(date1, date2, state) return '$date1 ile ' .. Ordinal(date2, 'tr') .. ' yüzyıl arası' end, 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-এর দশকের শুরুতে', 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', 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年代初頭', 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, qu='qhipaq $date1 watakuna ñawpaq $date2 watakunapas', ru='конец $date1-х — начало $date2-х гг.', sv='sena $date1-talet och tidiga $date2-talet', 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', tr='$date1 sonları ve $date2 başları', 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-এর শুরুতে', 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', hsb='kónc $date1/spočatk $date2', ja='$date1年末から$date2年初め', nb='årsskiftet $date1/$date2', nl='eind $date1 en begin $date2', nn='årsskiftet $date1/$date2', pl='koniec $date1 i początek $date2 roku', qu="$date1 qhipaq p'unchawkuna $date2 ñawpaq p'unchawkunapas", ru='конец $date1 — начало $date2 г.', sk='prelom rokov $date1/$date2', sl='konec leta $date1 in začetek $date2', sv='sena $date1 och tidiga $date2', tr='$date1 sonları ve $date2 başları', 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', 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', 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頃の間', mk='~ помеѓу $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='c:a $date1 till $date2', tr='yaklaşık $date1 ile $date2 arasında', 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 حسب تقويم يولياني)', ['be-tarask']='$date1 ($date2 паводле ст. ст.', bn='$date1 (জুলিয়ান ক্যালেন্ডারে $date2)', ca='$date1 ($date2 segons el calendari julià)', cs='$date1 ($date2 podle juliánského kalendáře)', da='$date1 ($date2 Julianske kalender)', de='$date1 ($date2 Julianischer Kalender)', el='$date1 ($date2 με το Ιουλιανό ημερολόγιο)', en='$date1 ($date2 in Julian calendar)', ['en-gb']='$date1 ($date2 in Julian calendar)', ['en-ca']='$date1 ($date2 in Julian calendar)', fa='$date1 ($date2 در تقویم جولیان)', eo='$date1 ($date2 laŭ la Julia Kalendaro)', es='$date1 ($date2 según el calendario juliano)', et='$date1 ($date2 Juliuse kalendris)', fi='$date1 ($date2 juliaanisen kalenterin mukaan)', fr='$date1 ($date2 dans le calendrier julien)', gl='$date1 ($date2 segundo o calendario xuliano)', hu='$date1 ($date2 a Julián naptárban)', hr='$date1 ($date2 prema julijanskom kalendaru)', he='$date1 ($date2 בהלוח היוליאני)', hsb='$date1 ($date2 po julianiskej protyce)', it='$date1 ($date2 secondo il calendario giuliano)', ja='$date1(ユリウス暦 $date2)', mk='$date1 ($date2 по Јулијанскиот календар)', ml='$date1 (ജൂലിയൻ കാലഗണനാരീതിയിൽ $date2)', nds='$date1 ($date2 na’n Juliaanschen Klenner)', nb='$date1 ($date2 etter den julianske kalenderen)', nn='$date1 ($date2 etter den julianske kalenderen)', nl='$date1 ($date2 volgens de Juliaanse kalender)', no='$date1 ($date2 etter den julianske kalender)', pl='$date1 ($date2 wedle kalendarza juliańskiego)', pt='$date1 ($date2 no calendário juliano)', qu='$date1 ($date2 Hulyanu kalindaryupi)', ro='$date1 ($date2 în calendarul iulian)', ru='$date1 ($date2 по ст. ст.)', sk='$date1 ($date2 podľa juliánskeho kalendára)', sl='$date1 ($date2 po julijanskem koledarju)', sv='$date1 ($date2 gamla stilen)', tr='$date1 (Jülyen takviminde $date2)', uk='$date1 ($date2 Юліанський календар)', ur='$date1 ($date2 حسب جولین تقویم)', vi='$date1 ($date2 trong lịch Juliêng)', ['zh-hans']='$date1(格里历$date2)', ['zh-hant']='$date1(格里曆$date2)', default=, }, ['ad'] = { nDates = 1, ['be-tarask']='$date1 пасьля Н. Х.', bn ='$date1 খ্রিস্টাব্দ', ca ='$date1 dC', cs ='$date1 n. l.', de ='$date1 n. Chr.', el ='$date1 μ.Χ.', en ='$date1 AD', ['en-gb'] ='$date1 AD', ['en-ca'] ='$date1 AD', eo ='$date1 pK', es ='$date1 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', mk ='$date1 н.е.', ml ='ക്രി.വ. $date1', nb ='$date1 e.Kr.', nl ='$date1 n.Chr.', nn ='$date1 e.Kr.', no ='$date1 e.Kr.', pl ='$date1 n.e.', ro ='$date1 d.Hr.', ru ='$date1 н. э.', sk ='$date1 po Kr.', sl ='$date1 n. št.', sv ='$date1 e.Kr.', tr ='$date1 AD', uk ='$date1 н. е.', ur ='$date1 ء', vi ='$date1 CN', ['zh-hans'] ='公元$date1', ['zh-hant'] ='公元$date1', default=, }, ['ah'] = { nDates = 1, ['be-tarask']='$date1 хіджры', bn ='$date1 হিজরী', cs ='$date1 AH', en ='$date1 AH', ['en-gb'] ='$date1 AH', ['en-ca'] ='$date1 AH', eo ='$date1 post la Heĝiro', fa ='$date1 ه.ق.', fr ='$date1 A.H.', he ="$date1 להג'רה", hr ='$date1 god. hidžre', ja ='ヒジュラ暦$date1', nb ='$date1 A.H.', nn ='$date1 A.H.', pl ='$date1 A.H.', ru ='$date1 хиджры', sk ='$date1 A. H.', sv ='$date1 A.H.', tr ='hicri $date1', uk ='$date1 хіджри', ur ='$date1 ھ', vi ='$date1 AH', ['zh-hans'] ='Hijri历$date1', ['zh-hant'] ='Hijri曆$date1', default=, }, ['bc'] = { nDates = 1, ar ='$date1 ق.م.', ['be-tarask']='$date1 да Н. Х.', bn ='খ্রিস্টপূর্ব $date1', ca ='$date1 aC', cs ='$date1 př. n. l.', de ='$date1 v. Chr.', el ='$date1 π.Χ.', en ='$date1 BC', ['en-gb'] ='$date1 BC', ['en-ca'] ='$date1 BC', eo ='$date1 aK', es ='$date1 a. C.', fa ='$date1 پ.م.', fi ='$date1 eaa.', fr ='$date1 av. J.-C.', gl ='$date1 a.C.', he ='$date1 לפני הספירה', hr ='$date1 pr. Kr.', hsb='$date1 do Chr.', hu ='i. e. $date1', it ='$date1 a.C.', ja ='紀元前$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 p.n.e.', ro ='$date1 î.Hr.', ru ='$date1 до н. э.', sk ='$date1 pred Kr.', sl ='$date1 pr. n. št.', sv ='$date1 f.Kr.', tr ='İÖ $date1', uk ='$date1 до н. е.', ur ='$date1 ق م', vi ='$date1 TCN', ['zh-hans'] ='公元前$date1', ['zh-hant'] ='公元前$date1', default=, }, ['bp'] = { nDates = 1, ar ='$date1 قبل الحاضر', be ='$date1 Да нашых дзён', ['be-tarask']='$date1 Да нашых дзён', bn ='বর্তমানের আগে $date1', ca ='$date1 BP', cs ='$date1 B. P.', de ='$date1 BP', el ='$date1 BP', en ='$date1 BP', ['en-gb'] ='$date1 BP', ['en-ca'] ='$date1 BP', eo='$date1 BP', es ='$date1 BP', et ='$date1 BP', fa ='$date1 پیش از اکنون', fi ='$date1 BP', fr ='$date1 avant le présent', hr ='$date1 prije današnjice', it ='$date1 BP', ja ='$date1 BP', lv ='$date1 Pirms mūsdienām', mk ='$date1 п.с.', ml ='ഇന്നത്തെ കാലത്തിനു മുമ്പ് $date1', nb ='$date1 BP', nn ='$date1 BP', nl ='$date1 BP', no ='$date1 BP', pl ='$date1 BP', pt ='$date1 Antes do Presente', ru ='$date1 до н. в.', sk ='$date1 BP', sl ='$date1 p. s.', sr ='$date1 Прије садашњости', sv ='$date1 B.P.', tr ='$date1 GÖ', uk ='$date1 Років тому', ur ='$date1 قبل حاضر', vi ='$date1 trước ngày nay', ['zh-hans'] ='距今$date1', ['zh-hant'] ='距今$date1', default='', }, } -- 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