local export = {}
function export.make_table(data)
local colors = {
top = "#F0F0F0", gray = "#C0C0C0", straw = "#e2e4c0", blue = "#c0cfe4",
gray_text = "#7f7f7f", green = "#c0e4c0", tan = "#e4d4c0",
}
local result = {}
--header
table.insert(result,
[=[
<div class="NavFrame" style="clear:both">
<div class="NavHead" align=left> {{{imp_nom_s}}} 的變格(參見[[Appendix:維吾爾語名詞]])</div>
<div class="NavContent" align=center>
{| style="background:{{{top}}};width:100%;"
]=])
--decl
table.insert(result, export.make_case("無人稱","imp","straw"))
table.insert(result, export.make_case("第一人稱單數(我的)","p1s","blue"))
table.insert(result, export.make_case("第一人稱複數(我們的)","p1p","green"))
table.insert(result, export.make_case("第二人稱單數普通(你的)","p2so","tan"))
table.insert(result, export.make_case("第二人稱複數普通(你們的)","p2po","blue"))
table.insert(result, export.make_case("第二人稱單數文雅(你的)","p2sr","green"))
table.insert(result, export.make_case("第二人稱複數文雅(你們的)","p2pr","tan"))
table.insert(result, export.make_case("第二人稱尊稱(您的、您們的)","p2spr","blue"))
table.insert(result, export.make_case("第三人稱(他的、他們的)","p3","green"))
--footer
table.insert(result,
[=[
|}
</div>
</div>
]=])
local str,_ = mw.ustring.gsub(table.concat(result), "{{{([^}]+)}}}",
function(code)
return data.forms[code] or colors[code] or ""
end)
return str
end
function export.make_case(title,short,color)
local case = [=[
|-
! rowspan="14" style="background:{{{straw}}}" | 非人稱
! style="background:{{{straw}}};width:10%" |
! style="background:{{{straw}}};width:40%" | 單數
! style="background:{{{straw}}};width:40%" | 複數
|-
! style="height:3em;background:#ECECEC" | 主格
| {{{imp_nom_s}}}
| {{{imp_nom_p}}}
|-
! style="height:3em;background:#ECECEC" | 屬格
| {{{imp_gen_s}}}
| {{{imp_gen_p}}}
|-
! style="height:3em;background:#ECECEC" | 賓格
| {{{imp_acc_s}}}
| {{{imp_acc_p}}}
|-
! style="height:3em;background:#ECECEC" | 與格
| {{{imp_dat_s}}}
| {{{imp_dat_p}}}
|-
! style="height:3em;background:#ECECEC" | 方位格
| {{{imp_loc_s}}}
| {{{imp_loc_p}}}
|-
! style="height:3em;background:#ECECEC" | 離格
| {{{imp_abl_s}}}
| {{{imp_abl_p}}}
|-
! rowspan="2" style="height:3em;background:#ECECEC" | 範圍特徵格
| {{{imp_lqu_s}}}
| {{{imp_lqu_p}}}
|-
! colspan="2" style="height:3em;background:#ECECEC" |
<div class="NavFrame">
<div class="NavHead" align=center> 範圍特徵形式變格</div>
<div class="NavContent">
{| style="background:#ECECEC;text-align:center;width:100%"
|-
! style="background:#ECECEC;width:10%" |
! style="background:#ECECEC;width:45%" | 單數
! style="background:#ECECEC;width:45%" | 複數
|-
! style="height:3em;background:#ECECEC" | 主格
| {{{imp_lqu_nom_s}}}
| {{{imp_lqu_nom_p}}}
|-
! style="height:3em;background:#ECECEC" | 屬格
| {{{imp_lqu_gen_s}}}
| {{{imp_lqu_gen_p}}}
|-
! style="height:3em;background:#ECECEC" | 賓格
| {{{imp_lqu_acc_s}}}
| {{{imp_lqu_acc_p}}}
|-
! style="height:3em;background:#ECECEC" | 與格
| {{{imp_lqu_dat_s}}}
| {{{imp_lqu_dat_p}}}
|-
! style="height:3em;background:#ECECEC" | 方位格
| {{{imp_lqu_loc_s}}}
| {{{imp_lqu_loc_p}}}
|-
! style="height:3em;background:#ECECEC" | 離格
| {{{imp_lqu_abl_s}}}
| {{{imp_lqu_abl_p}}}
|-
! style="height:3em;background:#ECECEC" | 範圍特徵格
| {{{imp_lqu_lqu_s}}}
| {{{imp_lqu_lqu_p}}}
|-
! style="height:3em;background:#ECECEC" | 限格
| {{{imp_lqu_lim_s}}}
| {{{imp_lqu_lim_p}}}
|-
! style="height:3em;background:#ECECEC" | 形似格
| {{{imp_lqu_sem_s}}}
| {{{imp_lqu_sem_p}}}
|-
! style="height:3em;background:#ECECEC" | 量似格
| {{{imp_lqu_com_s}}}
| {{{imp_lqu_com_p}}}
|}
</div></div>
|-
! style="height:3em;background:#ECECEC" | 限格
| {{{imp_lim_s}}}
| {{{imp_lim_p}}}
|-
! style="height:3em;background:#ECECEC" | 形似格
| {{{imp_sem_s}}}
| {{{imp_sem_p}}}
|-
! style="height:3em;background:#ECECEC" | 量似格
| {{{imp_com_s}}}
| {{{imp_com_p}}}
|-
! rowspan="2" style="height:3em;background:#ECECEC" | representative
| {{{imp_rep_s}}}
| {{{imp_rep_p}}}
|-
! colspan="2" style="height:3em;background:#ECECEC" |
<div class="NavFrame">
<div class="NavHead" align=center> 代表形式變格<!--Declension of representative form--></div>
<div class="NavContent">
{| style="background:#ECECEC;text-align:center;width:100%"
|-
! style="background:#ECECEC;width:10%" |
! style="background:#ECECEC;width:45%" | 單數
! style="background:#ECECEC;width:45%" | 複數
|-
! style="height:3em;background:#ECECEC" | 主格
| {{{imp_rep_nom_s}}}
| {{{imp_rep_nom_p}}}
|-
! style="height:3em;background:#ECECEC" | 屬格
| {{{imp_rep_gen_s}}}
| {{{imp_rep_gen_p}}}
|-
! style="height:3em;background:#ECECEC" | 賓格
| {{{imp_rep_acc_s}}}
| {{{imp_rep_acc_p}}}
|-
! style="height:3em;background:#ECECEC" | 與格
| {{{imp_rep_dat_s}}}
| {{{imp_rep_dat_p}}}
|-
! style="height:3em;background:#ECECEC" | 方位格
| {{{imp_rep_loc_s}}}
| {{{imp_rep_loc_p}}}
|-
! style="height:3em;background:#ECECEC" | 離格
| {{{imp_rep_abl_s}}}
| {{{imp_rep_abl_p}}}
|-
! style="height:3em;background:#ECECEC" | 範圍特徵格
| {{{imp_rep_lqu_s}}}
| {{{imp_rep_lqu_p}}}
|-
! style="height:3em;background:#ECECEC" | 限格
| {{{imp_rep_lim_s}}}
| {{{imp_rep_lim_p}}}
|-
! style="height:3em;background:#ECECEC" | 形似格
| {{{imp_rep_sem_s}}}
| {{{imp_rep_sem_p}}}
|-
! style="height:3em;background:#ECECEC" | 量似格
| {{{imp_rep_com_s}}}
| {{{imp_rep_com_p}}}
|}
</div></div>
]=]
if title ~= "" then case = string.gsub(case,"impersonal",title) end
if short ~= "" then case = string.gsub(case,"imp_",short .. "_") end
if color ~= "" then case = string.gsub(case,"straw",color) end
return case
end
return export