local p = {}
function p.ill(frame)
local args = mw.getCurrentFrame():getParent().args
args['viewInterwikiPageName'] = '0'
return p.runIll(args)
end
function p.ill_vipn(frame)
local args = mw.getCurrentFrame():getParent().args
args['viewInterwikiPageName'] = '1'
return p.runIll(args)
end
function p.runIll(args)
local mIllLink = require('モジュール:仮リンク/link/sandbox')
local result = ""
-- ソートキー
local namespace = mw.title.getCurrentTitle().namespace
if namespace % 2 == 0 then
if namespace <= 18 then
nsa = namespace / 2
else
nsa = "9" .. namespace
end
sort = nsa .. "]]"
else
if namespace < 10 then
nsa = "00" .. namespace
elseif namespace < 100 then
nsa = "0" .. namespace
else
nsa = namespace
end
sort = "話" .. nsa .. "]]"
end
local main = mw.title.new(args[1])
if main.exists then
title = main
args['link'] = args[1]
else
-- alt引数 alt1からalt4まで対応 iを5までとしているのは全て記事がなかった場合にmain/args[1]を使用するため
for i = 1, 5 do
altX = args['alt'..i]
if altX == "" or altX == nil or i == 5 then
title = main
args['link'] = args[1]
break
end
altx = mw.title.new(altX)
if altx.exists then
title = altx
args['link'] = altX
result = "[[Category:代替記事名にリンクしている仮リンクを含むページ|"
result = result .. sort
break
end
end
end
if title.exists then
if title.isRedirect then
-- 引数1の記事がリダイレクト
if args['FIXME'] ~= "" and args['FIXME'] ~= nil then
-- FIXME引数指定
args['view'] = 1
args['title'] = "(リンク先が誤っている可能性があります。)"
else
-- インデント+1ここから
local argRedirect = args['redirect']
if argRedirect == nil then argRedirect = "" end
local argPreserve = args['preserve']
if argPreserve == nil then argPreserve = "" end
args['view'] = argRedirect .. argPreserve
-- インデント+1ここまで
if args['view'] == "" then
args['title'] = ""
else
-- インデント+2ここから
args['title'] = "(リンク先の項目はリダイレクトなため、新規作成や他言語版からの翻訳が望まれます。)"
-- インデント+2ここまで
end
end
result = result .. mIllLink.otherLangLinkList(args)
else
-- 引数1の記事がリダイレクト以外で存在している
if args['FIXME'] ~= "" and args['FIXME'] ~= nil then
-- FIXME引数指定
args['view'] = 1
args['title'] = "(リンク先が誤っている可能性があります。)"
else
-- インデント+1ここから
args['view'] = args['preserve']
-- インデント+1ここまで
if args['view'] == "" then
args['title'] = ""
else
-- インデント+2ここから
args['title'] = "(リンク先の項目はまだ不十分なため、加筆や他言語版からの追加翻訳が望まれます。)"
-- インデント+2ここまで
end
end
result = mIllLink.otherLangLinkList(args)
end
-- 日本語版が記事・リダイレクト問わず存在する場合のカテゴリ 多言語版リンクの表示有無は関係しない
if namespace == "0" then
result = result .. "[[Category:解消済み仮リンクを含む記事]]"
else
result = result .. "[[Category:解消済み仮リンクを含むページ|"
result = result .. sort
end
else
-- 引数1の記事が存在しない
if args['nolink'] ~= "" and args['nolink'] ~= nil then
args['black'] = 1
end
args['view'] = 1
args['title'] = "(リンク先の項目はまだありません。新規の執筆や他言語版からの翻訳が望まれます。)"
result = mIllLink.otherLangLinkList(args)
end
-- preserve・redirectカテゴリ
if args['preserve'] ~= "" and args['preserve'] ~= nil then
result = result .. "[[Category:preserve引数が指定された仮リンクを含むページ|"
result = result .. sort
end
if args['redirect'] ~= "" and args['redirect'] ~= nil then
result = result .. "[[Category:redirect引数が指定された仮リンクを含むページ|"
result = result .. sort
end
if args['jafix'] ~= "" and args['jafix'] ~= nil then
result = result .. '<sup class="noprint Inline-Template nowrap">[<span title="'
if args['jafix'] == "1" then
result = result .. "日本語版記事名を検討する必要があります。"
else
result = result .. args['jafix']
end
result = result .. '">訳語疑問点</span>]</sup>[[Category:訳語に疑問点のある記事|仮リンク]]'
end
if args['FIXME'] ~= "" and args['FIXME'] ~= nil then
result = result .. '<sup class="noprint Inline-Template nowrap">[[[:Category:FIXME引数が指定された仮リンクを含むページ|<span title="'
if args['FIXME'] == "1" then
result = result .. "このリンクは修正が必要です。"
else
result = result .. args['FIXME']
end
result = result .. '">要リンク修正</span>]]]</sup>[[Category:FIXME引数が指定された仮リンクを含む記事|'
result = result .. sort
end
return result
end
return p