Модуль:IDLists/Items
Перейти к навигации
Перейти к поиску
См. также этот модуль на английском языке: Module:IDLists/Items. В нём может содержаться более полная или подробная информация.
Документация для этого модуля отсутствует. Создайте её.
local tr = require('Module:Tr')
local getData = require('Module:Iteminfo').getItemStat
local info = require('Module:Iteminfo').info
local na
local lang
local l10n_info = {
['en'] = {
['na_note'] = 'No official name',
['id'] = 'ID',
['name'] = 'Name',
['iname'] = 'Internal name',
['ename'] = 'English name'
},
['ru'] = {
['na_note'] = 'Нет официального названия',
['id'] = 'ID',
['name'] = 'Название',
['ename'] = 'Название на английском',
['iname'] = 'Внутреннее название',
}
}
local l10n_table
local function l10n(key)
return l10n_table[key] or l10n_info['en'][key] or ''
end
local replaceName = {
[115] = "Shadow Orb (item)",
[669] = "Fish (item)",
[989] = 'Enchanted Sword (item)',
[1435] = "The Destroyer (item)",
[1475] = "Darkness (Painting)",
[2436] = "Jellyfish (bait)",
[2437] = "Jellyfish (bait)",
[2438] = "Jellyfish (bait)",
[3062] = "Crimson Heart (item)",
[4633] = "Oasis (Painting)",
[4725] = "Graveyard (Painting)",
}
local function row(id)
local result = '<tr><td>' .. id .. '</td>'
local name = getData(id, 'name')
local internalName = getData(id, 'internalName')
if name == '' then
result = result .. '<td>' .. na .. '</td>' .. (lang ~= 'en' and '<td>' .. na .. '</td>' or '')
else
linkName = replaceName[id] or name
if lang == 'en' then
result = result .. '<td>[[' .. linkName .. '|' .. name .. ']]</td>'
else
result = result .. '<td>[[' .. tr.translateLink(linkName, lang) .. '|' .. tr.translate(name, lang) .. ']]</td>'
.. '<td>' .. name .. '</td>'
end
end
result = result .. '<td><code>' .. internalName .. '</code></td></tr>'
return result
end
return {
main = function(frame)
lang = frame:expandTemplate{ title = 'lang' }
l10n_table = l10n_info[lang] or l10n_info['en']
na = frame:expandTemplate{ title = 'na' } .. ' ' .. frame:expandTemplate{ title = 'note', args = { small = 'y', paren = 'y', l10n('na_note') }}
local result = { '<table class="terraria lined sortable">',
'<tr><th>' .. l10n('id') .. '</th><th>' .. l10n('name') .. '</th>' .. (lang ~= 'en' and '<th>' .. l10n('ename') .. '</th>' or '') .. '<th>' .. l10n('iname') .. '</th></tr>'
}
for i = info.IDs.min, info.IDs.max do
result[#result + 1] = row(i)
end
result[#result + 1] = '</table>'
return table.concat(result, '\n')
end,
}