<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="az">
	<id>https://wiki.anas.az/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Modul%3AWikidata%2Fnumber</id>
	<title>Modul:Wikidata/number - Redaktə tarixçəsi</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.anas.az/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Modul%3AWikidata%2Fnumber"/>
	<link rel="alternate" type="text/html" href="https://wiki.anas.az/mediawiki/index.php?title=Modul:Wikidata/number&amp;action=history"/>
	<updated>2026-05-10T01:44:35Z</updated>
	<subtitle>Vikidə bu səhifənin dəyişikliklər tarixçəsi</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.anas.az/mediawiki/index.php?title=Modul:Wikidata/number&amp;diff=161&amp;oldid=prev</id>
		<title>imported&gt;Toghrul R 09:15, 4 mart 2026-də</title>
		<link rel="alternate" type="text/html" href="https://wiki.anas.az/mediawiki/index.php?title=Modul:Wikidata/number&amp;diff=161&amp;oldid=prev"/>
		<updated>2026-03-04T09:15:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Yeni səhifə&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.formatVisualMagnitude ( context, options )&lt;br /&gt;
	if ( not context ) then error( &amp;#039;context not specified&amp;#039; ); end;&lt;br /&gt;
	if ( not options ) then error( &amp;#039;options not specified&amp;#039; ); end;&lt;br /&gt;
	&lt;br /&gt;
	min = context.selectClaims( options, &amp;#039;P1215[P1227:Q76596947][rank:normal,rank:preferred]&amp;#039; )&lt;br /&gt;
	max = context.selectClaims( options, &amp;#039;P1215[P1227:Q76596417][rank:normal,rank:preferred]&amp;#039; )&lt;br /&gt;
	if ( not min or not max) then &lt;br /&gt;
		return context.formatPropertyDefault( context, options )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local lang = mw.language.getContentLanguage();&lt;br /&gt;
	for _, claim1 in ipairs(min) do&lt;br /&gt;
		for _, claim2 in ipairs(max) do&lt;br /&gt;
			return	lang:formatNum(tonumber(claim1.mainsnak.datavalue.value.amount))&lt;br /&gt;
					.. &amp;#039; − &amp;#039; .. &lt;br /&gt;
					lang:formatNum(tonumber(claim2.mainsnak.datavalue.value.amount)) &lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
function p.formatColorIndex( context, options )&lt;br /&gt;
	if ( not context ) then error( &amp;#039;context not specified&amp;#039; ); end;&lt;br /&gt;
	if ( not options ) then error( &amp;#039;options not specified&amp;#039; ); end;&lt;br /&gt;
	&lt;br /&gt;
	if ( options.property ) then &lt;br /&gt;
		claims = context.selectClaims( options, options.property .. &amp;#039;[rank:normal,rank:preferred]&amp;#039; );&lt;br /&gt;
	end&lt;br /&gt;
	if ( claims ) then&lt;br /&gt;
		return context.formatPropertyDefault( context, options )&lt;br /&gt;
	end&lt;br /&gt;
	b = context.selectClaims( options, &amp;#039;P1215[P1227:Q6746395][rank:normal,rank:preferred]&amp;#039; )&lt;br /&gt;
	if ( not b ) then return end&lt;br /&gt;
	if string.find( options.property, &amp;#039;Q17773035&amp;#039; ) then&lt;br /&gt;
		m1 = context.selectClaims( options, &amp;#039;P1215[P1227:Q15977921][rank:normal,rank:preferred]&amp;#039; )&lt;br /&gt;
		m2 = b&lt;br /&gt;
		if ( not m1 ) then return end&lt;br /&gt;
	else&lt;br /&gt;
		m1 = b&lt;br /&gt;
		m2 = context.selectClaims( options, &amp;#039;P1215[P1227:Q4892529][rank:normal,rank:preferred]&amp;#039; )&lt;br /&gt;
		if ( not m2 ) then return end&lt;br /&gt;
	end&lt;br /&gt;
	for _, claim1 in ipairs(m1) do&lt;br /&gt;
		for _, claim2 in ipairs(m2) do&lt;br /&gt;
			newClaim = { mainsnak = { snaktype = &amp;#039;value&amp;#039;, datavalue = { type = &amp;#039;quantity&amp;#039;, &lt;br /&gt;
				value = { unit = &amp;#039;1&amp;#039;, amount = claim1.mainsnak.datavalue.value.amount - &lt;br /&gt;
				claim2.mainsnak.datavalue.value.amount }}}}&lt;br /&gt;
			return context.formatStatementDefault( context, options, newClaim )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.formatPropertyWithMostRecentClaimAndIndicator( context, options )&lt;br /&gt;
	if ( not context ) then error( &amp;#039;context not specified&amp;#039; ); end;&lt;br /&gt;
	if ( not options ) then error( &amp;#039;options not specified&amp;#039; ); end;&lt;br /&gt;
	if ( not options.entity ) then error( &amp;#039;options.entity missing&amp;#039; ); end;&lt;br /&gt;
&lt;br /&gt;
	local claims;&lt;br /&gt;
	if options.property then &lt;br /&gt;
		claims = context.selectClaims( options, options.property .. &amp;#039;[rank:preferred, rank:normal]&amp;#039; );&lt;br /&gt;
	end&lt;br /&gt;
	if claims == nil then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local maxTimestamp = nil;&lt;br /&gt;
	local mostRecentClaim;&lt;br /&gt;
	for i, claim in ipairs(claims) do&lt;br /&gt;
		local qualifierSnak = nil;&lt;br /&gt;
		if claim.qualifiers then&lt;br /&gt;
			if claim.qualifiers.P585 then&lt;br /&gt;
				qualifierSnak = claim.qualifiers.P585[1];&lt;br /&gt;
			elseif claim.qualifiers.P580 then&lt;br /&gt;
				qualifierSnak = claim.qualifiers.P580[1];&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if qualifierSnak then&lt;br /&gt;
			local timestamp = context.parseTimeFromSnak( qualifierSnak );&lt;br /&gt;
			if timestamp ~= nil and ( maxTimestamp == nil or maxTimestamp &amp;lt; timestamp ) then&lt;br /&gt;
				maxTimestamp = timestamp;&lt;br /&gt;
				mostRecentClaim = claim&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if (not mostRecentClaim) then &lt;br /&gt;
		return context.formatPropertyDefault( context, options )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local out = context.formatStatement( options, mostRecentClaim )&lt;br /&gt;
	if out ~= nil and out ~= &amp;#039;&amp;#039; then&lt;br /&gt;
	    local secondMostRecentTimestamp = 0;&lt;br /&gt;
	    local secondMostRecentValue = 0;&lt;br /&gt;
	    for i, claim in ipairs(claims) do&lt;br /&gt;
	        if (claim.qualifiers and claim.qualifiers.P585) then&lt;br /&gt;
	            local timestamp = context.parseTimeFromSnak( claim.qualifiers.P585[1] )&lt;br /&gt;
	            if (timestamp ~= nil and secondMostRecentTimestamp &amp;lt; timestamp and maxTimestamp &amp;gt; timestamp) then&lt;br /&gt;
	                secondMostRecentTimestamp = timestamp&lt;br /&gt;
	                secondMostRecentValue = tonumber( claim.mainsnak.datavalue.value.amount )&lt;br /&gt;
	            end&lt;br /&gt;
	        end&lt;br /&gt;
	    end&lt;br /&gt;
	    if options.before then&lt;br /&gt;
	        out = options.before .. out&lt;br /&gt;
	    end&lt;br /&gt;
	    if options.after then&lt;br /&gt;
	        out = out .. options.after&lt;br /&gt;
	    end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return out or &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.formatQuantityWithDateClaim( context, options, statement )&lt;br /&gt;
	local snak = context.formatSnak( options, statement.mainsnak )&lt;br /&gt;
	if not snak then return &amp;#039;&amp;#039; end&lt;br /&gt;
&lt;br /&gt;
    --Date&lt;br /&gt;
    if ( statement.qualifiers and statement.qualifiers.P585 ) then&lt;br /&gt;
        snak = snak .. &amp;#039; (&amp;#039; .. context.formatSnak( options, statement.qualifiers.P585[1] ) .. &amp;#039;)&amp;#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
	--References&lt;br /&gt;
	if ( options.references ) then&lt;br /&gt;
    	snak = snak .. context.formatRefs( options, statement );&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    return snak&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.formatDMS( context, options, value )&lt;br /&gt;
	if not value.amount then return value end&lt;br /&gt;
	if options and options.unit == &amp;#039;-&amp;#039; then return value.amount end&lt;br /&gt;
	local prefix = &amp;quot;+&amp;quot;&lt;br /&gt;
	if tonumber( value.amount ) &amp;lt; 0 then&lt;br /&gt;
		prefix = &amp;quot;−&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return p.formatAngle ( math.abs( tonumber( value.amount ) ), &lt;br /&gt;
		string.len( value.amount ) - string.find( value.amount, &amp;#039;.&amp;#039;, 1, true ) - 5,&lt;br /&gt;
		prefix .. &amp;quot;%s° %02d′ %s″&amp;quot;)&lt;br /&gt;
end &lt;br /&gt;
&lt;br /&gt;
function p.formatRA( context, options, value )&lt;br /&gt;
	if not value.amount then return value end&lt;br /&gt;
	if options and options.unit == &amp;#039;-&amp;#039; then return value.amount end&lt;br /&gt;
	return p.formatAngle (tonumber( value.amount ) / 15, &lt;br /&gt;
		string.len( value.amount ) - string.find( value.amount, &amp;#039;.&amp;#039;, 1, true ) - 4,&lt;br /&gt;
		&amp;quot;%s&amp;lt;sup&amp;gt;s&amp;lt;/sup&amp;gt; %02d&amp;lt;sup&amp;gt;d&amp;lt;/sup&amp;gt; %s&amp;lt;sup&amp;gt;s&amp;lt;/sup&amp;gt;&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.formatAngle ( angle, sig, format )&lt;br /&gt;
	local d, angle = math.modf( angle )&lt;br /&gt;
	local m, angle = math.modf( angle * 60 )&lt;br /&gt;
	local mult = 10 ^ sig;&lt;br /&gt;
	local s = math.floor( angle * 60 * mult + 0.5 ) / mult;	&lt;br /&gt;
	local lang = mw.language.getContentLanguage();&lt;br /&gt;
	return string.format( format, d, m, lang:formatNum( s ) )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Toghrul R</name></author>
	</entry>
</feed>