יחידה:תאריך עברי: הבדלים בין גרסאות בדף
אין תקציר עריכה |
מ 197 גרסאות של הדף wikipedia:he:יחידה:תאריך_עברי יובאו |
||
| (37 גרסאות ביניים של 5 משתמשים אינן מוצגות) | |||
| שורה 9: | שורה 9: | ||
} | } | ||
typomonthtable = {["חשון"] = "חשוון", ["כסליו"] = "כסלו | typomonthtable = {["חשון"] = "חשוון", ["כסליו"] = "כסלו", | ||
["חשון"] = "חשוון", ["סיון"] = "סיוון", | |||
["מרחשון"] = "חשוון", ["מרחשוון"] = "חשוון", ["מר-חשוון"] = "חשוון", | ["מרחשון"] = "חשוון", ["מרחשוון"] = "חשוון", ["מר-חשוון"] = "חשוון", | ||
["מנחם אב"] = "אב", ["מנחם-אב"] = "אב", | ["מנחם אב"] = "אב", ["מנחם-אב"] = "אב", | ||
["שבט (חודש)|שבט"] = "שבט", ["שבט (חודש)"] = "שבט"} | ["שבט (חודש)|שבט"] = "שבט", ["שבט (חודש)"] = "שבט" | ||
} | |||
lastletters = {["כ"] = "ך", ["מ"] = "ם", ["נ"] = "ן", ["פ"] = "ף", ["צ"] = "ץ"} | lastletters = {["כ"] = "ך", ["מ"] = "ם", ["נ"] = "ן", ["פ"] = "ף", ["צ"] = "ץ"} | ||
| שורה 22: | שורה 23: | ||
function find1(str, what, where) | function find1(str, what, where) | ||
return mw.ustring.find(str, what, where, true) or 0 | |||
end | end | ||
| שורה 78: | שורה 76: | ||
greg = same(greg .. " - ".. diffs .. "days") | greg = same(greg .. " - ".. diffs .. "days") | ||
checkcasp(greg) | checkcasp(greg) | ||
if makeformat then | |||
return frame:callParserFunction("#זמןמ:" .. makeformat, greg) | |||
end | |||
return format(greg) end | return format(greg) end | ||
count = count + 1 | count = count + 1 | ||
| שורה 137: | שורה 138: | ||
function same(gdate) | function same(gdate) | ||
return frame:callParserFunction("#זמןמ:d-m-Y", gdate) | return frame:callParserFunction("#זמןמ:d-m-Y", gdate) | ||
end | |||
function makeyear(gdate) | |||
local year = frame:callParserFunction("#זמןמ:Y", gdate) | |||
if tonumber(year) < 1000 and which | |||
then year = sub1(year, 2) | |||
end | |||
return year | |||
end | end | ||
function to(gdate) | function to(gdate) | ||
local year = makeyear(gdate) | |||
if frame.args["links"] == "yes" | if frame.args["links"] == "yes" | ||
then return "[[" .. frame:callParserFunction("#זמןמ:j בF", gdate) .. "]] [[" | then return "[[" .. frame:callParserFunction("#זמןמ:j בF", gdate) .. "]] [[" | ||
.. | .. year .. "]]" end | ||
return frame:callParserFunction("#זמןמ:j בF | return frame:callParserFunction("#זמןמ:j בF", gdate) .. " " .. year | ||
end | end | ||
function tomonth(gdate) | function tomonth(gdate) | ||
local year = makeyear(gdate) | |||
if frame.args["links"] == "yes" | if frame.args["links"] == "yes" | ||
then return "[[" .. frame:callParserFunction("#זמןמ:F", gdate) .. "]] [[" | then return "[[" .. frame:callParserFunction("#זמןמ:F", gdate) .. "]] [[" | ||
.. | .. year .. "]]" end | ||
return frame:callParserFunction("#זמןמ:F | return frame:callParserFunction("#זמןמ:F", gdate) .. " " .. year | ||
end | end | ||
| שורה 160: | שורה 171: | ||
function toyear(gdate) | function toyear(gdate) | ||
local year = makeyear(gdate) | |||
if frame.args["links"] == "yes" | if frame.args["links"] == "yes" | ||
then return "[[" .. | then return "[[" .. year .. "]]" end | ||
return | return year | ||
end | |||
function fixmonth(hdate) | |||
local point | |||
local max = 0 | |||
local place = 0 | |||
for m, mm in pairs(typomonthtable) do | |||
point = find1(hdate, m) | |||
if point > 0 and max < len1(m) | |||
then max = len1(m) | |||
place = m end | |||
end | |||
if max > 0 | |||
then point = find1(hdate, place) | |||
return sub1(hdate, 1, point - 1) .. typomonthtable[place] .. sub1(hdate, point + len1(place)) end | |||
return hdate | |||
end | end | ||
function fixdate(hdate) | function fixdate(hdate1) | ||
local hdate = fixmonth(hdate1) | |||
if 1 == find1(hdate, "ראש חודש") | if 1 == find1(hdate, "ראש חודש") | ||
then hdate = "א' ב" .. sub1(hdate, 10) end | then hdate = "א' ב" .. sub1(hdate, 10) end | ||
| שורה 181: | שורה 210: | ||
if (len1(h3) > 1 and sub1(h3, 2, 2) ~= "'") then | if (len1(h3) > 1 and sub1(h3, 2, 2) ~= "'") then | ||
h3 = "ה'" .. h3 end | h3 = "ה'" .. h3 end | ||
--[=[ | |||
for m, mm in pairs(typomonthtable) do | for m, mm in pairs(typomonthtable) do | ||
if h2 == "ב" .. m | if h2 == "ב" .. m | ||
then h2 = "ב" .. mm end | then h2 = "ב" .. mm end | ||
end | end | ||
]=] | |||
for y, yy in pairs(lastletters) do | for y, yy in pairs(lastletters) do | ||
if sub1(h3, len1(h3)) == y | if sub1(h3, len1(h3)) == y | ||
| שורה 290: | שורה 321: | ||
function fromhebrew1(hdate) | function fromhebrew1(hdate) | ||
local ht, rem = findhdatetype(hdate) | local ht, rem = findhdatetype(fixmonth(hdate)) | ||
if ht == "dmy" | if ht == "dmy" | ||
then return ifwhich(fromhebrewdate(rem, to)) | then return ifwhich(fromhebrewdate(rem, to)) | ||
| שורה 321: | שורה 352: | ||
function fromhebrew(f) | function fromhebrew(f) | ||
which = true | which = true | ||
return fromhebrewandverify(f) | |||
end | |||
function fromhebrewformat(f) | |||
which = true | |||
makeformat = f.args["format"] | |||
return fromhebrewandverify(f) | return fromhebrewandverify(f) | ||
end | end | ||
| שורה 326: | שורה 363: | ||
function verify(f) | function verify(f) | ||
frame = f | frame = f | ||
which = false | which = false | ||
local success, res = pcall(pick1, frame.args[1], frame.args[2], "[[קטגוריה:חוסר מתאם בין תאריך עברי לתאריך לועזי]]") | local success, res = pcall(pick1, frame.args[1], frame.args[2], "[[קטגוריה:חוסר מתאם בין תאריך עברי לתאריך לועזי]]") | ||
| שורה 459: | שורה 495: | ||
-- .. frame.args["type"] .. " לועזי מדויק]]" end | -- .. frame.args["type"] .. " לועזי מדויק]]" end | ||
return "" end | return "" end | ||
if hsuccess | if wsuccess and hsuccess | ||
then if ht == "dmy" then return hdw | then if wt == "dmy" then return wdate | ||
elseif wt == " | elseif ht == "dmy" then return hdw | ||
elseif wt == "my" then return wdate | |||
elseif ht == "my" then return hdw | elseif ht == "my" then return hdw | ||
elseif wt == " | elseif wt == "y" then return wdate | ||
else return hdw end | |||
elseif wsuccess then return wdate | |||
elseif hsuccess then return hdw | elseif hsuccess then return hdw | ||
elseif | elseif wt == "about" then return wdate | ||
else return hdate end | |||
else return | |||
end | end | ||
| שורה 480: | שורה 516: | ||
function pick(f) | function pick(f) | ||
frame = f | frame = f | ||
local hebrew = frame.args["hebrew"] | |||
local success, res = pcall(pick1, | local world = frame.args["world"] | ||
local habout = false | |||
local wabout = false | |||
if frame:expandTemplate({title = "גיל לערכי אישים/מקורב", args = {str = hebrew}}) ~= "" | |||
then hebrew = "" | |||
habout = true end | |||
if frame:expandTemplate({title = "גיל לערכי אישים/מקורב", args = {str = world}}) ~= "" | |||
then world = "" | |||
wabout = true end | |||
local success, res = pcall(pick1, hebrew, world) | |||
if success | if success | ||
then return res | then if habout and world == "" | ||
then return frame.args["hebrew"] end | |||
if wabout and hebrew == "" | |||
then return frame.args["world"] end | |||
return res | |||
elseif frame.args["error"] == nil | elseif frame.args["error"] == nil | ||
then return aserror(res) end | then return aserror(res) end | ||
| שורה 520: | שורה 569: | ||
then return ans | then return ans | ||
else return noans end | else return noans end | ||
end | end | ||
| שורה 545: | שורה 590: | ||
if 0 < find1(hdate, "אלפים") | if 0 < find1(hdate, "אלפים") | ||
then code = code + 1 end | then code = code + 1 end | ||
if 1 == find1(hdate, "אדר") | if 1 == find1(hdate, "אדר א") | ||
then code = code + 2 end | |||
if 1 == find1(hdate, "אדר ב") | |||
then code = code + 2 end | then code = code + 2 end | ||
local year, month, day = funcs[#w][code]() | local year, month, day = funcs[#w][code]() | ||
| שורה 564: | שורה 611: | ||
end | end | ||
return {fromhebrew = fromhebrew, tohebrew = tohebrew, verify = verify, pick = pick, samedate = samedate, | |||
fromhebrewformat = fromhebrewformat} | |||
return {fromhebrew = fromhebrew, tohebrew = tohebrew, verify = verify, pick = pick, samedate = samedate, | |||