Mô đun:Thử/Mxn/Từ vị
Giao diện
local p = {}
---Cho ra danh sách các con chữ Nôm ứng với định danh từ vị được cho vào.
-- =p.demoticCharacters(mw.getCurrentFrame():newChild{args={"L1867"}})
function p.demoticCharacters(frame)
local template = frame:getParent()
local lexemeID = frame.args[1] or (template and template.args[1])
local lexeme = mw.wikibase.getEntity(lexemeID)
local translationLexemeIDs = {}
for i, sense in ipairs(lexeme:getSenses()) do
for j, claim in ipairs(sense.claims.P5972) do
local translationSenseID = claim.mainsnak.datavalue.value.id
local translationLexemeID = (mw.wikibase.lexeme.splitLexemeId(translationSenseID))
translationLexemeIDs[translationLexemeID] = true
end
end
local demoticCharacters = {}
for lexemeID, _ in pairs(translationLexemeIDs) do
local lexeme = mw.wikibase.getEntity(lexemeID)
if lexeme:getLanguage() == "Q875344" then
local lemma = lexeme:getLemma("vi-x-Q875344")
demoticCharacters[lemma] = true
end
end
local flattenedDemoticCharacters = {}
for character, _ in pairs(demoticCharacters) do
table.insert(flattenedDemoticCharacters, character)
end
return mw.text.listToText(flattenedDemoticCharacters)
end
return p