()
 




 









 








 




































 










 
 




   



稿

 

















:/link








 











 




















 









   


 






 




 









URL
QR
 




/  



PDF

 

















   

 





半永久的に保護されているモジュール



< :

モジュールの解説[表示] [編集] [履歴] [キャッシュを破棄]

モジュール:仮リンクの内部で使用されるモジュール。

local p = {}

function p.otherLangLinkList(args)

    local label = ""
 if args['label'] ~= "" and args['label'] ~= nil then
  label = "|" .. args['label']
 end
 
 if args['view'] ~= "" and args['view'] ~= nil then
  local result = {}
  
  -- ツールチップ指定
  result[1] = string.format(
   '<span title="%s">[[%s%s]]',
   args['title'],
   args[1],
   label
   )
   
  if args[2] ~= "" and args[3] ~= "" then
   -- フォント指定
   if args['viewInterwikiPageName'] ~= '1' then
    result[2] = '<span style="font-size: 0.77em; font-weight: normal;" class="noprint">'
   else
    result[2] = ''
   end

   -- 改行指定対応
   if args['br'] == "" or args['br'] == nil then
    result[3] = ""
   else
    result[3] = '<br/>'
   end
   
   result[4] = '('
   if args['viewInterwikiPageName'] == '1' then
    result[5] = p.otherLangLinkDispName(args[2], args[3], args['interwikilabel'], args['short'], args['links'])
   else
    local tmp = {}
    tmp[1] = p.otherLangLink(args[2], args[3])
    tmp[2] = p.otherLangLink(args[4], args[5])
    tmp[3] = p.otherLangLink(args[6], args[7])
    tmp[4] = p.otherLangLink(args[8], args[9])
    result[5] = table.concat(p._tableShorten(tmp), '、')
   end
   result[6] = ')'
   
   if args['viewInterwikiPageName'] ~= '1' then
    result[7] = '</span>'
   else
    result[7] = ''
   end
  end
  
  result[8] = '</span>'
  
  return table.concat(p._tableShorten(result))
 else
  return string.format(
   '[[%s%s]]',
   args[1],
   label
   )
 end
end

function p.otherLangLink(langCode, pageName)
 -- 引数が指定されていない場合は空文字を返す
 if langCode == "" or langCode == nil or pageName == "" or pageName == nil then
  return ""
 end
 
 local langDisp
 
 -- wikidataの場合は「wikidata」、それ以外の場合は言語名+「版」とする
 if langCode == 'wikidata' then
  langDisp = 'wikidata'
 else
  local mWikipediaLangName = require('モジュール:Wikipedia言語名')
 
  local newFrameArg = {}
  newFrameArg[1] = langCode
  local newFrame = { args = newFrameArg }
  
  langDisp = mWikipediaLangName.GetWikipediaPageName(newFrame)
 end
 
 if langDisp == nil then
  error('言語コードの指定に誤りがあります')
 elseif langCode ~= 'wikidata' then
  langDisp = langDisp .. '版'
 end
 
 return string.format(
  '[[:%s:%s|%s]]',
  langCode,
  pageName,
  langDisp
  )
end

function p.otherLangLinkDispName(langCode, pageName, interwikilabel, short, links)
 -- 必須引数が指定されていない場合は空文字を返す
 if langCode == "" or langCode == nil or pageName == "" or pageName == nil then
  return ""
 end
 
 -- 他言語版リンクラベル名が指定されていない場合はページ名を指定
 if interwikilabel == "" or interwikilabel == nil then
  interwikilabel = pageName
 end
 
 -- ページリンク部分取得
 local pageLink = string.format(
  '<span lang="%s" xml:lang="%s">[[:%s:%s|%s]]</span>',
  langCode,
  langCode,
  langCode,
  pageName,
  interwikilabel
  )
 
 -- 言語ページ取得
 local mWikipediaLangName = require('モジュール:Wikipedia言語名')
 local newFrameArg = {}
 newFrameArg[1] = langCode
 local newFrame = { args = newFrameArg }
 local langPage = mWikipediaLangName.GetWikipediaPageName(newFrame) 
 
 if langPage == nil then
  error('言語コードの指定に誤りがあります')
 end
 
 -- 言語表示名取得
 local langDisp
 local localShort = short
 if short == 'on' then
  newFrameArg = {}
  newFrameArg[1] = langCode .. '-short'
  newFrame = { args = newFrameArg }
  langDisp = mWikipediaLangName.GetWikipediaPageName(newFrame) 
  if langPage == langDisp then
   localShort = 'off'
  end
 end
 
 -- 言語表示部分取得
 local langLink
 if links ~= 'no' and localShort ~= 'on' then
  -- デフォルト(リンクあり、言語名省略なし)
  langLink = string.format(
   '[[%s]]',
   langPage
   )
 elseif links ~= 'no' and localShort == 'on' then
  -- リンクあり、言語名省略
  langLink = string.format(
   '[[%s|%s]]',
   langPage,
   langDisp
   )
 elseif links == 'no' and localShort ~= 'on' then
  -- リンクなし、言語名省略なし
  langLink = langPage
 else
  -- リンクなし、言語名省略
  langLink = langDisp
 end
 
 return langLink .. ': ' .. pageLink

end

function p._tableShorten(t)
 local newTable = {}
 local i = 0
 for j,m in ipairs(t) do
  if m ~= "" and m ~= nil then
   i = i + 1
   newTable[i] = m
  end
 end
 
 return newTable
end

return p

https://ja.wikipedia.org/w/index.php?title=モジュール:仮リンク/link&oldid=76171845

: 


 



 2020213 () 06:00 UTC

 -















Cookie





Wikimedia Foundation
Powered by MediaWiki