| 🌟 | 現在、 鉄壁HSは通常HSと同じダメージになります。LMG及びDMR、チャージライフル、ハンマーポイント弾を除き、すべてのダメージ値が一致していることを確認しています。 |
「モジュール:LanguageTable」の版間の差分
ナビゲーションに移動
検索に移動
(強調テキストマークアップの不具合を修正) |
(武器以外の表示に対応) |
||
| (同じ利用者による、間の1版が非表示) | |||
| 6行目: | 6行目: | ||
local getArgs -- lazily initialized | local getArgs -- lazily initialized | ||
local function | local function renderLanguageTable(args) | ||
local cfglang = cfg[args.lang] | local cfglang = cfg[args.lang] | ||
local | local mode = args.mode or 'weapon' | ||
local tbl = mw.html.create('table') | local tbl = mw.html.create('table') | ||
:addClass('wikitable') | :addClass('wikitable') | ||
:addClass('langtable') | |||
:tag('tr') | :tag('tr') | ||
:tag('th'):wikitext(cfglang.language):done() | :tag('th'):wikitext(cfglang.language):done() | ||
:tag('th'):wikitext(cfglang.name):done() | :tag('th'):wikitext(cfglang.name):done() | ||
:done() | :done() | ||
for lang, langname in pairs(cfglang.items) do | if mode == 'weapon' then | ||
local getEmphasizableText = aw.getEmphasizableTextFunc('\'\'\'%s\'\'\'') | |||
for lang, langname in pairs(cfglang.items) do | |||
local shortname = nu.weaponname(args.key, lang) | |||
local longname = nu.weaponfullname(args.key, lang) | |||
local suitablename = getEmphasizableText(longname, shortname) | |||
:wikitext(langname) | tbl:tag('tr') | ||
:done() | :tag('td') | ||
:wikitext(langname) | |||
:done() | |||
:tag('td') | |||
:attr('lang', lang) | |||
:wikitext(suitablename) | |||
end | |||
else | |||
for lang, langname in pairs(cfglang.items) do | |||
local name = nu[mode](args.key, lang) | |||
tbl:tag('tr') | |||
:tag('td') | |||
:wikitext(langname) | |||
:done() | |||
:tag('td') | |||
:attr('lang', lang) | |||
:wikitext(name) | |||
end | |||
end | end | ||
return string.format('== %s ==\n', cfglang.title) .. tostring(tbl) | return string.format('== %s ==\n', cfglang.title) .. tostring(tbl) | ||
| 40行目: | 55行目: | ||
end | end | ||
function p. | function p._main(args) | ||
return | return renderLanguageTable(args) | ||
end | end | ||
function p. | function p.main(frame) | ||
local args = preload(frame) | local args = preload(frame) | ||
return p. | return p._main(args) | ||
end | end | ||
return p | return p | ||
2021年5月17日 (月) 16:46時点における最新版
このモジュールについての説明文ページを モジュール:LanguageTable/doc に作成できます
local p = {}
local cfg = mw.loadData('Module:LanguageTable/configuration')
local aw = require('Module:Utility/Library')
local nu = require('Module:Utility/Name')
local getArgs -- lazily initialized
local function renderLanguageTable(args)
local cfglang = cfg[args.lang]
local mode = args.mode or 'weapon'
local tbl = mw.html.create('table')
:addClass('wikitable')
:addClass('langtable')
:tag('tr')
:tag('th'):wikitext(cfglang.language):done()
:tag('th'):wikitext(cfglang.name):done()
:done()
if mode == 'weapon' then
local getEmphasizableText = aw.getEmphasizableTextFunc('\'\'\'%s\'\'\'')
for lang, langname in pairs(cfglang.items) do
local shortname = nu.weaponname(args.key, lang)
local longname = nu.weaponfullname(args.key, lang)
local suitablename = getEmphasizableText(longname, shortname)
tbl:tag('tr')
:tag('td')
:wikitext(langname)
:done()
:tag('td')
:attr('lang', lang)
:wikitext(suitablename)
end
else
for lang, langname in pairs(cfglang.items) do
local name = nu[mode](args.key, lang)
tbl:tag('tr')
:tag('td')
:wikitext(langname)
:done()
:tag('td')
:attr('lang', lang)
:wikitext(name)
end
end
return string.format('== %s ==\n', cfglang.title) .. tostring(tbl)
end
local function preload(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
local args = getArgs(frame)
args.lang = args.lang or 'ja'
return args
end
function p._main(args)
return renderLanguageTable(args)
end
function p.main(frame)
local args = preload(frame)
return p._main(args)
end
return p