<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="he">
	<id>https://text.chabadpedia.com/index.php?action=history&amp;feed=atom&amp;title=%D7%99%D7%97%D7%99%D7%93%D7%94%3A%D7%92%D7%99%D7%9C_%D7%9C%D7%A2%D7%A8%D7%9B%D7%99_%D7%90%D7%99%D7%A9%D7%99%D7%9D</id>
	<title>יחידה:גיל לערכי אישים - היסטוריית גרסאות</title>
	<link rel="self" type="application/atom+xml" href="https://text.chabadpedia.com/index.php?action=history&amp;feed=atom&amp;title=%D7%99%D7%97%D7%99%D7%93%D7%94%3A%D7%92%D7%99%D7%9C_%D7%9C%D7%A2%D7%A8%D7%9B%D7%99_%D7%90%D7%99%D7%A9%D7%99%D7%9D"/>
	<link rel="alternate" type="text/html" href="https://text.chabadpedia.com/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%92%D7%99%D7%9C_%D7%9C%D7%A2%D7%A8%D7%9B%D7%99_%D7%90%D7%99%D7%A9%D7%99%D7%9D&amp;action=history"/>
	<updated>2026-05-11T06:50:51Z</updated>
	<subtitle>היסטוריית הגרסאות של הדף הזה בוויקי</subtitle>
	<generator>MediaWiki 1.40.3</generator>
	<entry>
		<id>https://text.chabadpedia.com/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%92%D7%99%D7%9C_%D7%9C%D7%A2%D7%A8%D7%9B%D7%99_%D7%90%D7%99%D7%A9%D7%99%D7%9D&amp;diff=23737&amp;oldid=prev</id>
		<title>מ. רובין: גרסה אחת יובאה</title>
		<link rel="alternate" type="text/html" href="https://text.chabadpedia.com/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%92%D7%99%D7%9C_%D7%9C%D7%A2%D7%A8%D7%9B%D7%99_%D7%90%D7%99%D7%A9%D7%99%D7%9D&amp;diff=23737&amp;oldid=prev"/>
		<updated>2025-09-07T08:02:29Z</updated>

		<summary type="html">&lt;p&gt;גרסה אחת יובאה&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;he&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;→ הגרסה הקודמת&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;גרסה מ־11:02, 7 בספטמבר 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;he&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(אין הבדלים)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>מ. רובין</name></author>
	</entry>
	<entry>
		<id>https://text.chabadpedia.com/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%92%D7%99%D7%9C_%D7%9C%D7%A2%D7%A8%D7%9B%D7%99_%D7%90%D7%99%D7%A9%D7%99%D7%9D&amp;diff=23736&amp;oldid=prev</id>
		<title>ויקיטקסט&gt;Effib: משמש תבנית סופר</title>
		<link rel="alternate" type="text/html" href="https://text.chabadpedia.com/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%92%D7%99%D7%9C_%D7%9C%D7%A2%D7%A8%D7%9B%D7%99_%D7%90%D7%99%D7%A9%D7%99%D7%9D&amp;diff=23736&amp;oldid=prev"/>
		<updated>2022-05-12T11:05:13Z</updated>

		<summary type="html">&lt;p&gt;משמש תבנית סופר&lt;/p&gt;
