Modulo:Sinogramma/composti
Aspetto
Istruzioni per l'uso
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Sinogramma/composti/man (modifica • cronologia)
Sandbox: Modulo:Sinogramma/composti/Sandbox (modifica•cronologia) • Test: Modulo:Sinogramma/composti/Test (modifica•cronologia)
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Sinogramma/composti/man (modifica • cronologia)
Sandbox: Modulo:Sinogramma/composti/Sandbox (modifica•cronologia) • Test: Modulo:Sinogramma/composti/Test (modifica•cronologia)
Questo modulo contiene il codice del Template:SinogrammaComposti, e genera le corrette (sotto)categorie dei composti dei caratteri cinesi.
-- Questo modulo, richiamato nel [[Template:Sinogramma/Composti]], categorizza le sottocategorie dei composti dei caratteri cinesi in base al radicale
local p = {}
function p.sinogramma(frame)
-- variabili richiamate nel template
tipo = frame.args["tipo"]
radicale = frame.args["radicale"]
tratti = frame.args["tratti"]
titolo = mw.title.getCurrentTitle().subpageText --il titolo della pagina, ovvero della categoria
-- variabili interne al modulo
cat = ""
local carattere = mw.ustring.gsub((tostring(mw.title.getCurrentTitle().subpageText)), '([㐀-䶵一-鿌\239\164\128-\239\171\153𠀀-])々', '%1%1') --trova i caratteri nel titolo della pagina
carattere = mw.ustring.gsub(carattere, '[^㐀-䶵一-鿌\239\164\128-\239\171\153𠀀-]', '') --rimuove tutto quello che non è carattere cinese dal titolo (spero)
-- lista dei radicali; inserendo come parametro un numero da 1 a 214 restituisce il radicale corrispondente, altrimenti genera un messaggio di errore
if radicale == "1" then
rad = "一"
elseif radicale == "2" then
rad = "丨"
elseif radicale == "3" then
rad = "丶"
elseif radicale == "4" then
rad = "丿"
elseif radicale == "5" then
rad = "乙"
elseif radicale == "6" then
rad = "亅"
elseif radicale == "7" then
rad = "二"
elseif radicale == "8" then
rad = "亠"
elseif radicale == "9" then
rad = "人"
elseif radicale == "10" then
rad = "儿"
elseif radicale == "11" then
rad = "入"
elseif radicale == "12" then
rad = "八"
elseif radicale == "13" then
rad = "冂"
elseif radicale == "14" then
rad = "冖"
elseif radicale == "15" then
rad = "冫"
elseif radicale == "16" then
rad = "几"
elseif radicale == "17" then
rad = "凵"
elseif radicale == "18" then
rad = "刀"
elseif radicale == "19" then
rad = "力"
elseif radicale == "20" then
rad = "勹"
elseif radicale == "21" then
rad = "匕"
elseif radicale == "22" then
rad = "匚"
elseif radicale == "23" then
rad = "匸"
elseif radicale == "24" then
rad = "十"
elseif radicale == "25" then
rad = "卜"
elseif radicale == "26" then
rad = "卩"
elseif radicale == "27" then
rad = "厂"
elseif radicale == "28" then
rad = "厶"
elseif radicale == "29" then
rad = "又"
elseif radicale == "30" then
rad = "口"
elseif radicale == "31" then
rad = "囗"
elseif radicale == "32" then
rad = "土"
elseif radicale == "33" then
rad = "士"
elseif radicale == "34" then
rad = "夂"
elseif radicale == "35" then
rad = "夊"
elseif radicale == "36" then
rad = "夕"
elseif radicale == "37" then
rad = "大"
elseif radicale == "38" then
rad = "女"
elseif radicale == "39" then
rad = "子"
elseif radicale == "40" then
rad = "宀"
elseif radicale == "41" then
rad = "寸"
elseif radicale == "42" then
rad = "小"
elseif radicale == "43" then
rad = "尢"
elseif radicale == "44" then
rad= "尸"
elseif radicale == "45" then
rad = "屮"
elseif radicale == "46" then
rad = "山"
elseif radicale == "47" then
rad = "巛"
elseif radicale == "48" then
rad = "工"
elseif radicale == "49" then
rad = "己"
elseif radicale == "50" then
rad = "巾"
elseif radicale == "51" then
rad = "干"
elseif radicale == "52" then
rad = "幺"
elseif radicale == "53" then
rad = "广"
elseif radicale == "54" then
rad = "廴"
elseif radicale == "55" then
rad = "廾"
elseif radicale == "56" then
rad = "弋"
elseif radicale == "57" then
rad = "弓"
elseif radicale == "58" then
rad = "彐"
elseif radicale == "59" then
rad = "彡"
elseif radicale == "60" then
rad = "彳"
elseif radicale == "61" then
rad ="心"
elseif radicale == "62" then
rad = "戈"
elseif radicale == "63" then
rad = "戶"
elseif radicale == "64" then
rad = "手"
elseif radicale == "65" then
rad = "支"
elseif radicale == "66" then
rad = "攴"
elseif radicale == "67" then
rad = "文"
elseif radicale == "68" then
rad = "斗"
elseif radicale == "69" then
rad = "斤"
elseif radicale == "70" then
rad = "方"
elseif radicale == "71" then
rad = "无"
elseif radicale == "72" then
rad = "日"
elseif radicale == "73" then
rad = "曰"
elseif radicale == "74" then
rad = "月"
elseif radicale == "75" then
rad = "木"
elseif radicale == "76" then
rad = "欠"
elseif radicale == "77" then
rad = "止"
elseif radicale == "78" then
rad = "歹"
elseif radicale == "79" then
rad = "殳"
elseif radicale == "80" then
rad = "毋"
elseif radicale == "81" then
rad = "比"
elseif radicale == "82" then
rad = "毛"
elseif radicale == "83" then
rad = "氏"
elseif radicale == "84" then
rad = "气"
elseif radicale == "85" then
rad = "水"
elseif radicale == "86" then
rad = "火"
elseif radicale == "87" then
rad = "爪"
elseif radicale == "88" then
rad = "父"
elseif radicale == "89" then
rad = "爻"
elseif radicale == "90" then
rad = "爿"
elseif radicale == "91" then
rad = "片"
elseif radicale == "92" then
rad = "牙"
elseif radicale == "93" then
rad = "牛"
elseif radicale == "94" then
rad = "犬"
elseif radicale == "95" then
rad = "玄"
elseif radicale == "96" then
rad = "玉"
elseif radicale == "97" then
rad = "瓜"
elseif radicale == "98" then
rad = "瓦"
elseif radicale == "99" then
rad = "甘"
elseif radicale == "100" then
rad = "生"
elseif radicale == "101" then
rad = "用"
elseif radicale == "102" then
rad = "田"
elseif radicale == "103" then
rad = "疋"
elseif radicale == "104" then
rad = "疒"
elseif radicale == "105" then
rad = "癶"
elseif radicale == "106" then
rad = "白"
elseif radicale == "107" then
rad = "皮"
elseif radicale == "108" then
rad = "皿"
elseif radicale == "109" then
rad = "目"
elseif radicale == "110" then
rad = "矛"
elseif radicale == "111" then
rad = "矢"
elseif radicale == "112" then
rad = "石"
elseif radicale == "113" then
rad = "示"
elseif radicale == "114" then
rad = "禸"
elseif radicale == "115" then
rad = "禾"
elseif radicale == "116" then
rad = "穴"
elseif radicale == "117" then
rad = "立"
elseif radicale == "118" then
rad = "竹"
elseif radicale == "119" then
rad = "米"
elseif radicale == "120" then
rad = "糸"
elseif radicale == "121" then
rad = "缶"
elseif radicale == "122" then
rad = "网"
elseif radicale == "123" then
rad = "羊"
elseif radicale == "124" then
rad = "羽"
elseif radicale == "125" then
rad = "老"
elseif radicale == "126" then
rad = "而"
elseif radicale == "127" then
rad = "耒"
elseif radicale == "128" then
rad = "耳"
elseif radicale == "129" then
rad = "聿"
elseif radicale == "130" then
rad = "肉"
elseif radicale == "131" then
rad = "臣"
elseif radicale == "132" then
rad = "自"
elseif radicale == "133" then
rad = "至"
elseif radicale == "134" then
rad = "臼"
elseif radicale == "135" then
rad = "舌"
elseif radicale == "136" then
rad = "舛"
elseif radicale == "137" then
rad = "舟"
elseif radicale == "138" then
rad = "艮"
elseif radicale == "139" then
rad = "色"
elseif radicale == "140" then
rad = "艸"
elseif radicale == "141" then
rad = "虍"
elseif radicale == "142" then
rad = "虫"
elseif radicale == "143" then
rad = "血"
elseif radicale == "144" then
rad = "行"
elseif radicale == "145" then
rad = "衣"
elseif radicale == "146" then
rad = "西"
elseif radicale == "147" then
rad = "見"
elseif radicale == "148" then
rad = "角"
elseif radicale == "149" then
rad = "言"
elseif radicale == "150" then
rad = "谷"
elseif radicale == "151" then
rad = "豆"
elseif radicale == "152" then
rad = "豕"
elseif radicale == "153" then
rad = "豸"
elseif radicale == "154" then
rad = "貝"
elseif radicale == "155" then
rad = "赤"
elseif radicale == "156" then
rad = "走"
elseif radicale == "157" then
rad = "足"
elseif radicale == "158" then
rad = "身"
elseif radicale == "159" then
rad = "車"
elseif radicale == "160" then
rad = "辛"
elseif radicale == "161" then
rad = "辰"
elseif radicale == "162" then
rad = "辵"
elseif radicale == "163" then
rad = "邑"
elseif radicale == "164" then
rad = "酉"
elseif radicale == "165" then
rad = "釆"
elseif radicale == "166" then
rad = "里"
elseif radicale == "167" then
rad = "金"
elseif radicale == "168" then
rad = "長"
elseif radicale == "169" then
rad = "門"
elseif radicale == "170" then
rad = "阜"
elseif radicale == "171" then
rad = "隶"
elseif radicale == "172" then
rad = "隹"
elseif radicale == "173" then
rad = "雨"
elseif radicale == "174" then
rad = "青"
elseif radicale == "175" then
rad = "非"
elseif radicale == "176" then
rad = "面"
elseif radicale == "177" then
rad = "革"
elseif radicale == "178" then
rad = "韋"
elseif radicale == "179" then
rad = "韭"
elseif radicale == "180" then
rad = "音"
elseif radicale == "181" then
rad = "頁"
elseif radicale == "182" then
rad = "風"
elseif radicale == "183" then
rad = "飛"
elseif radicale == "184" then
rad = "食"
elseif radicale == "185" then
rad = "首"
elseif radicale == "186" then
rad = "香"
elseif radicale == "187" then
rad = "馬"
elseif radicale == "188" then
rad = "骨"
elseif radicale == "189" then
rad = "高"
elseif radicale == "190" then
rad = "髟"
elseif radicale == "191" then
rad = "鬥"
elseif radicale == "192" then
rad = "鬯"
elseif radicale == "193" then
rad = "鬲"
elseif radicale == "194" then
rad = "鬼"
elseif radicale == "195" then
rad = "魚"
elseif radicale == "196" then
rad = "鳥"
elseif radicale == "197" then
rad = "鹵"
elseif radicale == "198" then
rad = "鹿"
elseif radicale == "199" then
rad = "麥"
elseif radicale == "200" then
rad = "麻"
elseif radicale == "201" then
rad = "黃"
elseif radicale == "202" then
rad = "黍"
elseif radicale == "203" then
rad = "黑"
elseif radicale == "204" then
rad = "黹"
elseif radicale == "205" then
rad = "黽"
elseif radicale == "206" then
rad = "鼎"
elseif radicale == "207" then
rad = "鼓"
elseif radicale == "208" then
rad = "鼠"
elseif radicale == "209" then
rad = "鼻"
elseif radicale == "210" then
rad = "齊"
elseif radicale == "211" then
rad = "齒"
elseif radicale == "212" then
rad = "龍"
elseif radicale == "213" then
rad = "龜"
elseif radicale == "214" then
rad = "龠"
else error("radicale non riconosciuto! Inserisci solo il *numero* (da 1 a 214) corrispondente al radicale; trovi la lista in Appendice:Caratteri cinesi/Radicali")
end
if tonumber(tratti) > 0 and tonumber(tratti) < 10 then
numerotratti = "0".. tratti.. " tratti"
else
numerotratti = tratti.. " tratti"
end
if tipo == "kanji" then
cat = "Questa categoria raccoglia i composti del carattere <big><big>[[" .. carattere .. "#Giapponese|".. carattere .. "]]</big></big> in giapponese [[Categoria:Composti dei kanji|".. rad .. "]]"
elseif tipo == "hanzi" then
cat = "Questa categoria raccoglia i composti del carattere <big><big>[[" .. carattere .. "#Cinese|".. carattere .. "]]</big></big> in cinese [[Categoria:Composti degli hanzi|".. rad .. "]]"
elseif tipo == "hanja" then
cat = "Questa categoria raccoglia i composti del carattere <big><big>[[" .. carattere .. "#Coreano|".. carattere .. "]]</big></big> in coreano [[Categoria:Composti degli hanja|".. rad .. "]]"
else error("il parametro 'tipo' ammette solo 'hanzi', 'kanji' o 'hanja'")
end
link = "Per un elenco ragionato ed editabile degli stessi composti, si veda [[Appendice:Caratteri cinesi/Composti/" .. numerotratti .. "/".. carattere .. "]]"
return
cat .. "<br/><br/>".. link
end
return p