Modul:families/data/hierarchy
- Berikut merupakan pendokumenan yang terletak di Modul:families/data/hierarchy/doc. [sunting] Kategori dijana secara automatik oleh Modul:pendokumenan. [sunting]
- Pautan berguna: laman akar • sublaman laman akar • pautan • transklusi • kes ujian • kotak pasir
Afroasia (afa)
| ||||||||||||||||||||||
├───Barbar (ber)
├───
|
Algik (aql)
| ||||
|
Andaman Raya (qfa-adm)
|
├───Andaman Raya Selatan (qfa-ads)├─── Andaman Raya Tengah (qfa-adc)└─── Andaman Raya Utara (qfa-adn) |
Anim (paa-ani)
| ||||
└─── |
Arawak (awd)
|
├───Nawiki (awd-nwk)└─── Ta-Arawak (awd-taa) |
Arnhem (aus-arn)
|
└───Gunwinyguan (aus-gun) |
Austroasia (aav)
| ||||||||
├─── |
Border (paa-bor)
|
├───Bewani (paa-bew)├─── Taikat-Awyi (paa-taa)└─── Waris (paa-war) |
Chukotka-Kamchatka (qfa-cka)
|
└───Chukotka (qfa-ckn) |
Dataran Tasik (paa-lpl)
| ||
├───Dataran Tasik Barat (paa-wlp)
├─── |
Dene-Yenisei (qfa-dny)
| ||||||||
|
Dravidia (dra)
| ||||||||||||||||||||||||
|
Eleman (paa-ele)
|
├───Eleman Barat (paa-wel)└─── Eleman Timur (paa-eel) |
Eskimo-Aleut (esx)
| ||
|
Halmahera Utara (paa-nha)
| ||||
|
Harákmbut-Katukinan (sai-hkt)
|
├───Harákmbut (sai-har)└─── Katukinan (sai-ktk) |
Hmong-Mien (hmx)
|
├───Hmongik (hmn)└─── Mienik (hmx-mie) |
Hokan (hok)
|
├───Jicaquean (nai-jcq)├─── Pakawan (nai-pak)├─── Pomo (nai-pom)├─── Shastan (nai-shs)└─── Tequistlatecan (nai-tqn) |
Indo-Eropah (ine)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
├───Albania (sqj)
├───
├───
|
Iroquois (iro)
|
└───Iroquois Utara (iro-nor) |
Jepunik (jpx)
| ||
|
Karib (sai-car)
| ||||
├─── |
Kartvelia (ccs)
| ||
|
Kaukasus Barat Laut (cau-nwc)
|
├───Abkhaz-Abaza (cau-abz)└─── Circassia (cau-cir) |
Kaukasus Timur Laut (cau-nec)
| ||||||||||
├───
|
Keram (paa-ker)
|
├───Keram Barat (paa-wke)└─── Keram Timur (paa-eke) |
Khoe-Kwadi (khi-kkw)
| ||
|
Kra-Dai (qfa-tak)
| ||||||||||||
├───
|
Kwerba Raya (paa-gkw)
|
├───Kwerba tepat (paa-kwe)└─── Samarokena-Airoran (paa-saa) |
Makro-Chibcha (qfa-mch)
|
├───Chibcha (cba)└─── Misumalpa (nai-min) |
Makro-Jê (sai-mje)
| ||||
|
Mataco-Guaicuru (sai-mgc)
|
├───Guaicuruan (sai-guc)└─── Matacoan (sai-mtc) |
Niger-Congo (nic)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
├───
└─── |
Nilo-Sahara (ssa)
| ||||||||||||||||||||||||
├───Fur (ssa-fur)├─── Koman (ssa-kom)├─── Kuliak (ssa-klk)├─── Sahara (ssa-sah)├─── Songhay (son)
|
Oto-Mangue (omq)
| ||||||||
├───Chinantecan (omq-chi)├─── Mazatecan (omq-maz)
|
Pama-Nyunga (aus-pam)
| ||
├───Arandic (aus-rnd)├─── Dyirbal (aus-dyb)├─── Karnic (aus-kar)├─── New South Wales Tengah (aus-cww)├─── Pama (aus-pmn)
├─── |
Pano-Tacana (sai-pat)
|
├───Pano (sai-pan)└─── Tacanan (sai-tac) |
Pen-Uti Penara (nai-plp)
|
└───Sahaptian (nai-shp) |
Ramu (paa-ram)
| ||||
├───Aian (paa-aia)├─── Ataitan (paa-ata)├─── Porapora (paa-por)
|
Sepik (paa-sep)
| ||
├───Iwam (paa-iwa)
|
Serbi-Mongolik (qfa-xgs)
| ||||||
|
Sino-Tibet (sit)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
├───Angami-Pochuri (tbq-anp)
├───
├───
├───
├───
├─── |
Sioux-Catawba (nai-sca)
| ||||
├───Catawba (nai-cat)
|
Sko (paa-sko)
|
├───Bukit Serra (paa-shi)├─── Sko Pedalaman (paa-isk)└─── Sungai Piore (paa-pio) |
Timor-Alor-Pantar (paa-tap)
|
├───Alor-Pantar (paa-alp)└─── Timor Timur (paa-eti) |
Tor-Orya (paa-too)
| ||
|
Torricelli (paa-trr)
| ||||||||
|
Trans-New Guinea (ngf)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
├───
├───
├───
├───
├─── |
Tungusik (tuw)
|
├───Ewenik (tuw-ewe)├─── Jurchenik (tuw-jrc)├─── Nanaik (tuw-nan)└─── Udegheik (tuw-udg) |
Tupi (tup)
| ||
|
Turkik (trk)
| ||||||
├───Oghur (trk-ogr)
|
Uralik (urj)
| ||||||
├───Finnik (urj-fin)├─── Mari (chm)├─── Mordvinik (urj-mdv)
├───
|
Uto-Aztek (azc)
| ||||
├───
|
Yam (paa-yam)
| ||||
├───Nambu (paa-nam)
|
Yok-Uti (nai-you)
|
├───Uti (nai-utn)└─── Yokuts (yok) |
isyarat (sgn)
| ||
├───Bahasa Isyarat Jepun (sgn)├─── Bahasa Isyarat Jerman (sgn)
|
pertalian yang dipertikaikan (qfa-dis)
|
└───Mbaham-Iha (paa-mbi) |
sentuhan (qfa-cnt)
| ||
├───campuran (qfa-mix)
|
local p = {}
local fam = mw.loadData("Module:families/data")
local function format(code)
if code == "sgn" then
return "<code>[[:Kategori:Bahasa isyarat|isyarat <span style=\"color:var(--wikt-palette-green-9,green);\">(sgn)</span>]]</code>"
elseif code == "sgn-fsl" then
return "<code>[[:Kategori:Bahasa Isyarat Perancis|Bahasa Isyarat Perancis <span style=\"color:var(--wikt-palette-green-9,green);\">(sgn)</span>]]</code>"
elseif code == "sgn-gsl" then
return "<code>[[:Kategori:Bahasa Isyarat Jerman|Bahasa Isyarat Jerman <span style=\"color:var(--wikt-palette-green-9,green);\">(sgn)</span>]]</code>"
elseif code == "sgn-jsl" then
return "<code>[[:Kategori:Bahasa Isyarat Jepun|Bahasa Isyarat Jepun <span style=\"color:var(--wikt-palette-green-9,green);\">(sgn)</span>]]</code>"
else
return "<code>[[:Kategori:Bahasa-bahasa " .. fam[code][1] .. "|" .. fam[code][1] .. " <span style=\"color:var(--wikt-palette-green-9,green);\">(" .. code .. ")</span>]]</code>"
end
end
local function dump(data, prefix)
if type(data) == "string" then
return format(data)
else
local result = ""
local branch = "├───"
local next_level = prefix .. "│ "
local current = ""
for i,val in ipairs(data) do
if i == #data then
branch = "└───"
next_level = prefix .. " "
end
if #val == 0 then
result = result .. prefix .. branch .. dump(val.name) .. "<br/>"
else
result = result .. "{{(!}} class=mw-collapsible style=border-collapse:collapse\n{{!}}"
result = result .. prefix .. branch .. dump(val.name)
result = result .. "\n{{!-}}\n{{!}}"
result = result .. dump(val, next_level)
result = result .. "\n{{!)}}\n"
end
end
return result
end
end
local function deep_sort(current)
local result = {}
local is_table = {}
for key,val in pairs(current) do
if type(key) == "number" then
table.insert(result, val)
else
is_table[key] = true
table.insert(result, key)
end
end
table.sort(result, function(a,b)
return (fam[a] or error(a))[1] < (fam[b] or error(b))[1]
end)
local i = 2
while i<#result do
while fam[result[i-1]] == fam[result[i]] do
table.remove(result,i)
end
i = i + 1
end
for i=1,#result do
if is_table[result[i]] then
local name = result[i]
result[i] = deep_sort(current[result[i]])
result[i].name = name
else
result[i] = {name = result[i]}
end
end
return result
end
function p.show(frame)
local children = {}
for key,val in pairs(fam) do
if val[3] and val[3] ~= "qfa-not" and val[3] ~= "qfa-und" then
if children[val[3]] then
table.insert(children[val[3]], key)
else
children[val[3]] = {key}
end
end
end
local function make_nested(data)
local make_nil = {}
for key,val in pairs(data) do
if type(key) == "number" then
if children[val] then
data[val] = make_nested(children[val])
table.insert(make_nil, key)
children[val] = nil
end
else
data[key] = make_nested(val)
end
end
for _,key in ipairs(make_nil) do
data[key] = nil
end
return data
end
children = make_nested(children)
children = deep_sort(children)
local result = ""
for i=1,#children do
result = result .. "\n\n\n{| class=mw-collapsible style=border-collapse:collapse\n|" .. format(children[i].name) .. "\n|-\n|"
result = result .. dump(children[i], " ")
result = result .. "\n|}"
end
return frame:preprocess(result)
end
return p