Modül:aile ağacı/köken dilleri

Merhaba, buraya Modül:aile ağacı/köken dilleri kelimesinin anlamını aramaya geldiniz. DICTIOUS'da Modül:aile ağacı/köken dilleri kelimesinin tüm sözlük anlamlarını bulmakla kalmayacak, aynı zamanda etimolojisini, özelliklerini ve Modül:aile ağacı/köken dilleri kelimesinin tekil ve çoğul olarak nasıl söylendiğini de öğreneceksiniz. Modül:aile ağacı/köken dilleri kelimesi hakkında bilmeniz gereken her şey burada. Modül:aile ağacı/köken dilleri kelimesinin tanımı, konuşurken veya metinlerinizi yazarken daha kesin ve doğru olmanıza yardımcı olacaktır. XXX'in ve diğer kelimelerin tanımını bilmek, kelime dağarcığınızı zenginleştirir ve size daha fazla ve daha iyi dilsel kaynaklar sağlar.
Modül belgelemesi


local language_codes = require "Modül:diller/koddan asıl ada"

local function determine_preferred_etymology_language_code(code1, code2)
	if code2:find "^+$" then
		if code1:find "^+$" then
			if not code2:find "%u%l" then
				if not code1:find "%u%l" then
					if #code2 < #code1 then
						return code2
					else
						-- Prefer nrf-grn and nrf-jer over roa-grn and roa-jer
						-- (Guernsey and Jersey).
						local first_word1, first_word2 =
							code1:match "^+", code2:match "^+"
						if first_word1 and first_word2
						and language_codes then
							return code1
						else
							return code2
						end
					end
				else
					return code2
				end
			else
				return code1
			end
		else
			return code2
		end
	else
		return code1
	end
end

local function fold(t, accum, func)
	for k, v in pairs(t) do
		accum = func(k, v, accum)
	end
	return accum
end

local function invert(t)
	local inverted = {}
	for k, v in pairs(t) do
		inverted = k
	end
	return inverted
end

return invert(fold(
	require "Modül:köken dilleri/veri",
	{},
	function (kod, data, data_to_code)
		if data_to_code then
			local preferred_code = determine_preferred_etymology_language_code(data_to_code, kod)
			data_to_code = preferred_code
			table.insert(data.kodlar, kod)
		else
			data_to_code = kod
			data.kodlar = { kod }
		end
		return data_to_code
	end))