-- Các hàm hỗ trợ các thông điệp [[MediaWiki:Noarticletext]] và
-- [[MediaWiki:Newarticletext]].
local p = {}
local vietnamese = require "Module:Quốc ngữ"
function p._variants(title)
local namespace = title.nsText
local pageName = title.text
local lang = mw.getContentLanguage()
local caseFuncs = {
lang.lcfirst, -- Viết thường chữ đầu tiên
lang.ucfirst, -- Viết hoa chữ đầu tiên
lang.lc, -- Viết thường toàn văn bản
lang.uc, -- Viết hoa toàn văn bản
lang.uc, -- Viết hoa toàn văn bản
}
local spellingFuncs = {
vietnamese._toTraditionalTones, -- Đổi thành dấu cũ
vietnamese._toModernTones, -- Đổi thành dấu mới
}
local variants = {}
for i, caseFunc in ipairs(caseFuncs) do
local caseVariant = caseFunc(lang, pageName)
if caseVariant ~= pageName and
mw.title.makeTitle(namespace, caseVariant).exists then
table.insert(variants, caseVariant)
break
end
end
for i, spellingFunc in ipairs(spellingFuncs) do
local spellingVariant = spellingFunc(pageName)
if spellingVariant ~= pageName
and mw.title.makeTitle(namespace, spellingVariant).exists then
table.insert(variants, spellingVariant)
break
end
end
return variants
end
p["trang tương tự"] = function (frame)
local title = mw.title.getCurrentTitle()
local variants = p._variants(title)
if #variants < 1 then return end
local namespace = mw.ustring.gsub(title.nsText, "_", " ")
for i, v in ipairs(variants) do
local variant = variants[i]
if #namespace > 0 then variant = namespace .. ":" .. variant end
variants[i] = tostring(mw.message.new("wiktionary-quotationmarks",
"[[" .. variant .. "]]"))
end
local list = table.concat(variants, ", ")
return tostring(mw.message.new("wiktionary-didyoumean", list))
end
return p