local export = {}
local m_zh = require("Module:zh")
local conventional_names = {
['beginning'] = 'Mandarin Asas',
['asas'] = 'Mandarin Asas',
['elementary'] = 'Mandarin Rendah',
['rendah'] = 'Mandarin Rendah',
['intermediate'] = 'Mandarin Pertengahan',
['tengah'] = 'Mandarin Pertengahan',
['advanced'] = 'Mandarin Tinggi',
['tinggi'] = 'Mandarin Tinggi',
['antonymous'] = 'Sebatian berlawanan bahasa Cina',
['berlawanan'] = 'Sebatian berlawanan bahasa Cina',
["disyllabic"] = "Morfem dwisuku bahasa Cina",
["variant"] = "Bentuk varian bahasa Cina",
["simplified"] = "Bentuk ringkas bahasa Cina",
["obsolete"] = "Kata usang bahasa Cina",
["wasei kango"] = "Wasei kango",
["twice-borrowed"] = "Kata dipinjam dua kali bahasa Cina",
["tcm"] = "zh:perubatan tradisional Cina",
["phrasebook"] = "buku frasa bahasa Cina",
["short"] = "Bentuk pendek bahasa Cina",
["genericized trademark"] = "penanda generik bahasa Cina",
["taboo"] = "Kata bahasa Cina yang timbul dari menghindari pantang larang",
["triplicated"] = "Askara bahasa Cina tiga salinan",
["duplicated"] = "Askara bahasa Cina dua salinan",
["quadruplicated"] = "Askara bahasa Cina empat salinan",
["stratagem"] = "Tiga Puluh Enam Strategi",
["juxtapositional idiom"] = "Simpulan bahasa penjajaran bahasa Cina",
["pseudo-idiom"] = "Simpulan bahasa semu bahasa Cina",
["contranym"] = "Kontranim bahasa Cina",
["xiehouyu"] = "Xiehouyu bahasa Cina",
["character shape word"] = "Kata Cina membuat rujukan kepada bentuk askara",
["mandarin colloquialisms"] = "Bahasa pasar bahasa Mandarin",
["reduplicative diminutive nouns"] = "Kata nama dimunitif reduplikatif bahasa Cina",
["reduplicative diminutive proper nouns"] = "Kata nama khas dimunitif reduplikatif bahasa Cina",
["reduplicative diminutive pronouns"] = "Kata ganti nama dimunitif reduplikatif bahasa Cina",
}
function export.generateClsLink(text, doNotUsePagename)
local trad = doNotUsePagename and text or mw.title.getCurrentTitle().text
local simp = m_zh.ts(trad)
return "Kategori:Kata nama bahasa Cina diklasifikasikan mengikut " .. (trad ~= simp and (trad .. "/" .. simp) or trad)
end
function export.categorize(frame)
local args = type(frame) == "table" and frame:getParent().args or { frame }
local PAGENAME = mw.title.getCurrentTitle().text
local sortkey = require("Module:zh-sortkey").makeSortKey(PAGENAME)
local text = ""
for _, cat in ipairs(args) do
if mw.ustring.match(cat, "Classifier") then
local parts = mw.text.split(cat, ":")
text = text .. "[[" .. export.generateClsLink(parts[2], true) .. "|" .. sortkey .. "]]"
elseif conventional_names[mw.ustring.lower(cat)] then
text = text .. "[[Kategori:" .. conventional_names[mw.ustring.lower(cat)] .. "|" .. sortkey .. "]]"
else
text = text .. "[[Kategori:zh:" .. cat .. "|" .. sortkey .. "]]"
end
end
return (mw.title.getCurrentTitle().nsText == "" and text or "")
end
function export.clsCat(frame)
local PAGENAME = mw.title.getCurrentTitle().text
local part = mw.text.split(PAGENAME, " ")
local character = part[#part]
local sortkey = require("Module:zh-sortkey").makeSortKey(character)
return "Kata nama bahasa Cina menggunakan " .. m_zh.link(frame, nil, { character, tr = "-" }, character) ..
" sebagai pengelasannya.\n[[Kategori:Kata nama bahasa Cina mengikut pengelasan|" .. sortkey .. "]]"
end
return export