Mô đun:Noarticletext
Mô-đun này là loại cần được khóa. Nó là một mô-đun nhìn thấy rõ được sử dụng bởi một số lượng lớn các trang, hoặc là các thay thế rất thường xuyên. Bởi vì phá hoại hoặc lỗi sai khi sửa sẽ ảnh hưởng đến nhiều trang và thậm chí chỉnh sửa tầm thường có thể gây ra tải đáng kể cho các máy chủ, nó được khóa bảo vệ hạn chế sửa đổi. |
Mô đun Lua này được sử dụng trong MediaWiki:Newarticletext, MediaWiki:Noarticletext, MediaWiki:Noarticletext-nopermission, MediaWiki:Nocreatetext và MediaWiki:Filepage-nofile-link. Thay đổi đến nó có thể dẫn đến thay đổi ngay lập tức giao diện người dùng Wikipedia. Để tránh gây lỗi trên quy mô lớn, tất cả thay đổi cần được thử nghiệm ở trang con /sandbox, /testcases của mô đun, hoặc ở chỗ thử mô đun. Các thay đổi đã được thử nghiệm có thể thêm vào mô đun bằng một sửa đổi duy nhất. Xin hãy thảo luận các thay đổi tại trang thảo luận trước khi áp dụng sửa đổi. |
Mô đun:Noarticletext là mô đun được sử dụng trong MediaWiki:Newarticletext, MediaWiki:Noarticletext, MediaWiki:Noarticletext-nopermission, MediaWiki:Nocreatetext và MediaWiki:Filepage-nofile-link để kiểm tra các tiêu đề của các trang liên quan mà người dùng muốn xem và hiển thị chúng trong hộp thông báo "Có phải bạn muốn xem?".
Mô đun sẽ kiểm tra các tiêu đề sau:
- Viết hoa toàn bộ tên bài
- Viết thường toàn bộ tên bài
- Có lỗi chính tả tiếng Việt
Nếu bạn bật tiện ích tự động đổi hướng trang trong Đặc biệt:Tùy chọn#mw-prefsection-gadgets, tiện ích sẽ tự động đổi hướng bạn tới trang được gợi ý trong thông báo "Có phải bạn muốn xem?".
-- 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ữ"
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("wikipedia-quotationmarks",
"[[:" .. variant .. "]]"))
end
local list = table.concat(variants, ", ")
return tostring(mw.message.new("wikipedia-didyoumean", list))
end
return p