<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://vion.tail5ecd76.ts.net/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3APlural_switch</id>
	<title>Модуль:Plural switch - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://vion.tail5ecd76.ts.net/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3APlural_switch"/>
	<link rel="alternate" type="text/html" href="https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Plural_switch&amp;action=history"/>
	<updated>2026-11-07T19:23:07Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Plural_switch&amp;diff=7257&amp;oldid=prev</id>
		<title>wp&gt;ru.wikipedia: Импорт из русской Википедии, версия 151093993</title>
		<link rel="alternate" type="text/html" href="https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Plural_switch&amp;diff=7257&amp;oldid=prev"/>
		<updated>2026-01-10T15:23:24Z</updated>

		<summary type="html">&lt;p&gt;Импорт из русской Википедии, версия 151093993&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.plural(frame)&lt;br /&gt;
	local text          = frame.args[1]&lt;br /&gt;
	local text_singular = frame.args[2]&lt;br /&gt;
	local text_plural   = frame.args[3]&lt;br /&gt;
&lt;br /&gt;
	local is_ident = false&lt;br /&gt;
	local is_plural = false&lt;br /&gt;
&lt;br /&gt;
	-- принудительная установка&lt;br /&gt;
	if not is_ident then&lt;br /&gt;
		if string.find(text, &amp;#039;data%-plural=&amp;quot;0&amp;quot;&amp;#039;) then is_plural = false; is_ident = true; end&lt;br /&gt;
		if string.find(text, &amp;#039;data%-plural=&amp;quot;1&amp;quot;&amp;#039;) then is_plural = true;  is_ident = true; end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- проверка по тегам&lt;br /&gt;
	if not is_ident and string.find(text, &amp;quot;&amp;lt;br&amp;quot;) then is_plural = true; is_ident = true; end&lt;br /&gt;
	if not is_ident then&lt;br /&gt;
		_, count = string.gsub(text, &amp;quot;&amp;lt;li&amp;quot;, &amp;quot;&amp;lt;li&amp;quot;)&lt;br /&gt;
		if count &amp;gt; 1 then is_plural = true; is_ident = true; end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- анализ текста&lt;br /&gt;
	if not is_ident then&lt;br /&gt;
		text = string.gsub(text, &amp;#039;%[%[.-%]%] &amp;lt;span lang=.-&amp;lt;/span&amp;gt;&amp;#039;, &amp;#039;&amp;#039;) -- убираем расшифровки с других языков&lt;br /&gt;
		text = string.gsub(text, &amp;#039;%]&amp;lt;span.-&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&amp;#039;, &amp;#039;&amp;#039;)         -- убираем шаблон нп3&lt;br /&gt;
		text = string.gsub(text, &amp;#039;&amp;lt;sup.-&amp;lt;/sup&amp;gt;&amp;#039;, &amp;#039;&amp;#039;)   -- убираем верхние индексы&lt;br /&gt;
		text = string.gsub(text, &amp;#039;&amp;lt;.-&amp;gt;&amp;#039;, &amp;#039;&amp;#039;)           -- убираем все теги&lt;br /&gt;
		text = string.gsub(text, &amp;#039;&amp;amp;[^&amp;amp;]-;&amp;#039;, &amp;#039; &amp;#039;)       -- заменяем спец. символы пробелами&lt;br /&gt;
		text = string.gsub(text, &amp;#039;%[%[Category.-%]%]&amp;#039;, &amp;#039;&amp;#039;) -- вырезаем ссылки на категории&lt;br /&gt;
		text = string.gsub(text, &amp;#039;%[%[File.-%]%]&amp;#039;, &amp;#039;img&amp;#039;)  -- заменяем шаблоны-картинки (флаги)&lt;br /&gt;
		text = string.gsub(text, &amp;#039;%[%[Файл.-%]%]&amp;#039;, &amp;#039;img&amp;#039;)&lt;br /&gt;
		text = string.gsub(text, &amp;#039;%]%][а-я-]+%[%[&amp;#039;, &amp;#039;&amp;#039;)   -- склеиваем элементы рядом&lt;br /&gt;
		text = string.gsub(text, &amp;#039;%]%] +%[%[&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
		text = string.gsub(text, &amp;#039;%[%[.-%]%]&amp;#039;, &amp;#039;x &amp;#039;)   -- считаем [[...]] одним элементом&lt;br /&gt;
		text = string.gsub(text, &amp;#039;%[.-%]&amp;#039;, &amp;#039;x &amp;#039;)       -- считаем [...] одним элементом&lt;br /&gt;
		text = string.gsub(text, &amp;#039;..&amp;quot;`UNIQ.-QINU`&amp;quot;..&amp;#039;, &amp;#039;&amp;#039;)     -- убираем специальные коды викиразметки + возможные замены [[...]]&lt;br /&gt;
		text = string.gsub(text, &amp;#039;[a-z]x&amp;#039;, &amp;#039;a&amp;#039;)        -- сокращаем английские слова &lt;br /&gt;
		text = string.gsub(text, &amp;#039;\n%*&amp;#039;, &amp;#039;,&amp;#039;)          -- звёздочка в начале - элемент списка&lt;br /&gt;
		text = string.gsub(text, &amp;#039;x,%-x&amp;#039;, &amp;#039;x&amp;#039;)         -- элементы-слова через дефис считаем одним&lt;br /&gt;
		text = string.gsub(text, &amp;#039;^ *,&amp;#039;, &amp;#039;&amp;#039;)           -- убираем первую запятую&lt;br /&gt;
		text = string.gsub(text, &amp;#039;x.-x&amp;#039;, &amp;#039;x,x&amp;#039;)        -- добавляем разделитель между x: x .. , .. x&lt;br /&gt;
		text = mw.ustring.gsub(text, &amp;#039;[–—]&amp;#039;, &amp;#039;-&amp;#039;)      -- заменяем разные виды тире на минус&lt;br /&gt;
		text = string.gsub(text, &amp;#039;%d+%-%d+&amp;#039;, &amp;#039;x,x&amp;#039;)    -- числовые диапазоны&lt;br /&gt;
		text = string.gsub(text, &amp;#039;[ \n]+$&amp;#039;, &amp;#039;&amp;#039;)        -- trim&lt;br /&gt;
&lt;br /&gt;
		delimiters = {&amp;quot;,&amp;quot;, &amp;quot;;&amp;quot;, &amp;quot;·&amp;quot;, &amp;quot;•&amp;quot;, &amp;quot;/&amp;quot;, &amp;quot; и &amp;quot;, &amp;quot;\n&amp;quot;}&lt;br /&gt;
		for i,d in pairs(delimiters) do&lt;br /&gt;
			if not is_plural and string.find(text, d) then is_plural = true; is_ident = true; end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- формируем результат&lt;br /&gt;
	local result = text_singular&lt;br /&gt;
	if is_plural then result = text_plural end&lt;br /&gt;
&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wp&gt;ru.wikipedia</name></author>
	</entry>
</feed>