Мазмунга өтүү

Модуль:тектеш сөздөр

Wiktionary долбоорунан

Documentation for this module may be created at Модуль:тектеш сөздөр/doc

local p = {}

-- Тексттин талааларын аныктоо
local fields = {
  {keys = {"зат-атоочтор","nouns"}, ky = "Зат атоочтор", en = "Nouns"},
  {keys = {"сын-атоочтор","adjectives"}, ky = "Сын атоочтор", en = "Adjectives"},
  {keys = {"этиштер","verbs"}, ky = "Этиштер", en = "Verbs"},
  {keys = {"тактоочтор","adverbs"}, ky = "Тактоочтор", en = "Adverbs"},
  {keys = {"эркелетүү","diminutive"}, ky = "Эркелетүү/Кичирейтүү", en = "Diminutive/Affection"},
  {keys = {"кемсинтүү","pejorative"}, ky = "Кемсинтүү", en = "Pejorative"},
  {keys = {"чоңойтуу","augmentive"}, ky = "Чоңойтуу", en = "Augmentative"},
  {keys = {"формалары","otherforms"}, ky = "Башка формалары", en = "Other forms"},
  {keys = {"1","extra"}, ky = "", en = ""} 
}

-- Параметрлерди алуу функциясы
local function getParam(args, names)
  for _, n in ipairs(names) do
    local v = args[n]
    if v and v:match("%S") then return v end
  end
  return nil
end

-- Негизги функция
function p.make(frame)
  local parent = frame:getParent()
  local args = (parent and parent.args) or frame.args or {}

  local lang = (args["lang"] or args["язык"] or "ky"):lower()
  local showBoth = (lang == "both")
  local labelsInEnglish = (lang == "en")

  local parts = {}
  for _, f in ipairs(fields) do
    local val = getParam(args, f.keys)
    if val then
      if f.keys[1] == "1" then
        table.insert(parts, "* " .. val)
      else
        local label
        if showBoth then label = f.ky .. " / " .. f.en .. ":"
        elseif labelsInEnglish then label = f.en .. ":"
        else label = f.ky .. ":" end
        table.insert(parts, "* '''" .. label .. "''' " .. val)
      end
    end
  end

  if #parts == 0 then return "" end

  local content = table.concat(parts, "\n")
  

  local h_bg = '#DEDEDE'    -- Шапканын түсү
  local t_bg = '#F9F9F9'    -- Фондун түсү
  local b_color = '#aaaaaa' -- Рамканын түсү

  local result = '\n<div style="clear:both; width:100%; margin-top:20px; text-align:left;">'
  
  result = result .. '<div style="font-size: 1.2em; font-family: sans-serif; font-weight: bold; margin-bottom: 10px; border-bottom: 1px solid #a2a9b1; padding-bottom: 3px; color: #000;">Тектеш сөздөрү</div>'
  
  result = result .. '<div class="mw-collapsible mw-collapsed" style="width: 100%; border: 1px solid ' .. b_color .. '; background: ' .. t_bg .. '; font-size: 92%; font-family: sans-serif;">'
  
  result = result .. '<div style="background: ' .. h_bg .. '; padding: 4px 10px; font-weight: bold; text-align: left; border-bottom: 1px solid ' .. b_color .. ';">Жакын тектеш сөздөрү</div>'
  

  result = result .. '<div class="mw-collapsible-content" style="padding: 10px; background: ' .. t_bg .. ';">\n' .. content .. '\n</div></div></div>'

  return result
end

return p