Wiktionary hrwiktionary https://hr.wiktionary.org/wiki/Glavna_stranica MediaWiki 1.39.0-wmf.25 case-sensitive Mediji Posebno Razgovor Suradnik Razgovor sa suradnikom Wječnik Razgovor Wječnik Datoteka Razgovor o datoteci MediaWiki MediaWiki razgovor Predložak Razgovor o predlošku Pomoć Razgovor o pomoći Kategorija Razgovor o kategoriji TimedText TimedText talk Modul Razgovor o modulu Gadget Gadget talk Gadget definition Gadget definition talk Modul:WDLex 828 44296 267714 267695 2022-08-22T21:02:13Z Ivi104 4549 +definicije prevedenog smisla Scribunto text/plain local p = {} local vrste_rijeci = { -- promjenjive ["Q1084"] = "imenica", ["Q36224"] = "zamjenica", ["Q34698"] = "pridjev", ["Q63116"] = "broj", ["Q24905"] = "glagol", -- nepromjenjive ["Q380057"] = "prilog", ["Q4833830"] = "prijedlog", ["Q36484"] = "veznik", ["Q184943"] = "čestica", ["Q83034"] = "usklik" } local im_broj = { ["Q110786"] = "jednina", ["Q146786"] = "množina" } local im_padez = { ["Q131105"] = "nominativ", ["Q146233"] = "genitiv", ["Q145599"] = "dativ", ["Q146078"] = "akuzativ", ["Q185077"] = "vokativ", ["Q202142"] = "lokativ", ["Q192997"] = "instrumental" } local im_broj_rev = { ["j"] = "Q110786", ["m"] = "Q146786" } local im_padez_rev = { ["n"] = "Q131105", ["g"] = "Q146233", ["d"] = "Q145599", ["a"] = "Q146078", ["v"] = "Q185077", ["l"] = "Q202142", ["i"] = "Q192997" } local function getEntity() local frame = mw.getCurrentFrame() return frame, mw.wikibase.getEntity(frame.args['1']) end local function has_value (tab, val) for index, value in pairs(tab) do -- We grab the first index of our sub-table instead if value == val then return true end end return false end function p.getLemmas(lexeme) -- { {ključ, hr} } local frame, entity = getEntity(lexeme) local jezici = mw.language.fetchLanguageNames ('hr', 'all'); local rijec = entity:getLemmas()[1][1] local jezik = entity:getLemmas()[1][2] local retval = '' if (jezici[jezik] == nil) then retval = retval .. rijec .. ' (nepoznati jezik kratice '.. jezik .. ') - ' .. vrste_rijeci[entity:getLexicalCategory()] else retval = retval .. rijec .. ' ('.. jezici[jezik] ..' jezik) - ' .. vrste_rijeci[entity:getLexicalCategory()] end return retval end function p.define(frame, lexeme) return 'define' end function p.deklinacije() local frame, entity = getEntity(lexeme) local forms = entity:getForms() retval = '' for k, v in pairs(forms) do -- 1 do 14, tablica -- mw.logObject(v) local formFeatures = '' local formValues = '' for _, gv in pairs(v.grammaticalFeatures) do if #formFeatures == 0 then formFeatures = formFeatures .. mw.wikibase.getLabel(gv) else formFeatures = formFeatures .. ', ' ..mw.wikibase.getLabel(gv) end end local lang = '' for k, v in pairs(v.representations) do lang = k end if #formValues == 0 then formValues = formValues .. v.representations[lang].value else formValues = formValues .. ', ' ..v.representations[lang].value end retval = retval .. formFeatures .. ': ' .. formValues .. '<br>' end return retval end -- old function p.deklinacija() local frame, entity = getEntity(lexeme) -- local frame = mw.getCurrentFrame() padez = frame.args[2]:lower():sub(1, 1) broj = frame.args[3]:lower():sub(1, 1) if (vrste_rijeci[entity:getLexicalCategory()]) == "imenica" then local jezik = entity:getLemmas()[1][2] local forms = entity:getForms() retval = '' for k, v in pairs(forms) do -- 1 do 14, tablica -- mw.logObject(v.grammaticalFeatures) -- mw.log(has_value(v.grammaticalFeatures, im_broj_rev[broj]), has_value(v.grammaticalFeatures, im_padez_rev[padez])) if has_value(v.grammaticalFeatures, im_broj_rev[broj]) and has_value(v.grammaticalFeatures, im_padez_rev[padez]) then if #retval == 0 then retval = retval .. v.representations[jezik].value else retval = retval .. ' / ' ..v.representations[jezik].value end end end return retval else return 'Ostale vrste riječi još nisu podržane' end end function p.prijevodi() local frame, entity = getEntity(lexeme) local senses = entity:getSenses() local jezici = mw.language.fetchLanguageNames ('hr', 'all'); local stupci = 3 retval = '' -- P5137 item for this sense for _, v in pairs(senses) do local prijevodi = {} if v.claims.P5137 ~= nil then for _, pv in pairs(v.claims.P5137) do --mw.logObject(pv.id) local lex, sense = string.match(pv.id, "(L[0-9]*)-(S[0-9]*).*") retval = retval ..'(' ..lex .. '-' .. sense ..') '.. (v:getGloss('hr') or v:getGloss('en')) .. '<br />' local propertyValue = pv.mainsnak.datavalue.value.id local propValueEntity = mw.wikibase.getEntity(propertyValue) -- kratica jezika, label, alias for lang, val in pairs(propValueEntity.labels) do prijevodi[lang] = val.value end for lang, val in pairs(propValueEntity.aliases) do if prijevodi[lang] == nil then prijevodi[lang] = val[1].value else prijevodi[lang] = prijevodi[lang] .. ', ' .. val[1].value end end end end retval = retval .. '<div class="div-col columns column-width"' ..' style="-moz-column-count: '..stupci..'; column-count: '..stupci..'; -webkit-column-count: '..stupci..';">' for k, v in pairs(prijevodi) do retval = retval .. jezici[k] .. ': ' .. v .. '<br/>' end retval = retval .. '</div>' retval = retval .. '<hr>' -- todo sort languages end return retval end return p jn6dr5sdnzfz28uyvtuok054i3ujqwb