&lt;p&gt;&lt;b&gt;דף חדש&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local dateParser = require( &amp;quot;Module:תאריך&amp;quot; )&lt;br /&gt;
local Arguments = require( &amp;quot;Module:Arguments&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
local Errors = {&lt;br /&gt;
	[&amp;#039;future-date&amp;#039;] = &amp;#039;[[קטגוריה:תאריכי חיים לא נכונים]]&amp;#039;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function ToDate(frame, Date, ApproxDate)&lt;br /&gt;
	local isValidDate, res = pcall(dateParser.newFromWikitext, Date)&lt;br /&gt;
	local errors = &amp;#039;&amp;#039;&lt;br /&gt;
	if isValidDate and dateParser.age(res).year&amp;lt;0 then&lt;br /&gt;
		-- date is in the future&lt;br /&gt;
		isValidDate = false&lt;br /&gt;
		local title = mw.title.getCurrentTitle()&lt;br /&gt;
		if title.namespace==0 then&lt;br /&gt;
			errors = Errors[&amp;#039;future-date&amp;#039;]&lt;br /&gt;
		else&lt;br /&gt;
			errors = &amp;#039;&amp;lt;!--&amp;#039; .. Errors[&amp;#039;future-date&amp;#039;] .. &amp;#039;--&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	elseif not isValidDate or res.precision &amp;lt; dateParser.PRECISION.YEAR then&lt;br /&gt;
		-- date is either invalid or is imprecise&lt;br /&gt;
		isValidDate = false -- mark as invalid anyway, even if &amp;quot;only&amp;quot; imprecise&lt;br /&gt;
		errors = frame:expandTemplate{ title = &amp;#039;גיל לערכי אישים/בעיה&amp;#039;, args = { &lt;br /&gt;
			[&amp;#039;מקורב&amp;#039;]=ApproxDate,&lt;br /&gt;
			[&amp;#039;נוסף&amp;#039;]=Date,&lt;br /&gt;
			[&amp;#039;מחרוזת&amp;#039;]=Date&lt;br /&gt;
			} }&lt;br /&gt;
	end&lt;br /&gt;
	return isValidDate, res, errors&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function consistentWithWikidata(localDate, wikidataClaim)&lt;br /&gt;
	local possibleDate, possibleDateValue, isConsistent&lt;br /&gt;
	if not  wikidataClaim then&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
	isConsistent = true&lt;br /&gt;
	for i,possibleDate in ipairs(wikidataClaim) do&lt;br /&gt;
		if possibleDate.mainsnak and possibleDate.mainsnak.datavalue and possibleDate.mainsnak.datavalue.value then&lt;br /&gt;
			possibleDateValue = possibleDate.mainsnak.datavalue.value&lt;br /&gt;
			local iswikidataValid, wikidataDate = pcall(dateParser.newFromWikidataValue, possibleDateValue)&lt;br /&gt;
			if iswikidataValid and localDate.calendar == wikidataDate.calendar then&lt;br /&gt;
				if (localDate.year ~= wikidataDate.year and possibleDateValue.precision&amp;gt;=dateParser.PRECISION.YEAR) or &lt;br /&gt;
				   (localDate.month ~= wikidataDate.month and possibleDateValue.precision&amp;gt;=dateParser.PRECISION.MONTH) or &lt;br /&gt;
				   (localDate.day ~= wikidataDate.day and possibleDateValue.precision&amp;gt;=dateParser.PRECISION.DAY)  then&lt;br /&gt;
					isConsistent = false&lt;br /&gt;
				else&lt;br /&gt;
					isConsistent = true&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
	 		end&lt;br /&gt;
 		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
 	return isConsistent&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function ageCalcFromFrame(frame)&lt;br /&gt;
	local args = Arguments.getArgs(frame, { [&amp;#039;trim&amp;#039;] = true, [&amp;#039;removeBlanks&amp;#039;] = true })&lt;br /&gt;
	--local age_string = args[&amp;#039;מציין&amp;#039;]&lt;br /&gt;
	local BirthDateStr = args[&amp;#039;תאריך לידה&amp;#039;]&lt;br /&gt;
	local DeathDateStr = args[&amp;#039;תאריך פטירה&amp;#039;]&lt;br /&gt;
	local DisplayForAlive = args[&amp;#039;הצג אם בחיים&amp;#039;]&lt;br /&gt;
	local DisplayForDead = args[&amp;#039;הצג אם נפטר&amp;#039;]&lt;br /&gt;
	local Brackets = args[&amp;#039;סוגריים&amp;#039;]&lt;br /&gt;
	local ApproxDate = args[&amp;#039;מקורב&amp;#039;]&lt;br /&gt;
	&lt;br /&gt;
	DisplayForAlive = (DisplayForAlive==&amp;#039;כן&amp;#039;)&lt;br /&gt;
	DisplayForDead = (DisplayForDead==&amp;#039;כן&amp;#039;)&lt;br /&gt;
	Brackets = (Brackets~=&amp;#039;לא&amp;#039;)&lt;br /&gt;
	return ageCalc(BirthDateStr, DeathDateStr, DisplayForAlive, DisplayForDead, Brackets, ApproxDate)&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
function ageCalc(BirthDateStr, DeathDateStr, DisplayForAlive, DisplayForDead, Brackets, ApproxDate, gender)&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	local warnings = {}&lt;br /&gt;
	local dateRangeStr&lt;br /&gt;
	local wikidataBirth, wikidataDeath&lt;br /&gt;
	if BirthDateStr == &amp;#039;&amp;#039; then BirthDateStr = nil end&lt;br /&gt;
	if DeathDateStr == &amp;#039;&amp;#039; then DeathDateStr = nil end	&lt;br /&gt;
	local entityId = mw.wikibase.getEntityIdForCurrentPage()&lt;br /&gt;
	wikidataBirth = entityId and mw.wikibase.getBestStatements( entityId, &amp;#039;P569&amp;#039; )&lt;br /&gt;
	wikidataDeath = entityId and wikidataBirth and mw.wikibase.getBestStatements( entityId, &amp;#039;P570&amp;#039; )&lt;br /&gt;
&lt;br /&gt;
	BirthDateStr = BirthDateStr or ((wikidataBirth and #wikidataBirth&amp;gt;0 and mw.wikibase.renderSnak( wikidataBirth[1].mainsnak ) or nil))&lt;br /&gt;
	-- validate dates are valid&lt;br /&gt;
	if not BirthDateStr then&lt;br /&gt;
		return -- missing date, nothing to do&lt;br /&gt;
	end&lt;br /&gt;
	DeathDateStr = DeathDateStr or ((wikidataDeath and #wikidataDeath&amp;gt;0 and mw.wikibase.renderSnak( wikidataDeath[1].mainsnak ) or nil))&lt;br /&gt;
	if DeathDateStr ==&amp;#039;&amp;#039; then DeathDateStr = nil end&lt;br /&gt;
	local IsDead = (DeathDateStr~=nil)&lt;br /&gt;
	&lt;br /&gt;
	-- early termination&lt;br /&gt;
	if (DisplayForDead~=IsDead) and (DisplayForAlive==IsDead) then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local isValidDate, BirthDate, errDate = ToDate(frame, BirthDateStr, ApproxDate)&lt;br /&gt;
	if not isValidDate  then&lt;br /&gt;
		return errDate&lt;br /&gt;
	end&lt;br /&gt;
	if wikidataBirth and wikidataBirth[1] and wikidataBirth[1].mainsnak  then&lt;br /&gt;
		if not consistentWithWikidata(BirthDate, wikidataBirth) then&lt;br /&gt;
				table.insert(warnings, &amp;#039;[[קטגוריה:דפים עם שנות חיים שלא תואמים את ויקינתונים]]&amp;#039;)&lt;br /&gt;
		 end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- skip age calculation if we dont have enough precision&lt;br /&gt;
	if BirthDate.precision &amp;lt; dateParser.PRECISION.YEAR then return nil end&lt;br /&gt;
	&lt;br /&gt;
	local DeathDate&lt;br /&gt;
	if IsDead then &lt;br /&gt;
		isValidDate, DeathDate, errDate =  ToDate(frame, DeathDateStr, ApproxDate)&lt;br /&gt;
		if not isValidDate then&lt;br /&gt;
			return errDate-- invalid death date&lt;br /&gt;
		end&lt;br /&gt;
	&lt;br /&gt;
		if not consistentWithWikidata(DeathDate, wikidataDeath) then&lt;br /&gt;
				table.insert(warnings, &amp;#039;[[קטגוריה:דפים עם שנות חיים שלא תואמים את ויקינתונים]]&amp;#039;)&lt;br /&gt;
		 end&lt;br /&gt;
		prefix = &amp;#039;בגיל &amp;#039; &lt;br /&gt;
		&lt;br /&gt;
	else&lt;br /&gt;
		if gender == nil and entityId~=nil then&lt;br /&gt;
			local PropertyLink = require(&amp;#039;Module:PropertyLink&amp;#039;)&lt;br /&gt;
			gender = PropertyLink.getItem( &amp;#039;P21&amp;#039;, entityId )&lt;br /&gt;
			if (gender == &amp;quot;Q6581097&amp;quot;) then		-- male&lt;br /&gt;
				gender = &amp;#039;זכר&amp;#039;&lt;br /&gt;
			elseif (gender == &amp;quot;Q2449503&amp;quot;) then	-- transgender male&lt;br /&gt;
				gender = &amp;#039;זכר&amp;#039;&lt;br /&gt;
			elseif (gender == &amp;quot;Q15145778&amp;quot;) then	-- cisgender male&lt;br /&gt;
				gender = &amp;#039;זכר&amp;#039;&lt;br /&gt;
			elseif (gender == &amp;quot;Q6581072&amp;quot;) then	-- female&lt;br /&gt;
				gender = &amp;#039;נקבה&amp;#039;&lt;br /&gt;
			elseif (gender == &amp;quot;Q1052281&amp;quot;) then	-- transgender female&lt;br /&gt;
				gender = &amp;#039;נקבה&amp;#039;&lt;br /&gt;
			elseif (gender == &amp;quot;Q15145779&amp;quot;) then	-- cisgender female&lt;br /&gt;
				gender = &amp;#039;נקבה&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		prefix = &amp;#039;גיל:&amp;amp;nbsp;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
		if gender == &amp;#039;נקבה&amp;#039; then&lt;br /&gt;
			prefix = &amp;#039;בת&amp;amp;nbsp;&amp;#039;&lt;br /&gt;
		elseif gender == &amp;#039;זכר&amp;#039; then&lt;br /&gt;
			prefix = &amp;#039;בן&amp;amp;nbsp;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- skip age calculation if we dont have enough precision&lt;br /&gt;
	if DeathDate and DeathDate.precision and DeathDate.precision &amp;lt; dateParser.PRECISION.YEAR then return nil end&lt;br /&gt;
	&lt;br /&gt;
	local success, Age	 = pcall(dateParser.age, BirthDate , DeathDate)&lt;br /&gt;
	&lt;br /&gt;
	if success then&lt;br /&gt;
	AgeYears = Age.year&lt;br /&gt;
		if Age.year &amp;lt;= 0 then&lt;br /&gt;
			if Age.month == 1 then&lt;br /&gt;
				result = prefix..&amp;#039;חודש&amp;#039;&lt;br /&gt;
			elseif Age.month == 2 then&lt;br /&gt;
				result  = prefix..&amp;#039;חודשיים&amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				result = prefix..tostring(Age.month)..&amp;#039; חודשים&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			if Age.day &amp;gt; 0 then&lt;br /&gt;
				if Age.day == 1 then&lt;br /&gt;
					result = result..&amp;#039; ויום&amp;#039;&lt;br /&gt;
				elseif Age.day == 2 then&lt;br /&gt;
					result = result..&amp;#039; ויומיים&amp;#039;&lt;br /&gt;
				else&lt;br /&gt;
					result = result..&amp;#039;  ו־&amp;#039;..tostring(Age.day)..&amp;#039; ימים&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		elseif Age.year &amp;lt; 3 then&lt;br /&gt;
			if Age.year == 1 then&lt;br /&gt;
				result = prefix..&amp;#039;שנה&amp;#039;&lt;br /&gt;
			elseif Age.year == 2 then&lt;br /&gt;
				result = prefix..&amp;#039;שנתיים&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			if Age.month == 0 then&lt;br /&gt;
				if Age.day &amp;gt; 0 then&lt;br /&gt;
					if Age.day == 1 then&lt;br /&gt;
						result = result..&amp;#039; ויום&amp;#039;&lt;br /&gt;
					elseif Age.day == 2 then&lt;br /&gt;
						result = result..&amp;#039; ויומיים&amp;#039;&lt;br /&gt;
					else&lt;br /&gt;
						result = result..&amp;#039;  ו־&amp;#039;..tostring(Age.day)..&amp;#039; ימים&amp;#039;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			elseif Age.month == 1 then&lt;br /&gt;
				result = result..&amp;#039; וחודש&amp;#039;&lt;br /&gt;
			elseif Age.month == 2 then&lt;br /&gt;
				result  = result..&amp;#039; וחודשיים&amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				result = result..&amp;#039; ו־&amp;#039;..tostring(Age.month)..&amp;#039; חודשים&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			result = prefix..tostring(Age.year)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		&lt;br /&gt;
		if BirthDate.precision &amp;lt; dateParser.PRECISION.MONTH or (DeathDate and DeathDate.precision &amp;lt; dateParser.PRECISION.MONTH) then&lt;br /&gt;
			result = result .. &amp;#039; בערך&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- ignore warning in specific template&lt;br /&gt;
		local noAgeWarning = false&lt;br /&gt;
		if mw.getCurrentFrame():getParent():getTitle() == &amp;#039;תבנית:אישיות תנ&amp;quot;כית&amp;#039; then&lt;br /&gt;
			noAgeWarning = true&lt;br /&gt;
		end&lt;br /&gt;
		local title = mw.title.getCurrentTitle()&lt;br /&gt;
		-- ignore warning in other namespace except the main NS&lt;br /&gt;
		if title.namespace==0 and not noAgeWarning then&lt;br /&gt;
			if AgeYears &amp;gt; 139 then &lt;br /&gt;
				table.insert(warnings, Errors[&amp;#039;future-date&amp;#039;])&lt;br /&gt;
			elseif AgeYears&amp;gt;109 then &lt;br /&gt;
				table.insert(warnings, &amp;#039;[[קטגוריה:אישים שהגיעו לגיל 110]]&amp;#039;)&lt;br /&gt;
			elseif AgeYears&amp;gt;99 then&lt;br /&gt;
				table.insert(warnings, &amp;#039;[[קטגוריה:אישים שהגיעו לגיל מאה]]&amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		result = &amp;#039;?&amp;#039; .. frame:expandTemplate{ title = &amp;#039;גיל לערכי אישים/בעיה&amp;#039;, args = { &lt;br /&gt;
			[&amp;#039;מקורב&amp;#039;]=ApproxDate,&lt;br /&gt;
			[&amp;#039;נוסף&amp;#039;]=DeathDate,&lt;br /&gt;
			[&amp;#039;מחרוזת&amp;#039;]=dateRangeStr&lt;br /&gt;
			} }&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	warnings = table.concat( warnings, &amp;#039;&amp;#039;)&lt;br /&gt;
	if #warnings &amp;gt; 0 then&lt;br /&gt;
		warnings = string.format(&amp;#039;%s &amp;#039;, warnings)&lt;br /&gt;
	end&lt;br /&gt;
	if Brackets then&lt;br /&gt;
		result = string.format(&amp;#039; (%s)&amp;#039;, result)&lt;br /&gt;
	end&lt;br /&gt;
	return string.format(&amp;#039;%s&amp;lt;span style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;#039;, warnings, result)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	[&amp;#039;גיל&amp;#039;] = ageCalcFromFrame,&lt;br /&gt;
	ageCalc = ageCalc&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>ויקיטקסט&gt;Effib</name></author>
	</entry>
</feed>