ključ (hrvatski jezik) - imenica

define

jednina, nominativ: же́нщина
jednina, genitiv: же́нщины
jednina, dativ: же́нщине
jednina, akuzativ: же́нщину
jednina, instrumental: же́нщиной
jednina, instrumental: же́нщиною
nominativ, množina: же́нщины
genitiv, množina: же́нщин
dativ, množina: же́нщинам
akuzativ, množina: же́нщин
množina, instrumental: же́нщинами
množina, prepositional case: же́нщинах

majki / majka

(L684542-S1) dio stabla iz kojeg niču listovi

španjolski: rama
osetski: Къалиу
mazanderanski: چله
bugarski: Клон
turski: Ağaç dalı
napolitanski: Rame
somalski: Laan
švedski: gren
ukrajinski: Гілка
tadžički: Навда
ido: Brancho
korejski: 가지
kazaški: Бұтақ
esperanto: branĉo
češki: větev
aragonski: Rama
bangla: শাখা
francuski: branche
javanski: ꦥꦁ
hrvatski: Grana
gornjolužički: hałuza, hałza
latvijski: zari, zars
Samogitian: Šaka
srpski: Грана
brazilski portugalski: ramo, galho
norveški nynorsk: grein
norveški bokmål: gren, grein
lingala: Etápi
engleski: branch, branchlet
arapski: غصن, فرع (علم النبات)
kantonski: 分支
mađarski: ág (növényanatómia)
baskijski: Adar
South Azerbaijani: آغاج دالی
kečuanski: K'allma
njemački: Ast
Lombard: Ramm
albanski: Dega
armenski: ճյուղ
donjosaksonski: braanze
zapadnofrizijski: Tûke
japanski: 枝
interlingua: Ramo
Norman: Braunque
oromski: Damee
hebrejski: ענף, ענף עץ
latinski: ramus
hindski: शाखा
santalski: ᱰᱟᱹᱨ
finski: oksa
talijanski: ramo
kineski: 枝, 樹枝
haićanski kreolski: Branch
estonski: Oks
soranski kurdski: لق
čuvaški: Турат
slovački: Konár
bjeloruski: Галінаванне
katalonski: branca
urdski: ٹہنی
portugalski: galho
irski: Craobh
kurdski: liq
malajalamski: ശാഖ
litavski: Šaka
Massa: mɓù gùnà
poljski: gałąź
aromunski: Lumachi
ruski: ветвь, ветка
indonezijski: cabang pohon
svahili: Tawi
škotski gaelski: geug, a' gheug
nizozemski: tak
slovenski: veja
jakutski: Салаа
perzijski: شاخه
Dagbani: wulli, wula
galicijski: Póla
lojban: tricu jimca
teluški: కొమ్మ
danski: gren

(L684542-S2) branša tvrtke

španjolski: división, división, empresa
mađarski: részleg, divízió
baskijski: dibisio
katalonski: divisió
njemački: Abteilung, Struktureinheit
bjeloruski: падраздзяленне
armenski: ձառնարկության բաժին
kineski: 事業部制, 事业部
danski: division
gruzijski: ქვედანაყოფი
japanski: 事業部門, 事業部制
švedski: division
hebrejski: אורגן, אורגן (חברה בע"מ)
kineski (tradicionalni): 事業部制, 事業部門
tadžički: зермаҷмӯъа
grčki: τμήμα
teluški: division
korejski: 부서
turski: bölüm, iş bölümü
esperanto: dividaĵo, dividaĵo de firmao
češki: divize, oddělení
tamilski: பிரிவு (வணிகம்)
talijanski: divisione, divisione aziendale
bangla: বিভাগ, ব্যবসায়িক বিভাগ
francuski: division, département
haićanski kreolski: direksyon
Belarusian (Taraškievica orthography): падразьдзяленьне
galicijski: división
urdski: ڈویژن
makedonski: одделение
hrvatski: division
jorupski: ẹ̀kà ibiṣẹ́, ẹ̀kà
irski: roinn
portugalski: divisão, divisão (negócios)
rumunjski: divizie
Egyptian Arabic: قسم
zapadnofrizijski: Difyzje, Difyzje (bedriuw)
srpski: пословни огранак
slovenski: oddelek, sektor
malajski: bahagian, bahagian perniagaan
brazilski portugalski: divisão
bosanski: ogranak
indonezijski: divisi, departemen
poljski: dział, wydział
norveški bokmål: avdeling, divisjon
nizozemski: bedrijfsonderdeel, vestiging
ruski: подразделение, отдел
perzijski: زیرمجموعه (شرکت)
bugarski: подразделение, отдел,
soranski kurdski: ژێرکۆمەڵە
engleski: division, business division
arapski: قسم
kineski (pojednostavljeni): 事业部制, 部门
ukrajinski: підрозділ

(L684542-S3) uvjetni dio računalnog programa

španjolski: Salto (informática), Salto (informatica)
kantonski: 分支 (電腦科學)
francuski: Branchement
hrvatski: Grana
ruski: Команда перехода, Условный переход
njemački: Sprunganweisung, Verzweigung (Programmierung)
Lombard: Salt (informatega)
kineski: 分支 (計算機科學)
turski: Dallanma
japanski: 分岐命令, 条件付分岐
ukrajinski: Команди переходу, Команди передачі управління
azerbajdžanski: JUMP INSTRUCTION
slovenski: vejitveni ukaz
estonski: siirdekäsk
talijanski: Salto, Salto condizionato
korejski: gd
engleski: branch instruction, branch
esperanto: branĉo
češki: instrukce skoku, podmíněný skok
katalonski: salt (informàtica)


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