Модуль:Не переведено/utils

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Документация
local p = {}

function p.getLanguageTable( frame )
	local languages = mw.loadData( 'Module:Languages/data' )
	local wikis = mw.loadJsonData( 'Модуль:NumberOf/lang.json' )
	local result = mw.html.create( 'table' )
		:addClass( 'wikitable ts-stickytableheader sortable' )
	
	result:tag( 'caption' )
		:wikitext( 'Коды языков [[Википедия:Список Википедий|разделов Википедии]]' )
	
	result:tag( 'tr' )
		:tag( 'th' )
			:attr( 'scope', 'col' )
			:wikitext( 'Код' )
		:tag( 'th' )
			:attr( 'scope', 'col' )
			:wikitext( 'Сокр.' )
		:tag( 'th' )
			:attr( 'scope', 'col' )
			:wikitext( 'Язык' )
		:done()
	
	for key, val in pairs( wikis ) do
		local language = languages[ key ]
		if language then
			result:tag( 'tr' )
				:tag( 'td' )
					:wikitext( '<code>' .. key .. '</code>' )
				:tag( 'td' )
					:wikitext( language[ 1 ] )
				:tag( 'td' )
					:wikitext( '[[' .. language[ 2 ] .. ']]' )
		else
			result:tag( 'tr' )
				:addClass( 'error' )
				:attr( 'style', 'font-size: inherit' )
				:tag( 'td' )
					:wikitext( '<code>' .. key .. '</code>' )
				:tag( 'td' )
					:attr( 'colspan', '2' )
					:wikitext( 'Отсутствует язык: ' .. val[ 1 ] )
		end
	end
	
	return frame:expandTemplate{
		title = 'Плавающая шапка таблицы'
	} .. tostring( result )
end

return p