Anonymous user
Module:I18n/complex date: Difference between revisions
update Translations['from-until']['fr'] as discussed on the talk page; remove duplicate French entry
Wikipedia >Pppery (Use c. instead of circa per Template talk:Wikidata date) |
Wikimedia+Commons>Tacsipacsi (update Translations['from-until']['fr'] as discussed on the talk page; remove duplicate French entry) |
||
Line 11: | Line 11: | ||
*Jarekt | *Jarekt | ||
]] | ]] | ||
-- ========================================================================== | |||
-- === External modules and functions (use Lazy loading) =================== | |||
-- ========================================================================== | |||
local function Ordinal(...) | local function Ordinal(...) | ||
return require('Module:Ordinal | -- Name of the Module: | ||
-- * Module:Ordinal - on Commons and Wikidata | |||
-- * Module:Ordinal-cd - on English Wikipedia | |||
return require('Module:Ordinal')._Ordinal(...) | |||
end | end | ||
local function Roman(...) | local function Roman(...) | ||
return require('Module: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 | end | ||
Line 30: | Line 49: | ||
--Declension of word "year" in several languages | --Declension of word "year" in several languages | ||
if state.precision == 9 then | if state.precision == 9 then | ||
yearCase = { | local yearCase = { | ||
fi={xxx='vuosien', gen='vuoden', ill='vuoteen', ptv='vuotta', ela='vuodesta', ine='vuonna'}, | fi={xxx='vuosien', gen='vuoden', ill='vuoteen', ptv='vuotta', ela='vuodesta', ine='vuonna'}, | ||
sl={insP='letoma', ins='letom', gen='leta', loc='letu'}, | sl={insP='letoma', ins='letom', gen='leta', loc='letu'}, | ||
Line 43: | Line 62: | ||
local function decCentury(lang,case) | local function decCentury(lang,case) | ||
--Declension of word "century" in several languages | --Declension of word "century" in several languages | ||
centuryCase = { | local centuryCase = { | ||
pl={nom='wiek', gen='wieku', ins='wiekiem', loc='wieku', default = 'wiek'}, | 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'} | hsb={nom='lětstotk', gen='lětstotka', ins='lětstotkom', loc='lětstotku', default = 'lětstotk'} | ||
Line 52: | Line 71: | ||
local function decMillennium(lang,case) | local function decMillennium(lang,case) | ||
--Declension of word "century" in several languages | --Declension of word "century" in several languages | ||
millenniumCase = { | local millenniumCase = { | ||
pl={nom='tysiąclecie', gen='tysiąclecia', ins='tysiącleciem', loc='tysiącleciu', default = 'tysiąclecie'}, | 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'} | hsb={nom='lěttysac', gen='lěttysaca', ins='lěttysacom', loc='lěttysacu', default = 'lěttysac'} | ||
Line 59: | Line 78: | ||
end | 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'} | |||
} | |||
-- ========================================================================== | -- ========================================================================== | ||
-- === Output data structure =============================================== | -- === Output data structure =============================================== | ||
Line 105: | Line 134: | ||
return 'du $date1 au $date2' | return 'du $date1 au $date2' | ||
else -- "DE septebmbre" / "D'octobre" | else -- "DE septebmbre" / "D'octobre" | ||
return | return linguistic_of(date1, 'fr') .. " à $date2" | ||
end | end | ||
end, | end, | ||
Line 157: | Line 186: | ||
fa='بین $date1 و $date2', | fa='بین $date1 و $date2', | ||
fi={function(date1, date2, state) return decYear(state,'fi','xxx') .. '$date1 ja $date2 välisenä aikana' end, case={'gen','gen'}}, | 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', | 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, | |||
gl='entre $date1 e $date2', | gl='entre $date1 e $date2', | ||
he='בין $date1 ו- $date2', | he='בין $date1 ו- $date2', | ||
Line 238: | Line 272: | ||
['zh-hans']='$date1或$date2', | ['zh-hans']='$date1或$date2', | ||
['zh-hant']='$date1或$date2', | ['zh-hant']='$date1或$date2', | ||
default=function(date1, date2, state) return | default=function(date1, date2, state) return linguistic_conj({date1, date2}, state.lang, 'or') end, | ||
}, | }, | ||
Line 287: | Line 321: | ||
['zh-hans']='$date1和$date2', | ['zh-hans']='$date1和$date2', | ||
['zh-hant']='$date1和$date2', | ['zh-hant']='$date1和$date2', | ||
default=function(date1, date2, state) return | default=function(date1, date2, state) return linguistic_conj({date1, date2}, state.lang, 'and') end, | ||
}, | }, | ||
Line 295: | Line 329: | ||
['by'] = { | ['by'] = { | ||
nDates = 1, | nDates = 1, | ||
ar=' | ar='بحلول $date1', | ||
['be-tarask']={'да $date1', case={'gen',''}}, | ['be-tarask']={'да $date1', case={'gen',''}}, | ||
bn='$date1 কর্তৃক', | bn='$date1 কর্তৃক', | ||
Line 441: | Line 475: | ||
['until'] = { | ['until'] = { | ||
nDates = 1, | nDates = 1, | ||
ar = 'حتى $date1', | |||
['be-tarask']={'усутыч да $date1', case={'gen',''}}, | ['be-tarask']={'усутыч да $date1', case={'gen',''}}, | ||
bn='$date1 পর্যন্ত', | bn='$date1 পর্যন্ত', | ||
Line 686: | Line 721: | ||
['circa'] = { | ['circa'] = { | ||
nDates = 1, | nDates = 1, | ||
ar=' | ar='قرابة $date1', | ||
['be-tarask']={'каля $date1', case={'gen',''}}, | ['be-tarask']={'каля $date1', case={'gen',''}}, | ||
bn='প্রায় $date1', | bn='প্রায় $date1', | ||
ca='cap a $date1', | |||
ckb='بەنزیکی $date1', | ckb='بەنزیکی $date1', | ||
cs='cca $date1', | cs='cca $date1', | ||
da='ca. $date1', | da='ca. $date1', | ||
de='etwa $date1', | de='etwa $date1', | ||
el='περ. $date1', | el='περ. $date1', | ||
en=' | en='circa $date1', | ||
['en-gb']='circa $date1', | ['en-gb']='circa $date1', | ||
['en-ca']='circa $date1', | ['en-ca']='circa $date1', | ||
Line 750: | Line 785: | ||
probably = { -- see Q56644435 | probably = { -- see Q56644435 | ||
nDates = 1, | nDates = 1, | ||
ar = 'يُحتمل في $date', | |||
ast = 'probablemente $date1', | ast = 'probablemente $date1', | ||
bn = 'সম্ভবত $date1', | bn = 'সম্ভবত $date1', | ||
Line 780: | Line 816: | ||
possibly = { -- see Q30230067 | possibly = { -- see Q30230067 | ||
nDates = 1, | nDates = 1, | ||
ar = 'يُمكن في $date1', | |||
ast = 'posiblemente $date1', | ast = 'posiblemente $date1', | ||
bn = 'যথাসম্ভব $date1', | bn = 'যথাসম্ভব $date1', | ||
Line 824: | Line 861: | ||
['year unknown']= { | ['year unknown']= { | ||
nDates = 0, | nDates = 0, | ||
ar = 'سنة غير معلومة', | |||
['be-tarask']='Год невядомы', | ['be-tarask']='Год невядомы', | ||
bn='অজানা বছর', | bn='অজানা বছর', | ||
ca='Any desconegut', | |||
ckb='ساڵی نەزاندراو', | ckb='ساڵی نەزاندراو', | ||
cs='neznámý rok', | cs='neznámý rok', | ||
Line 970: | Line 1,008: | ||
['1quarter']= { | ['1quarter']= { | ||
nDates = 1, | nDates = 1, | ||
ar = ' الربع الأول من $date1', | |||
bn='$date1-এর প্রথম ত্রৈমাসিক', | bn='$date1-এর প্রথম ত্রৈমাসিক', | ||
['be-tarask']={'першая чвэрць $date1', case={'gen',''}}, | ['be-tarask']={'першая чвэрць $date1', case={'gen',''}}, | ||
Line 993: | Line 1,032: | ||
nn='fyrste kvartalet av $date1', | nn='fyrste kvartalet av $date1', | ||
no='første kvartal av $date1', | no='første kvartal av $date1', | ||
pl={'pierwsza ćwiartka $date1', case={'gen',''}}, | --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',''}}, | |||
qu='$date1 ñawpaq ñiqin tawa phatmanpi', | qu='$date1 ñawpaq ñiqin tawa phatmanpi', | ||
ru={'первая четверть $date1', case={'gen',''}}, | ru={'первая четверть $date1', case={'gen',''}}, | ||
Line 1,010: | Line 1,058: | ||
['2quarter']= { | ['2quarter']= { | ||
nDates = 1, | nDates = 1, | ||
ar = 'الربع الثاني من $date1', | |||
['be-tarask']={'другая чвэрць $date1', case={'gen',''}}, | ['be-tarask']={'другая чвэрць $date1', case={'gen',''}}, | ||
bn='$date1-এর দ্বিতীয় ত্রৈমাসিক', | bn='$date1-এর দ্বিতীয় ত্রৈমাসিক', | ||
Line 1,033: | Line 1,082: | ||
nn='andre kvartalet av $date1', | nn='andre kvartalet av $date1', | ||
no='andre kvartal av $date1', | no='andre kvartal av $date1', | ||
pl={'druga ćwiartka $date1', case={'gen',''}}, | --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',''}}, | |||
qu='$date1 iskay ñiqin tawa phatmanpi', | qu='$date1 iskay ñiqin tawa phatmanpi', | ||
ru={'вторая четверть $date1', case={'gen',''}}, | ru={'вторая четверть $date1', case={'gen',''}}, | ||
Line 1,049: | Line 1,107: | ||
['3quarter']= { | ['3quarter']= { | ||
nDates = 1, | nDates = 1, | ||
ar = 'الربع الثالث من $date1', | |||
['be-tarask']={'трэцяя чвэрць $date1', case={'gen',''}}, | ['be-tarask']={'трэцяя чвэрць $date1', case={'gen',''}}, | ||
bn='$date1-এর তৃতীয় ত্রৈমাসিক', | bn='$date1-এর তৃতীয় ত্রৈমাসিক', | ||
Line 1,072: | Line 1,131: | ||
nn='tredje kvartalet av $date1', | nn='tredje kvartalet av $date1', | ||
no='tredje kvartal av $date1', | no='tredje kvartal av $date1', | ||
pl={'trzecia ćwiartka $date1', case={'gen',''}}, | --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',''}}, | |||
qu='$date1 kimsa ñiqin tawa phatmanpi', | qu='$date1 kimsa ñiqin tawa phatmanpi', | ||
sk={'3. štvrtina $date1', case={'gen',''}}, | sk={'3. štvrtina $date1', case={'gen',''}}, | ||
Line 1,088: | Line 1,156: | ||
['4quarter']= { | ['4quarter']= { | ||
nDates = 1, | nDates = 1, | ||
ar = 'الربع الرابع من $date1', | |||
['be-tarask']={'чацьвёртая чвэрць $date1', case={'gen',''}}, | ['be-tarask']={'чацьвёртая чвэрць $date1', case={'gen',''}}, | ||
bn='$date1-এর চতুর্থ ত্রৈমাসিক', | bn='$date1-এর চতুর্থ ত্রৈমাসিক', | ||
Line 1,104: | Line 1,173: | ||
hsb={'poslednja štwórćina $date1', case={'gen',''}}, | hsb={'poslednja štwórćina $date1', case={'gen',''}}, | ||
hr='četvrta četvrtina $date1', | hr='četvrta četvrtina $date1', | ||
it=' | it='ultimo quarto del $date1', | ||
ja='$date1第4四半期', | ja='$date1第4四半期', | ||
ml='$date1 നാലാം ത്രൈമാസം', | ml='$date1 നാലാം ത്രൈമാസം', | ||
Line 1,111: | Line 1,180: | ||
nn='tredje kvartalet av $date1', | nn='tredje kvartalet av $date1', | ||
no='fjerde kvartal av $date1', | no='fjerde kvartal av $date1', | ||
pl={'czwarta ćwiartka $date1', case={'gen',''}}, | --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',''}}, | |||
qu='$date1 qhipaq ñiqin tawa phatmanpi', | qu='$date1 qhipaq ñiqin tawa phatmanpi', | ||
ru={'последняя четверть $date1', case={'gen',''}}, | ru={'последняя четверть $date1', case={'gen',''}}, | ||
Line 1,325: | Line 1,403: | ||
['decade'] = { | ['decade'] = { | ||
nDates = 1, | nDates = 1, | ||
ar=' | ar = 'عقد $date1', | ||
['be-tarask']='$date1-я гады', | ['be-tarask']='$date1-я гады', | ||
bn='$date1-এর দশক', | bn='$date1-এর দশক', | ||
Line 1,347: | Line 1,425: | ||
hr='$date1-ih', | hr='$date1-ih', | ||
hsb='$date1te lěta', | hsb='$date1te lěta', | ||
hu=' | 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.}}", | 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年代', | ja='$date1年代', | ||
Line 1,435: | Line 1,527: | ||
['millennium'] = { | ['millennium'] = { | ||
nDates = 1, | nDates = 1, | ||
ar = 'الألفية $date1', | |||
['be-tarask']=function(date1, state) return Ordinal(date1, 'be-tarask') .. ' тысячагодзьдзе' end, | ['be-tarask']=function(date1, state) return Ordinal(date1, 'be-tarask') .. ' тысячагодзьдзе' end, | ||
bn=function(date1, state) return Ordinal(date1, 'bn') .. ' সহস্রাব্দ' end, | bn=function(date1, state) return Ordinal(date1, 'bn') .. ' সহস্রাব্দ' end, | ||
Line 1,581: | Line 1,674: | ||
['be-tarask']='канец $date1-х — пачатак $date2-х гг.', | ['be-tarask']='канец $date1-х — пачатак $date2-х гг.', | ||
bn='$date1-এর দশকের শেষে এবং $date2-এর দশকের শুরুতে', | bn='$date1-এর দশকের শেষে এবং $date2-এর দশকের শুরুতে', | ||
ckb='کۆتایییەکانی $date1 و سەرەتاکانی $date2', | |||
cs=function(date1, date2, state) | cs=function(date1, date2, state) | ||
local decade1 = math.floor((date1 % 100) / 10) | local decade1 = math.floor((date1 % 100) / 10) | ||
Line 1,597: | Line 1,691: | ||
end, | end, | ||
de='späte $date1er und frühe $date2er', | de='späte $date1er und frühe $date2er', | ||
en='late $date1s and early $date2s', | en='late $date1s and early $date2s', | ||
['en-gb']='late $date1s and early $date2s', | ['en-gb']='late $date1s and early $date2s', | ||
Line 1,696: | Line 1,789: | ||
['circa2'] = { | ['circa2'] = { | ||
nDates = 2, | nDates = 2, | ||
ar=' | ar='بين $date1 – $date2', | ||
['be-tarask']={'прыкладна з $date1 да прыкладна $date2', case={'gen','gen'}}, | ['be-tarask']={'прыкладна з $date1 да прыкладна $date2', case={'gen','gen'}}, | ||
bn='প্রায় $date1 এবং প্রায় $date2-এর মাঝামাঝি', | bn='প্রায় $date1 এবং প্রায় $date2-এর মাঝামাঝি', | ||
Line 1,705: | Line 1,798: | ||
de='etwa $date1 bis $date2', | de='etwa $date1 bis $date2', | ||
el='περίπου μεταξύ $date1 και $date2', | el='περίπου μεταξύ $date1 και $date2', | ||
en='between | en='between circa $date1 and circa $date2', | ||
['en-gb']='between circa $date1 and circa $date2', | ['en-gb']='between circa $date1 and circa $date2', | ||
['en-ca']='between circa $date1 and circa $date2', | ['en-ca']='between circa $date1 and circa $date2', |