<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AWikidata%2FPopulation</id>
	<title>Модуль:Wikidata/Population - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AWikidata%2FPopulation"/>
	<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata/Population&amp;action=history"/>
	<updated>2026-04-26T05:47:55Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata/Population&amp;diff=238387&amp;oldid=prev</id>
		<title>Karaby: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata/Population&amp;diff=238387&amp;oldid=prev"/>
		<updated>2025-07-27T15:36:21Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 15:36, 27 июля 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki:diff:1.41:old-238386:rev-238387 --&gt;
&lt;/table&gt;</summary>
		<author><name>Karaby</name></author>
	</entry>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata/Population&amp;diff=238386&amp;oldid=prev</id>
		<title>Буквица&gt;Putnik: сообщение о поломанных графиках уезжает под карточку — надо будет сделать нормально через стили, когда починят графики; исправление паттернов</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata/Population&amp;diff=238386&amp;oldid=prev"/>
		<updated>2024-04-02T13:10:09Z</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 WDS = require(&amp;#039;Module:WikidataSelectors&amp;#039;);&lt;br /&gt;
&lt;br /&gt;
local p = {};&lt;br /&gt;
&lt;br /&gt;
local DEFAULT_WIDTH = 500;&lt;br /&gt;
local DEFAULT_HEIGHT = 250;&lt;br /&gt;
local COLLAPSE_IF_MORE_THAN = 30;&lt;br /&gt;
&lt;br /&gt;
local TABLE_COLLAPSIBLE_HEADER = &amp;quot;Статистика численности населения с %s по %s&amp;quot;;&lt;br /&gt;
local TABLE_COLUMN_HEADER_YEAR = &amp;quot;Год&amp;quot;;&lt;br /&gt;
local TABLE_COLUMN_HEADER_POPULATION = &amp;quot;Численность&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
local function deepcopy(orig)&lt;br /&gt;
    local orig_type = type(orig)&lt;br /&gt;
    local copy&lt;br /&gt;
    if orig_type == &amp;#039;table&amp;#039; then&lt;br /&gt;
        copy = {}&lt;br /&gt;
        for orig_key, orig_value in next, orig, nil do&lt;br /&gt;
            copy[deepcopy(orig_key)] = deepcopy(orig_value)&lt;br /&gt;
        end&lt;br /&gt;
        setmetatable(copy, deepcopy(getmetatable(orig)))&lt;br /&gt;
    else -- number, string, boolean, etc&lt;br /&gt;
        copy = orig&lt;br /&gt;
    end&lt;br /&gt;
    return copy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function formatPopulationPropertyImpl( 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 = context.selectClaims( options, options.property );&lt;br /&gt;
    if (claims == nil) then&lt;br /&gt;
        return nil -- TODO error?&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local validClaims = {}&lt;br /&gt;
    for _, claim in ipairs( claims ) do&lt;br /&gt;
    	-- проверка на наличие корректного момента времени&lt;br /&gt;
    	if claim.qualifiers.P585[1] and claim.qualifiers.P585[1].snaktype == &amp;#039;value&amp;#039; then&lt;br /&gt;
    		table.insert( validClaims, claim )&lt;br /&gt;
		end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if #validClaims == 0 then&lt;br /&gt;
        return nil -- TODO error?&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
	local comparator = function( o1, o2 )&lt;br /&gt;
		local t1 = context.parseTimeFromSnak( o1.qualifiers.P585[1] )&lt;br /&gt;
		local t2 = context.parseTimeFromSnak( o2.qualifiers.P585[1] )&lt;br /&gt;
		return t1 &amp;lt; t2&lt;br /&gt;
	end&lt;br /&gt;
	table.sort( validClaims, comparator )&lt;br /&gt;
&lt;br /&gt;
	return validClaims&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- тестирование не работает&lt;br /&gt;
-- =p.formatProperty(mw.getCurrentFrame():newChild{title=&amp;quot;Модуль:Wikidata&amp;quot;,args={[&amp;quot;property-module&amp;quot;]=&amp;quot;Wikidata/Population&amp;quot;,[&amp;quot;property-function&amp;quot;]=&amp;quot;formatPopulationPropertyForGraph&amp;quot;,[&amp;quot;claim-module&amp;quot;]=&amp;quot;Wikidata/Population&amp;quot;,[&amp;quot;claim-function&amp;quot;]=&amp;quot;formatPopulationClaimForGraph&amp;quot;,[&amp;quot;property&amp;quot;]=&amp;quot;p1082[p585][rank:preferred,rank:normal]&amp;quot;,[&amp;quot;datatype&amp;quot;]=&amp;quot;quantity&amp;quot;,}}:newChild{title=&amp;quot;Модуль:Wikidata/Population&amp;quot;}:newChild{title=&amp;quot;Сереседа-де-ла-Сьерра&amp;quot;}) &lt;br /&gt;
function p.formatPopulationPropertyForGraph( context, options )&lt;br /&gt;
	local claims = formatPopulationPropertyImpl( context, options );&lt;br /&gt;
    -- Обход всех заявлений утверждения и с накоплением оформленых предпочтительных &lt;br /&gt;
    -- заявлений в таблице&lt;br /&gt;
    local formattedClaims = {}&lt;br /&gt;
    local years = {}&lt;br /&gt;
&lt;br /&gt;
	local count = 0;&lt;br /&gt;
	local csv = &amp;#039;year,month,day,population,formatted&amp;#039;;&lt;br /&gt;
	&lt;br /&gt;
	if ( not claims ) then&lt;br /&gt;
		return &amp;#039;&amp;#039;;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    for i, claim in ipairs(claims) do&lt;br /&gt;
    	-- уточняем даты: для года до середины, для месяца до 15-го числа&lt;br /&gt;
&lt;br /&gt;
    	local p585Value = claim.qualifiers.P585[1].datavalue.value;&lt;br /&gt;
    	local p585Precision = p585Value.precision;&lt;br /&gt;
    	local p585Time = p585Value.time;&lt;br /&gt;
    	if ( p585Precision == 10 ) then&lt;br /&gt;
    		-- Set 15-th day of month&lt;br /&gt;
    		p585Time = mw.ustring.gsub(p585Time, &amp;quot;-[0-9]+T&amp;quot;, &amp;quot;-15T&amp;quot;);&lt;br /&gt;
    	elseif ( p585Precision == 9 ) then&lt;br /&gt;
    		-- Set to 1-st of July&lt;br /&gt;
    		p585Time = mw.ustring.gsub(p585Time, &amp;quot;-[0-9]+-[0-9]+T&amp;quot;, &amp;quot;-07-01T&amp;quot;);&lt;br /&gt;
    	end&lt;br /&gt;
    	local year, month, day = mw.ustring.gmatch( p585Time, &amp;quot;(-?[0-9]+)-([0-9]+)-([0-9]+)T&amp;quot; )(1);&lt;br /&gt;
    	&lt;br /&gt;
		if claim.mainsnak.datavalue and not years[ year ] then&lt;br /&gt;
			years[ year ] = true;&lt;br /&gt;
&lt;br /&gt;
			local value = string.gsub( claim.mainsnak.datavalue.value.amount, &amp;#039;^%+&amp;#039;, &amp;#039;&amp;#039; )&lt;br /&gt;
			local formatted = mw.language.getContentLanguage():formatNum( tonumber( value ) );&lt;br /&gt;
			&lt;br /&gt;
			local line = year .. &amp;#039;,&amp;#039; .. month .. &amp;#039;,&amp;#039; .. day .. &amp;#039;,&amp;#039; .. value .. &amp;#039;,&amp;#039; .. formatted;&lt;br /&gt;
	    	csv = csv .. &amp;#039;\\n&amp;#039; .. line;&lt;br /&gt;
	    	count = count + 1;&lt;br /&gt;
    	end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
	if ( count == 0 ) then&lt;br /&gt;
		return &amp;#039;&amp;#039;;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local graphData = [[{&lt;br /&gt;
    &amp;quot;version&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;width&amp;quot;: ]] .. DEFAULT_WIDTH .. [[,&lt;br /&gt;
    &amp;quot;height&amp;quot;: ]] .. DEFAULT_HEIGHT .. [[,&lt;br /&gt;
    &amp;quot;data&amp;quot;: [ {&lt;br /&gt;
        &amp;quot;name&amp;quot;: &amp;quot;table&amp;quot;,&lt;br /&gt;
        &amp;quot;values&amp;quot;: &amp;quot;]] .. csv .. [[&amp;quot;,&lt;br /&gt;
        &amp;quot;format&amp;quot;: {&lt;br /&gt;
            &amp;quot;parse&amp;quot;: {&lt;br /&gt;
                &amp;quot;year&amp;quot;: &amp;quot;integer&amp;quot;,&lt;br /&gt;
                &amp;quot;month&amp;quot;: &amp;quot;integer&amp;quot;,&lt;br /&gt;
                &amp;quot;day&amp;quot;: &amp;quot;integer&amp;quot;,&lt;br /&gt;
                &amp;quot;population&amp;quot;: &amp;quot;integer&amp;quot;,&lt;br /&gt;
                &amp;quot;formatted&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
            },&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;csv&amp;quot;&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;transform&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;type&amp;quot;: &amp;quot;formula&amp;quot;,&lt;br /&gt;
                &amp;quot;field&amp;quot;: &amp;quot;date&amp;quot;,&lt;br /&gt;
                &amp;quot;expr&amp;quot;: &amp;quot;datetime(datum.year,datum.month-1,datum.day)&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    } ],&lt;br /&gt;
    &amp;quot;scales&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;x&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;time&amp;quot;,&lt;br /&gt;
            &amp;quot;range&amp;quot;: &amp;quot;width&amp;quot;,&lt;br /&gt;
            &amp;quot;nice&amp;quot;: &amp;quot;year&amp;quot;,&lt;br /&gt;
            &amp;quot;domain&amp;quot;: { &amp;quot;data&amp;quot;: &amp;quot;table&amp;quot;,  &amp;quot;field&amp;quot;: &amp;quot;date&amp;quot; }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;name&amp;quot;: &amp;quot;y&amp;quot;,&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;linear&amp;quot;,&lt;br /&gt;
            &amp;quot;range&amp;quot;: &amp;quot;height&amp;quot;,&lt;br /&gt;
            &amp;quot;domain&amp;quot;: { &amp;quot;data&amp;quot;: &amp;quot;table&amp;quot;, &amp;quot;field&amp;quot;: &amp;quot;population&amp;quot; }&lt;br /&gt;
        }&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;axes&amp;quot;: [&lt;br /&gt;
        { &amp;quot;type&amp;quot;: &amp;quot;x&amp;quot;, &amp;quot;scale&amp;quot;: &amp;quot;x&amp;quot;, &amp;quot;ticks&amp;quot;: 10 },&lt;br /&gt;
        { &amp;quot;type&amp;quot;: &amp;quot;y&amp;quot;, &amp;quot;scale&amp;quot;: &amp;quot;y&amp;quot;, &amp;quot;ticks&amp;quot;: 5, &amp;quot;grid&amp;quot;: true, &amp;quot;orient&amp;quot;: &amp;quot;right&amp;quot;, &amp;quot;format&amp;quot;: &amp;quot;d&amp;quot; }&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;marks&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;area&amp;quot;,&lt;br /&gt;
            &amp;quot;from&amp;quot;: { &amp;quot;data&amp;quot;: &amp;quot;table&amp;quot; },&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
                &amp;quot;enter&amp;quot;: {&lt;br /&gt;
                    &amp;quot;x&amp;quot;: { &amp;quot;scale&amp;quot;: &amp;quot;x&amp;quot;, &amp;quot;field&amp;quot;: &amp;quot;date&amp;quot; },&lt;br /&gt;
                    &amp;quot;y&amp;quot;: { &amp;quot;scale&amp;quot;: &amp;quot;y&amp;quot;, &amp;quot;value&amp;quot;: 0 },&lt;br /&gt;
                    &amp;quot;y2&amp;quot;: { &amp;quot;scale&amp;quot;: &amp;quot;y&amp;quot;, &amp;quot;field&amp;quot;: &amp;quot;population&amp;quot; },&lt;br /&gt;
                    &amp;quot;fill&amp;quot;: { &amp;quot;value&amp;quot;: &amp;quot;#99B2CC&amp;quot; },&lt;br /&gt;
                    &amp;quot;fillOpacity&amp;quot;: { &amp;quot;value&amp;quot;: 0.35 },&lt;br /&gt;
                    &amp;quot;interpolate&amp;quot;: { &amp;quot;value&amp;quot;: &amp;quot;linear&amp;quot; }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;line&amp;quot;,&lt;br /&gt;
            &amp;quot;from&amp;quot;: { &amp;quot;data&amp;quot;: &amp;quot;table&amp;quot; },&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
                &amp;quot;enter&amp;quot;: {&lt;br /&gt;
                    &amp;quot;x&amp;quot;: { &amp;quot;scale&amp;quot;: &amp;quot;x&amp;quot;, &amp;quot;field&amp;quot;: &amp;quot;date&amp;quot; },&lt;br /&gt;
                    &amp;quot;y&amp;quot;: { &amp;quot;scale&amp;quot;: &amp;quot;y&amp;quot;, &amp;quot;field&amp;quot;: &amp;quot;population&amp;quot; },&lt;br /&gt;
                    &amp;quot;stroke&amp;quot;: { &amp;quot;value&amp;quot;: &amp;quot;#99B2CC&amp;quot; },&lt;br /&gt;
                    &amp;quot;strokeWidth&amp;quot;: { &amp;quot;value&amp;quot;: 3 },&lt;br /&gt;
                    &amp;quot;interpolate&amp;quot;: {  &amp;quot;value&amp;quot;: &amp;quot;linear&amp;quot; }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;symbol&amp;quot;,&lt;br /&gt;
            &amp;quot;from&amp;quot;: { &amp;quot;data&amp;quot;: &amp;quot;table&amp;quot; },&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
                &amp;quot;enter&amp;quot;: {&lt;br /&gt;
                    &amp;quot;x&amp;quot;: { &amp;quot;scale&amp;quot;: &amp;quot;x&amp;quot;, &amp;quot;field&amp;quot;: &amp;quot;date&amp;quot; },&lt;br /&gt;
                    &amp;quot;y&amp;quot;: { &amp;quot;scale&amp;quot;: &amp;quot;y&amp;quot;, &amp;quot;field&amp;quot;: &amp;quot;population&amp;quot; },&lt;br /&gt;
                    &amp;quot;stroke&amp;quot;: { &amp;quot;value&amp;quot;: &amp;quot;#99B2CC&amp;quot; },&lt;br /&gt;
                    &amp;quot;fill&amp;quot;: { &amp;quot;value&amp;quot;: &amp;quot;#fff&amp;quot; },&lt;br /&gt;
                    &amp;quot;size&amp;quot;: { &amp;quot;value&amp;quot;: 10 }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        },&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;,&lt;br /&gt;
            &amp;quot;from&amp;quot;: { &amp;quot;data&amp;quot;: &amp;quot;table&amp;quot; },&lt;br /&gt;
            &amp;quot;properties&amp;quot;: {&lt;br /&gt;
                &amp;quot;enter&amp;quot;: {&lt;br /&gt;
                    &amp;quot;x&amp;quot;: { &amp;quot;scale&amp;quot;: &amp;quot;x&amp;quot;, &amp;quot;field&amp;quot;: &amp;quot;date&amp;quot;, &amp;quot;offset&amp;quot;: -5 },&lt;br /&gt;
                    &amp;quot;y&amp;quot;: { &amp;quot;scale&amp;quot;: &amp;quot;y&amp;quot;, &amp;quot;field&amp;quot;: &amp;quot;population&amp;quot;, &amp;quot;offset&amp;quot;: -1 },&lt;br /&gt;
                    &amp;quot;align&amp;quot;: { &amp;quot;value&amp;quot;: &amp;quot;left&amp;quot; },&lt;br /&gt;
                    &amp;quot;opacity&amp;quot;: { &amp;quot;value&amp;quot;: &amp;quot;0&amp;quot; },&lt;br /&gt;
                    &amp;quot;fill&amp;quot;: { &amp;quot;value&amp;quot;: &amp;quot;#000000&amp;quot; },&lt;br /&gt;
                    &amp;quot;size&amp;quot;: { &amp;quot;value&amp;quot;: 4 },&lt;br /&gt;
                    &amp;quot;text&amp;quot;: { &amp;quot;template&amp;quot;: &amp;quot;{{datum.formatted}}  ({{datum.year}})&amp;quot; }&lt;br /&gt;
                },&lt;br /&gt;
                &amp;quot;hover&amp;quot;: {&lt;br /&gt;
                    &amp;quot;opacity&amp;quot;: { &amp;quot;value&amp;quot;: &amp;quot;1&amp;quot; }&lt;br /&gt;
                },&lt;br /&gt;
                &amp;quot;update&amp;quot;: {&lt;br /&gt;
                    &amp;quot;opacity&amp;quot;: { &amp;quot;value&amp;quot;: &amp;quot;0&amp;quot; }&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}]]&lt;br /&gt;
&lt;br /&gt;
	local result = options.frame:callParserFunction{ name = &amp;#039;#tag:graph&amp;#039;, args = { graphData, mode = &amp;#039;interactive&amp;#039; } };&lt;br /&gt;
&lt;br /&gt;
	if count &amp;gt; COLLAPSE_IF_MORE_THAN then&lt;br /&gt;
		return result;&lt;br /&gt;
	else&lt;br /&gt;
		-- side-by-side display&lt;br /&gt;
		return &amp;#039;&amp;lt;div style=&amp;quot;vertical-align: bottom;&amp;quot;&amp;gt;&amp;#039; .. result .. &amp;#039;&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.formatPopulationClaimForGraph( context, options, statement )&lt;br /&gt;
	local time = context.parseTimeFromSnak( statement.qualifiers.P585[1] );&lt;br /&gt;
    local value = string.gsub( statement.mainsnak.datavalue.value.amount, &amp;#039;^%+&amp;#039;, &amp;#039;&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
	return os.date(&amp;quot;*t&amp;quot;, time / 1000).year .. &amp;#039;,&amp;#039; .. value;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.formatPopulationPropertyForTable( context, options )&lt;br /&gt;
	local claims = formatPopulationPropertyImpl( context, options );&lt;br /&gt;
    -- Обход всех заявлений утверждения и с накоплением оформленых предпочтительных &lt;br /&gt;
    -- заявлений в таблице&lt;br /&gt;
    local formattedClaims = {}&lt;br /&gt;
    local years = {}&lt;br /&gt;
&lt;br /&gt;
	local firstTime = false;&lt;br /&gt;
	local lastTime = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	local count = 0;&lt;br /&gt;
&lt;br /&gt;
	if ( not claims ) then&lt;br /&gt;
		return &amp;#039;&amp;#039;;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if options.nolinks == nil then&lt;br /&gt;
		options.nolinks = true&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    for i, claim in ipairs( claims ) do&lt;br /&gt;
    	&lt;br /&gt;
    	-- обрезаем выводимую дату до года&lt;br /&gt;
    	local timeQualifier = claim.qualifiers.P585[1];&lt;br /&gt;
    	if ( timeQualifier.datavalue.value.precision &amp;gt; 9 ) then&lt;br /&gt;
    		timeQualifier = deepcopy( timeQualifier );&lt;br /&gt;
    		timeQualifier.datavalue.value.precision = 9;&lt;br /&gt;
    	end&lt;br /&gt;
		local year = string.sub( timeQualifier.datavalue.value.time, 2, 5 );&lt;br /&gt;
		if claim.mainsnak.datavalue and not years[ year ] then&lt;br /&gt;
			years[ year ] = true&lt;br /&gt;
&lt;br /&gt;
			local time = context.formatSnak( options, timeQualifier )&lt;br /&gt;
		    local value = context.formatSnak( options, claim.mainsnak )&lt;br /&gt;
	&lt;br /&gt;
			if not firstTime then&lt;br /&gt;
				firstTime = time&lt;br /&gt;
			end&lt;br /&gt;
			lastTime = time&lt;br /&gt;
			&lt;br /&gt;
			-- link to topic (census)&lt;br /&gt;
			if claim.qualifiers.P805 and&lt;br /&gt;
				claim.qualifiers.P805[1] and&lt;br /&gt;
				claim.qualifiers.P805[1].snaktype == &amp;#039;value&amp;#039;&lt;br /&gt;
			then&lt;br /&gt;
				local link = mw.wikibase.sitelink( claim.qualifiers.P805[1].datavalue.value.id )&lt;br /&gt;
				if link then&lt;br /&gt;
					time = &amp;#039;[[&amp;#039; .. link .. &amp;#039;|&amp;#039; .. time .. &amp;#039;]]&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
	&lt;br /&gt;
			local line = &amp;#039;\n|- role=&amp;quot;row&amp;quot;&amp;#039;&lt;br /&gt;
			line = line .. &amp;#039;\n! role=&amp;quot;rowheader&amp;quot; scope=&amp;quot;row&amp;quot; | &amp;#039; .. time&lt;br /&gt;
			line = line .. &amp;#039;\n| role=&amp;quot;cell&amp;quot; | &amp;#039; .. ( value or &amp;quot;&amp;quot; )&lt;br /&gt;
			line = line .. &amp;#039;\n| role=&amp;quot;cell&amp;quot; | &amp;#039;&lt;br /&gt;
			if options.references then&lt;br /&gt;
				line = line .. context.formatRefs( options, claim )&lt;br /&gt;
			end&lt;br /&gt;
	        table.insert( formattedClaims, line )&lt;br /&gt;
	        count = count + 1&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
	if ( count == 0 ) then&lt;br /&gt;
		return &amp;#039;&amp;#039;;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local out = &amp;#039;&amp;lt;div class=&amp;quot;ts-wikidata-population-table&amp;#039;&lt;br /&gt;
	if count &amp;lt; 20 then&lt;br /&gt;
		out = out .. &amp;#039; cols-&amp;#039; .. ( math.floor( count / 5 ) + 1 )&lt;br /&gt;
	end&lt;br /&gt;
	out = out .. &amp;#039;&amp;quot;&amp;gt;\n&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	local caption = mw.ustring.format( TABLE_COLLAPSIBLE_HEADER, firstTime, lastTime );&lt;br /&gt;
	out = out .. &amp;#039;{| role=&amp;quot;table&amp;quot; class=&amp;quot;wikitable mw-collapsible&amp;#039;&lt;br /&gt;
	if count &amp;gt; COLLAPSE_IF_MORE_THAN then&lt;br /&gt;
		out = out .. &amp;#039; mw-collapsed&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	out = out .. &amp;#039;&amp;quot;\n|+ &amp;#039; .. caption&lt;br /&gt;
&lt;br /&gt;
	out = out .. &amp;#039;\n|- role=&amp;quot;row&amp;quot;&amp;#039;&lt;br /&gt;
	out = out .. &amp;#039;\n! role=&amp;quot;columnheader&amp;quot; aria-sort=&amp;quot;ascending&amp;quot; scope=&amp;quot;col&amp;quot; | &amp;#039; .. TABLE_COLUMN_HEADER_YEAR&lt;br /&gt;
	out = out .. &amp;#039;\n! role=&amp;quot;columnheader&amp;quot; aria-sort=&amp;quot;none&amp;quot; scope=&amp;quot;colgroup&amp;quot; colspan=&amp;quot;2&amp;quot; | &amp;#039; .. TABLE_COLUMN_HEADER_POPULATION&lt;br /&gt;
&lt;br /&gt;
	out = out .. &amp;#039;\n|-&amp;#039;&lt;br /&gt;
	out = out .. table.concat( formattedClaims, &amp;#039;\n&amp;#039; )&lt;br /&gt;
	out = out .. &amp;#039;\n|}&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	out = out .. &amp;#039;\n&amp;lt;/div&amp;gt;&amp;#039;;&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p;&lt;/div&gt;</summary>
		<author><name>Буквица&gt;Putnik</name></author>
	</entry>
</feed>