Mô đun:Noarticletext
Giao diện
Tài liệu mô đun[tạo]
Bạn có thể muốn tạo một trang tài liệu cho mô đun Scribunto này. Biên tập viên sửa đổi có thể thử nghiệm trong các trang chỗ thử (tạo | sao) và trường hợp kiểm thử (tạo) của mô đun này. Các trang con của mô đun này. |
-- Các hàm hỗ trợ các thông điệp [[MediaWiki:Noarticletext]] và
-- [[MediaWiki:Newarticletext]].
local p = {}
local vietnamese = require "Mô đun:Quốc ngữ"
local lang = mw.getContentLanguage()
function p._variants(title)
local namespace = title.nsText
local pageName = title.text
local caseFuncs = {
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 = {}
if mw.ustring.len(pageName) > 3 then
for i, caseFunc in ipairs(caseFuncs) do
local caseVariant = caseFunc(lang, pageName)
if lang:ucfirst(caseVariant) ~= pageName and
mw.title.makeTitle(namespace, caseVariant).exists then
table.insert(variants, lang:ucfirst(caseVariant))
break
end
end
end
for i, spellingFunc in ipairs(spellingFuncs) do
local spellingVariant = spellingFunc(pageName)
if lang:ucfirst(spellingVariant) ~= pageName
and mw.title.makeTitle(namespace, spellingVariant).exists then
table.insert(variants, lang:ucfirst(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("wikivoyage-quotationmarks",
"[[" .. variant .. "]]"))
end
local list = table.concat(variants, ", ")
return tostring(mw.message.new("wikivoyage-didyoumean", list))
end
return p