Модуль:зат атооч
Көрүнүш
Documentation for this module may be created at Модуль:зат атооч/doc
local p = {}
local function get_clean_word(frame)
local args = frame.args
if frame:getParent() then
for k,v in pairs(frame:getParent().args) do
if args[k] == nil or args[k] == "" then args[k] = v end
end
end
local word = args['сөз'] or args['word']
if not word or word == "" then word = mw.title.getCurrentTitle().text end
word = mw.ustring.gsub(word, "^.-:", "")
word = mw.ustring.gsub(word, "^.*/", "")
return word, args
end
function p.render_wiki_nav(frame)
local args = frame.args
if frame:getParent() then
for k,v in pairs(frame:getParent().args) do
if args[k] == nil or args[k] == "" then args[k] = v end
end
end
local word = args['сөз'] or args['word']
if not word or word == "" then
word = mw.title.getCurrentTitle().text
end
word = mw.ustring.gsub(word, "^.-:", "")
word = mw.ustring.gsub(word, "^.*/", "")
local pagename = (args['шилтеме'] and mw.text.trim(args['шилтеме']) ~= "")
and mw.text.trim(args['шилтеме'])
or word
return '<div style="border:1px solid #a2a9b1; background-color:#f8f9ff; padding:5px; margin-bottom:10px; font-size:100%; clear:both; width:100%; box-sizing:border-box;">' ..
'[[File:Wikipedia-logo-v2.svg|20px|link=w:ky:' .. pagename .. ']] ' ..
"'''Уикипедия''' — " ..
'[[w:ky:' .. pagename .. '|' .. word .. ']]' ..
'</div>'
end
function p.render_header(frame)
local word, args = get_clean_word(frame)
local syll_fmt = mw.ustring.gsub(args['муундар'] or "", "|", "-")
local res = '<div style="flex: 1 1 280px; box-sizing:border-box; margin-bottom:15px; font-size: 100%;">'
if args['сүрөт'] and mw.text.trim(args['сүрөт']) ~= "" then
res = res .. '<div style="float: right; margin-left: 10px;">[[File:' .. mw.text.trim(args['сүрөт']) .. '|thumb|180px|' .. (args['сүрөт мааниси'] or "") .. ']]</div>'
end
res = res .. "<h3>[[зат атооч|Зат атооч]]</h3>\n"
if syll_fmt ~= "" then res = res .. "* Муундарга бөлүнүшү: '''" .. syll_fmt .. "'''\n" end
if args['уңгу'] and mw.text.trim(args['уңгу']) ~= "" then res = res .. "* Уңгу: '''-" .. mw.text.trim(args['уңгу']) .. "-'''\n" end
-- [[ ӨЗГӨРТҮЛДҮ: ЭФА кол менен жазылса гана чыгат ]]
local ipa_part = ""
if args['эфа'] and mw.text.trim(args['эфа']) ~= "" then
ipa_part = frame:preprocess('{{#invoke:эфа|render|' .. mw.text.trim(args['эфа']) .. '}}')
end
local audio_part = ""
if args['аудио'] and mw.text.trim(args['аудио']) ~= "" then
audio_part = frame:preprocess('{{аудио/ky|' .. mw.text.trim(args['аудио']) .. '}}')
end
if ipa_part ~= "" then
res = res .. "* " .. ipa_part
if audio_part ~= "" then
res = res .. "<br/><span style=\"display: inline-block; padding-left: 0.5em; margin-top: 0.3em; font-size: 100%;\">" .. audio_part .. "</span>"
end
res = res .. "\n"
elseif audio_part ~= "" then
res = res .. "* Айтылышы: " .. audio_part .. "\n"
end
-- [[ ӨЗГӨРТҮЛДҮ: Жек жана Көп сан кол менен жазылса гана чыгат ]]
if args['жек'] and mw.text.trim(args['жек']) ~= "" then
res = res .. "* жек. с. [" .. mw.text.trim(args['жек']) .. "]\n"
end
if args['көп'] and mw.text.trim(args['көп']) ~= "" then
res = res .. "* көп. с. [" .. mw.text.trim(args['көп']) .. "]\n"
end
res = res .. '</div>'
return res
end
function p.render(frame)
local word, args = get_clean_word(frame)
local decl = require("Module:ky-decl")
local poss = require("Module:ky-poss")
local res = ""
res = res .. p.render_header(frame)
res = res .. decl.render_table(frame)
if args['таандык'] == "1" or args['таандык'] == "yes" then
res = res .. poss.render_possessive(frame)
end
res = res .. "[[Категория:Кыргыз тили]]\n"
res = res .. "[[Категория:Кыргыз зат атоочтор]]\n"
return res
end
return p