Модуль:Правоохоронний орган
Перейти до навігації
Перейти до пошуку
Документація модуля[створити]
Зараз цей модуль не має відповідної документації. Якщо вам відомі призначення та засади використання цього модуля, будь ласка, напишіть хоча б коротеньку документацію. |
Дописувачі можуть експериментувати на підсторінках пісочниця (створити | дзеркало) та тести (створити) цього модуля. Підсторінки цієї сторінки. |
local p = {}
require("Модуль:Функції для карток")
--головна функція
function p.main(frame)
--аргументи передані до шаблону
parent = frame:getParent();
args = parent.args;
--елемент Вікіданих
item = mw.wikibase.getEntity(mw.wikibase.getEntityIdForCurrentPage());
--змінні для конструювання таблиці
default_image_size = "200x300px";
section_header = "\n|-\n| style='background:#cde; text-align:center; font-weight:bold' colspan='2' | ";
two_columns_cell = "\n|-\n| style='text-align:center' colspan='2' | ";
caption = "\n|-\n| style='text-align:right; background:#eee; width:40%; font-weight:bold' | ";
cell = "\n| style='width:60%;'| ";
--дані із Вікіданих замість незаданих аргументів
--назва
if(ie(args['назва'])) then args['назва'] = mw.text.split(mw.title.getCurrentTitle().text, " %(")[1]; end
--абревіатура
if(ie(args['абревіатура'])) then args['абревіатура'] = '';
else args['абревіатура'] = '<br/>('..args['абревіатура']..')'; end
--мови оригіналу
if(ie(args["оригінальна_назва"]) and item and item:getBestStatements('P1705')[1] and
item:getBestStatements('P1705')[1].mainsnak.datavalue.value.language~="uk") then
args["оригінальна_назва"] = item:getBestStatements('P1705')[1].mainsnak.datavalue.value.text;
args["мова_оригіналу"] = item:getBestStatements('P1705')[1].mainsnak.datavalue.value.language;
end
index = 1;
original_names = {}
while(not ie(args["оригінальна_назва"..ind(index)])) do
indx = ind(index);
if(ie(args["мова_оригіналу"..indx])) then
table.insert(original_names, "<br/>''"..args["оригінальна_назва"..indx].."''");
else table.insert(original_names, "<br/>{{lang-"..args["мова_оригіналу"..indx]..'|'..
args["оригінальна_назва"..indx]..'}}'); end
index = index+1;
end
--герб
emblem = args['герб'];
if(ie(args['герб']) and item and item:getBestStatements('P154')[1]) then
args['герб'] = item:getBestStatements('P154')[1].mainsnak.datavalue.value;
elseif(ie(args['герб']) and item and item:getBestStatements('P158')[1]) then
args['герб'] = item:getBestStatements('P158')[1].mainsnak.datavalue.value;
elseif(ie(args['герб']) and item and item:getBestStatements('P194')[1]) then
args['герб'] = item:getBestStatements('P94')[1].mainsnak.datavalue.value;
end
if(ie(args['герб'])) then args['герб'] = '';
else
if(ie(args['розмір_герба'])) then args['розмір_герба'] = default_image_size; end
if(ie(args['підпис_герба'])) then args['підпис_герба'] = ' '; end
args['герб'] = two_columns_cell..'[[Файл:'..args['герб']..'|'..args['розмір_герба']..']]'..
two_columns_cell..args['підпис_герба'];
end
--прапор
flag = args['прапор']
if(ie(args['прапор']) and item and item:getBestStatements('P41')[1]) then
args['прапор'] = item:getBestStatements('P41')[1].mainsnak.datavalue.value; end
if(ie(args['прапор'])) then args['прапор'] = '';
else
if(ie(args['розмір_прапора'])) then args['розмір_прапора'] = default_image_size; end
if(ie(args['підпис_прапора'])) then args['підпис_прапора'] = ' '; end
args['прапор'] = two_columns_cell..'[[Файл:'..args['прапор']..'|'..args['розмір_прапора']..']]'..
two_columns_cell..args['підпис_прапора'];
end
--значок
badge = args['значок'];
if(ie(args['значок'])) then args['значок'] = '';
else
if(ie(args['розмір_значка'])) then args['розмір_значка'] = default_image_size; end
if(ie(args['підпис_значка'])) then args['підпис_значка'] = ' '; end
args['значок'] = two_columns_cell..'[[Файл:'..args['значок']..'|'..args['розмір_значка']..']]'..
two_columns_cell..args['підпис_значка'];
end
--нашивка
patch = args['нашивка'];
if(ie(args['нашивка'])) then args['нашивка'] = '';
else
if(ie(args['розмір_нашивки'])) then args['розмір_нашивки'] = default_image_size; end
if(ie(args['підпис_нашивки'])) then args['підпис_нашивки'] = ' '; end
args['нашивка'] = two_columns_cell..'[[Файл:'..args['нашивка']..'|'..args['розмір_нашивки']..']]'..
two_columns_cell..args['підпис_нашивки'];
end
--зображення
if(ie(args["зображення"]) and item and item:getBestStatements('P18')[1]) then
args["зображення"] = item:getBestStatements('P18')[1].mainsnak.datavalue.value;
if(args['зображення']==emblem or args['зображення']==flag or
args['зображення']==badge or args['зображення']==patch) then args["зображення"] = ''; end
end
index = 1;
images = {}
while(not ie(args["зображення"..ind(index)])) do
indx = ind(index);
if(ie(args['розмір'..indx])) then args['розмір'..indx] = default_image_size; end
if(ie(args['підпис'..indx])) then args['підпис'..indx] = ' '; end
args["зображення"..indx] = two_columns_cell..'[[Файл:'..args["зображення"..indx]..'|'..
args['розмір'..indx]..']]'..two_columns_cell..args['підпис'..indx];
table.insert(images, args["зображення"..indx]);
index = index+1;
end
--тип
if(ie(args["тип"]) and item and item:getBestStatements('P31')[1]) then
args["тип"] = title_for(item:getBestStatements('P31')[1].mainsnak.datavalue.value.id); end
if(ie(args['тип'])) then args['тип'] = '';
else args['тип'] = caption..'Тип:'..cell..args['тип']; end
--юрисдикція
if(ie(args["юрисдикція"]) and item and item:getBestStatements('P17')[1]) then
args["юрисдикція"] = title_for(item:getBestStatements('P17')[1].mainsnak.datavalue.value.id, true); end
if(ie(args['юрисдикція'])) then args['юрисдикція'] = '';
else args['юрисдикція'] = caption..'Юрисдикція:'..cell..args['юрисдикція']; end
--площа юрисдикції
if(ie(args['площа_юрисдикції'])) then args['площа_юрисдикції'] = '';
else args['площа_юрисдикції'] = caption..'Площа юрисдикції:'..cell..'{{formatnum:'..args['площа_юрисдикції']..'}} км<sup>2</sup>'; end
--населення
if(ie(args['населення'])) then args['населення'] = ''; population = '';
else population = caption..'Населення:'..cell..'{{formatnum:'..args['населення']..'}} осіб'; end
--дата заснування
if(ie(args["дата_заснування"]) and ine(args["рік_заснування"])) then
args["дата_заснування"] = '[['..args["рік_заснування"]..']]';
elseif(ie(args["дата_заснування"]) and item and item:getBestStatements('P571')[1] and
item:getBestStatements('P571')[1].mainsnak.snaktype=='value') then
args["дата_заснування"] = format_time(item:getBestStatements('P571')[1].mainsnak.datavalue.value);
end
if(ie(args["рік_заснування"]) and item and item:getBestStatements('P571')[1]) then
args["рік_заснування"] = string.sub(item:getBestStatements('P571')[1].mainsnak.datavalue.value.time, 2, 5);
end
if(ie(args['дата_заснування'])) then args['дата_заснування'] = '';
else args['дата_заснування'] = caption..'Дата заснування:'..cell..args['дата_заснування']; end
--дата ліквідації
if(ie(args["дата_ліквідації"]) and item and item:getBestStatements('P576')[1] and
item:getBestStatements('P576')[1].mainsnak.snaktype=='value') then
args["дата_ліквідації"] = format_time(item:getBestStatements('P576')[1].mainsnak.datavalue.value); end
if(ie(args['дата_ліквідації'])) then args['дата_ліквідації'] = '';
else args['дата_ліквідації'] = caption..'Дата ліквідації:'..cell..args['дата_ліквідації']; end
--відомство-попередник
if(ie(args["відомство-попередник"]) and item and item:getBestStatements('P155')[1] and
item:getBestStatements('P155')[1].mainsnak.snaktype=='value') then
args["відомство-попередник"] = title_for(item:getBestStatements('P155')[1].mainsnak.datavalue.value.id); end
if(ie(args['відомство-попередник'])) then args['відомство-попередник'] = '';
else args['відомство-попередник'] = caption..'<small>Відомство-попередник:</small>'..cell..args['відомство-попередник']; end
--відомство-наступник
if(ie(args["відомство-наступник"]) and item and item:getBestStatements('P156')[1] and
item:getBestStatements('P156')[1].mainsnak.snaktype=='value') then
args["відомство-наступник"] = title_for(item:getBestStatements('P156')[1].mainsnak.datavalue.value.id); end
if(ie(args['відомство-наступник'])) then args['відомство-наступник'] = '';
else args['відомство-наступник'] = caption..'<small>Відомство-наступник:</small>'..cell..args['відомство-наступник']; end
--девіз
if(ie(args["девіз"]) and item and item:getBestStatements('P1451')[1]) then
args["девіз"] = item:getBestStatements('P1451')[1].mainsnak.datavalue.value.text;
lang = item:getBestStatements('P1451')[1].mainsnak.datavalue.value.language;
if(lang~='uk') then args["девіз"] = '{{Lang-'..lang..'|'..args["девіз"]..'}}';
else args["девіз"] = "''"..args["девіз"].."''"; end
end
if(ie(args['девіз'])) then args['девіз'] = '';
else args['девіз'] = caption..'Девіз:'..cell..args['девіз']; end
--секція "Загальна інформація"
if(ine(args["тип"]) or ine(args["юрисдикція"]) or ine(args['площа_юрисдикції']) or
ine(population) or ine(args["дата_заснування"]) or ine(args["дата_ліквідації"]) or
ine(args["відомство-попередник"]) or
ine(args["відомство-наступник"]) or ine(args["девіз"]) ) then
section_general = section_header..'Загальна інформація:';
else section_general = ''; end
--керівники
if(ie(args["керівник"]) and item and item:getBestStatements('P488')[1]) then
st = item:getBestStatements('P488')[1];
args["керівник"] = title_for(st.mainsnak.datavalue.value.id);
if(st.qualifiers and st.qualifiers['P580']) then
args["керівник"] = args["керівник"]..' (з '..
format_time(st.qualifiers['P580'][1].datavalue.value)..')'; end
end
index = 1;
chiefs = {}
while(not ie(args["керівник"..ind(index)])) do
indx = ind(index);
if(ie(args['назва_керівника'..indx]) and index==1) then
args['назва_керівника'..indx] = 'Керівник';
elseif(ie(args['назва_керівника'..indx]) and index==2) then
args['назва_керівника'..indx] = 'Перший заступник';
elseif(ie(args['назва_керівника'..indx])) then
args['назва_керівника'..indx] = 'Заступник'; end
args["керівник"..indx] = caption..args['назва_керівника'..indx]..
':'..cell..args["керівник"..ind(index)];
table.insert(chiefs, args["керівник"..indx]);
index = index+1;
end
--керівна організація
if(ie(args["керівна_організація"]) and item and item:getBestStatements('P797')[1]) then
args["керівна_організація"] = title_for(item:getBestStatements('P797')[1].mainsnak.datavalue.value.id);
elseif(ie(args["керівна_організація"]) and item and item:getBestStatements('P361')[1]) then
args["керівна_організація"] = title_for(item:getBestStatements('P361')[1].mainsnak.datavalue.value.id); end
if(ie(args['керівна_організація'])) then args['керівна_організація'] = '';
else args['керівна_організація'] = caption..'Керівна організація:'..cell..args['керівна_організація']; end
--документ
if(ie(args['документ'])) then args['документ'] = '';
else args['документ'] = caption..'Ключовий документ:'..cell..args['документ']; end
--співробітники
if(ie(args["співробітники"]) and item and item:getBestStatements('P1128')[1] and
item:getBestStatements('P1128')[1].mainsnak.snaktype=='value') then
st = item:getBestStatements('P1128')[1];
args["співробітники"] = string.gsub(st.mainsnak.datavalue.value.amount, "+", "");
if(st.qualifiers and st.qualifiers['P585']) then
args['співробітники_час'] = format_time(st.qualifiers['P585'][1].datavalue.value); end
if(st.references and st.references[1].snaks['P854']) then
link = st.references[1].snaks['P854'][1].datavalue.value;
args['співробітники_ref'] = '<ref>['..link..' '..link..']</ref>'; end
end
if(ie(args['співробітники'])) then employees = '';
else
if(ie(args['співробітники_час'])) then args['співробітники_час'] = '';
else args['співробітники_час'] = ' ('..args['співробітники_час']..')'; end
if(ie(args['співробітники_ref'])) then args['співробітники_ref'] = ''; end
employees = caption..'<small>Кількість співробітників:</small>'..
cell..'{{formatnum:'..args['співробітники']..'}}'..
args['співробітники_час']..args['співробітники_ref']; end
--відношення
if(ie(args['відношення']) or ie(args['співробітники']) or ie(args['населення']) or
string.match(args['співробітники'], "%W") or string.match(args['населення'], "%W")) then args['відношення'] = '';
else args['відношення'] = caption..'На душу населення:'..cell..
( math.floor(100000*(args['співробітники']/args['населення'])+0.5) )..' на 100 тис. населення'; end
--бюджет
if(ie(args["бюджет"]) and item and item:getBestStatements('P2769')[1] and
item:getBestStatements('P2769')[1].mainsnak.snaktype=='value') then
st = item:getBestStatements('P2769')[1];
budget_amount = string.gsub(st.mainsnak.datavalue.value.amount, "+", "");
budget_amount = string.sub(budget_amount, 1, -4);
budget_amount = tonumber(budget_amount);
if(budget_amount>=1000000) then args["бюджет"] = (math.floor((budget_amount/100000)+0.5)/10)..' млрд';
elseif(budget_amount>=1000) then args["бюджет"] = (math.floor((budget_amount/100)+0.5)/10)..' млн';
else args["бюджет"] = budget_amount; end
unit = string.sub(st.mainsnak.datavalue.value.unit, 32);
if(unit=='Q81893') then args["бюджет"] = args["бюджет"]..' [[Гривня|₴]]';
elseif(unit=='Q4916') then args["бюджет"] = '[[Євро|€]] '..args["бюджет"];
elseif(unit=='Q4917') then args["бюджет"] = '[[Долар США|$]] '..args["бюджет"];
else args["бюджет"] = args["бюджет"]..' '..title_for(unit); end
if(st.qualifiers and st.qualifiers['P585']) then
budget_timestamp = st.qualifiers['P585'][1].datavalue.value;
args["бюджет"] = args["бюджет"]..' ('..format_time(budget_timestamp)..')'; end
if(item and item.claims['P17'] and item:getBestStatements('P17')[1].mainsnak.datavalue.value.id=="Q212") then
if(not budget_timestamp) then budget_timestamp = '';
else budget_timestamp = string.sub(budget_timestamp.time, 2, 5); end
args["бюджет"] = args["бюджет"]..'{{Ref-бюджет України|'..
budget_timestamp..'|dod3}}';
elseif(st.references and st.references[1].snaks['P854']) then
link = st.references[1].snaks['P854'][1].datavalue.value;
args["бюджет"] = args["бюджет"]..'<ref>['..link..' '..link..']</ref>'; end
end
if(ie(args['бюджет'])) then args['бюджет'] = '';
else args['бюджет'] = caption..'Бюджет:'..cell..args['бюджет']; end
--територіальні підрозділи
if(ie(args['територіальні_підрозділи'])) then args['територіальні_підрозділи'] = '';
else args['територіальні_підрозділи'] = caption..
'<small>Кількість тер. підрозділів:</small>'..cell..args['територіальні_підрозділи']; end
--кількість відділків
if(ie(args['кількість_відділків'])) then args['кількість_відділків'] = '';
else args['кількість_відділків'] = caption..'Кількість відділків:'..cell..args['кількість_відділків']; end
--секція "Структура"
if(ine(args["керівник"]) or ine(args["керівна_організація"]) or
ine(args['документ']) or ine(employees) or ine(args['відношення']) or
ine(args['бюджет']) or ine(args['територіальні_підрозділи']) or
ine(args['кількість_відділків']) ) then
section_structure = section_header..'Структура:';
else section_structure = ''; end
--мапа OSM
if(not ie(args['no_mapframe'])) then map_osm = '';
else
if(ie(args['mapframe_масштаб'])) then args['mapframe_масштаб'] = ''; end
if(ie(args['mapframe_широта'])) then args['mapframe_широта'] = ''; end
if(ie(args['mapframe_довгота'])) then args['mapframe_довгота'] = ''; end
if(ie(args['mapframe_назва'])) then args['mapframe_назва'] = args['назва']; end
if(ie(args['mapframe_маркер'])) then args['mapframe_маркер'] = 'police'; end
if(ie(args['mapframe_колір'])) then args['mapframe_колір'] = '00d'; end
map_osm = two_columns_cell..'{{Mapframe маркер розташування|ширина=300|висота=200'..
'|масштаб='..args['mapframe_масштаб']..'|широта='..args['mapframe_широта']..
'|довгота='..args['mapframe_довгота']..'|назва='..args['mapframe_назва']..
'|маркер='..args['mapframe_маркер']..'|колір='..args['mapframe_колір']..'}}';
end
--адреса
if(ie(args["адреса"]) and item and item:getBestStatements('P159')[1] and item:getBestStatements('P159')[1].qualifiers) then
st = item:getBestStatements('P159')[1].qualifiers;
if(st['P6375']) then args["адреса"] = st['P6375'][1].datavalue.value.text;
elseif(st['P969']) then args["адреса"] = st['P969'][1].datavalue.value;end
end
if(ie(args['адреса'])) then args['адреса'] = '';
else args['адреса'] = caption..'Адреса штаб-квартири:'..cell..args['адреса']; end
--секція "Штаб-квартира"
if((ine(map_osm) and ((item and item:getBestStatements('P625')[1]) or ine(args['mapframe_широта'])) ) or ine(args['адреса']) ) then
section_headquarters = section_header..'Штаб-квартира:';
else section_headquarters = ''; end
--обладнання
if(ie(args['кількість_машин'])) then args['кількість_машин'] = '';
else args['кількість_машин'] = caption..'Машин:'..cell..args['кількість_машин']; end
if(ie(args['кількість_бронетехніки'])) then args['кількість_бронетехніки'] = '';
else args['кількість_бронетехніки'] = caption..'Бронетехніки:'..cell..args['кількість_бронетехніки']; end
if(ie(args['кількість_мотоциклів'])) then args['кількість_мотоциклів'] = '';
else args['кількість_мотоциклів'] = caption..'Мотоциклів:'..cell..args['кількість_мотоциклів']; end
if(ie(args['кількість_човнів'])) then args['кількість_човнів'] = '';
else args['кількість_човнів'] = caption..'Човнів:'..cell..args['кількість_човнів']; end
if(ie(args['кількість_гелікоптерів'])) then args['кількість_гелікоптерів'] = '';
else args['кількість_гелікоптерів'] = caption..'Гелікоптерів:'..cell..args['кількість_гелікоптерів']; end
if(ie(args['кількість_літаків'])) then args['кількість_літаків'] = '';
else args['кількість_літаків'] = caption..'Літаків:'..cell..args['кількість_літаків']; end
if(ie(args['кількість_коней'])) then args['кількість_коней'] = '';
else args['кількість_коней'] = caption..'Коней:'..cell..args['кількість_коней']; end
if(ie(args['кількість_собак'])) then args['кількість_собак'] = '';
else args['кількість_собак'] = caption..'Собак:'..cell..args['кількість_собак']; end
if(ie(args['обладнання_інше'])) then args['обладнання_інше'] = '';
else args['обладнання_інше'] = caption..'Інше:'..cell..args['обладнання_інше']; end
--секція "Обладнання"
if(ine(args['кількість_машин']) or ine(args['кількість_бронетехніки']) or
ine(args['кількість_мотоциклів']) or ine(args['кількість_човнів']) or
ine(args['кількість_гелікоптерів']) or ine(args['кількість_літаків']) or
ine(args['кількість_коней']) or ine(args['кількість_собак']) or ine(args['обладнання_інше']) ) then
section_equipment = section_header..'Обладнання:';
else section_equipment = ''; end
--інші дані
index = 1;
other_data = {}
while( ine(args["мітка"..index]) and ine(args["текст"..index]) ) do
indx = index;
table.insert(other_data, caption..args["мітка"..index]..':'..cell..args["текст"..index]);
index = index+1;
end
--секція "Інше"
if(ine(args["мітка1"]) and ine(args["текст1"])) then
section_miscellaneous = section_header..'Інше:';
else section_miscellaneous = ''; end
--вебсайт
websites = {}
if(ie(args["вебсайт"]) and item and item:getBestStatements('P856')[1]) then
url = item:getBestStatements('P856')[1].mainsnak.datavalue.value;
url = string.gsub(url, "http[s]?://", "");
if(string.sub(url, -1, -1)=="/") then url = string.sub(url, 1, -2); end
table.insert(websites, '['..url..' '..url..']');
else
index = 1;
while(not ie(args["вебсайт"..ind(index)])) do
indx = ind(index);
args["вебсайт"..indx] = '[http://'..args["вебсайт"..indx]..' '..args["вебсайт"..indx]..']';
table.insert(websites, args["вебсайт"..indx]);
index = index+1;
end
end
if(#websites>0) then
websites = section_header..'Вебсайт:'..two_columns_cell..table.concat(websites, '<br/>');
else websites = ''; end
--мапа зони юрисдикції
if(ie(args['мапа_зони_юрисдикції'])) then args['мапа_зони_юрисдикції'] = '';
else
if(ie(args['розмір_мапи'])) then args['розмір_мапи'] = '300px'; end
if(ie(args['підпис_мапи'])) then args['підпис_мапи'] = 'Мапа зони юрисдикції:'; end
if(ie(args['пояснення_до_мапи'])) then args['пояснення_до_мапи'] = '';
else args['пояснення_до_мапи'] = two_columns_cell..args['пояснення_до_мапи']; end
args['мапа_зони_юрисдикції'] = section_header..args['підпис_мапи']..
two_columns_cell..'[[Файл:'..args['мапа_зони_юрисдикції']..
'|'..args['розмір_мапи']..']]'..args['пояснення_до_мапи'];
end
--commons page
if(ie(args["commonspage"]) and item and item.sitelinks and item.sitelinks.commonswiki and
not string.find(item.sitelinks.commonswiki.title, "Category")) then
args["commonspage"] = item.sitelinks.commonswiki.title; end
if(ie(args['commonspagetitle'])) then args['commonspagetitle'] = args['назва']; end
if(ie(args['commonspage'])) then args['commonspage'] = '';
else args['commonspage'] = two_columns_cell..'<hr/>'..two_columns_cell..
'<table width="100%" cellspacing=8><tr><td>[[File:Commons-logo.svg|30px]]'..
"<td align=left>[[Вікісховище]] має сторінку на цю тему: <br/>'''[[:commons:"..
args['commonspage']..'|'..args['commonspagetitle'].."]]'''</table>"; end
--commons
if(ie(args["commons"]) and item and item:getBestStatements('P373')[1]) then
args["commons"] = item:getBestStatements('P373')[1].mainsnak.datavalue.value; end
if(ie(args['commonstitle'])) then args['commonstitle'] = args['назва']; end
if(ie(args['commons'])) then args['commons'] = '';
else args['commons'] = two_columns_cell..'<hr/>'..two_columns_cell..
'<table width="100%" cellspacing=8><tr><td>[[File:Commons-logo.svg|30px]]'..
'<td align="left">[[Вікісховище]] має мультимедійні дані за темою: '..
"'''[[:commons:Category:"..args['commons']..'|'..args['commonstitle'].."]]'''</table>"; end
--wikisource
if(ie(args['wikisource'])) then args['wikisource'] = '';
else args['wikisource'] = two_columns_cell..'<hr/>'..two_columns_cell..
'<table width="100%" cellspacing=8><tr><td>[[File:Wikisource-logo.svg|30px]]'..
"<td align=left>На [[Вікіджерела]]х є документ пов'язаний з цим правоохоронним органом: <br/>'''[[:s:"..
args['wikisource']..'|'..args['wikisource'].."]]'''</table>"; end
--категорія
if(ie(args["рік_заснування"])) then args["рік_заснування"] = '';
else args["рік_заснування"] = '<includeonly>[[Категорія:Органи влади, засновані '..args["рік_заснування"]..']]</includeonly>'; end
--таблиця із кінцевим результатом
res = {'{| class="infobox" style="width: 350px; font-size: 90%;"\n',
'|- style="font-size: 120%; color: #000000; background-color: #C1D8FF"\n',
'| colspan="2" | '.."{{center|'''", args['назва'], "'''", args['абревіатура'],
table.concat(original_names), '}}',
args['герб'], args['прапор'], args['значок'], args['нашивка'], table.concat(images),
section_general,
args['тип'], args['юрисдикція'], args['площа_юрисдикції'], population,
args['дата_заснування'], args['дата_ліквідації'],
args['відомство-попередник'], args['відомство-наступник'], args['девіз'],
section_structure,
table.concat(chiefs), args["керівна_організація"], args['документ'],
employees, args['відношення'], args['бюджет'],
args['територіальні_підрозділи'], args['кількість_відділків'],
section_headquarters,
map_osm, args['адреса'],
section_equipment,
args['кількість_машин'], args['кількість_бронетехніки'], args['кількість_мотоциклів'],
args['кількість_човнів'], args['кількість_гелікоптерів'], args['кількість_літаків'],
args['кількість_коней'], args['кількість_собак'], args['обладнання_інше'],
section_miscellaneous, table.concat(other_data),
websites, args['мапа_зони_юрисдикції'],
args['commonspage'], args["commons"], args['wikisource'],
'\n|}', args["рік_заснування"]
};
return frame:preprocess(table.concat(res));
end
return p;