Module:Damage: Difference between revisions

no edit summary
m (Add translations)
No edit summary
 
(4 intermediate revisions by one other user not shown)
Line 12: Line 12:
     local tr = getTranslations(frame, 'Template:Damage', args.lang, true)
     local tr = getTranslations(frame, 'Template:Damage', args.lang, true)
     local out
     local out
   
 
     function translate(key)
     function translate(key)
         return i18n.translate(tr, key)
         return i18n.translate(tr, key)
Line 24: Line 24:


     local modes = { 'PvE', 'PvP' }
     local modes = { 'PvE', 'PvP' }
    local langSuffix = args.lang and ('/' .. args.lang) or ''


     -- Define the schema for the table
     -- Define the schema for the table
Line 59: Line 58:
         do_table = args[1] == 'true',
         do_table = args[1] == 'true',
         character = args[2] or args.char or 'Elsword',
         character = args[2] or args.char or 'Elsword',
        lang_suffix = args.lang and ('/' .. args.lang) or '',
        lang_append = args.lang ~= nil and args.lang ~= '',
         format = args.format ~= 'false',
         format = args.format ~= 'false',
         no_max = args.no_max == 'true',
         no_max = args.no_max == 'true',
Line 139: Line 140:
             |passive1=... |passive2=... -> { passive1, passive2 }
             |passive1=... |passive2=... -> { passive1, passive2 }
             --]]
             --]]
            local is_translated = langSuffix ~= nil and langSuffix ~= ''
             local passive_name = v
             local passive_name = v
             local passive_title = v .. langSuffix
             local passive_title = v .. OPTIONS.lang_suffix
             local is_custom = string.find(k, '_define') ~= nil
             local is_custom = string.find(k, '_define') ~= nil
             local passive_index = string.match(k, "%d")
             local passive_index = string.match(k, "%d")
Line 151: Line 151:
                 passive_name = passive_values[#passive_values]
                 passive_name = passive_values[#passive_values]
                 passive_values[#passive_values] = nil
                 passive_values[#passive_values] = nil
             elseif is_translated then
             elseif OPTIONS.lang_append then
                 --[[
                 --[[
                 Translate page's display title to passive name.
                 Translate page's display title to passive name.
Line 168: Line 168:
                 exist = frame:preprocess('{{#ifexist:' .. passive_name .. '|true|false}}') == 'true'
                 exist = frame:preprocess('{{#ifexist:' .. passive_name .. '|true|false}}') == 'true'
             }
             }
         elseif not string.find(v, '[a-hj-zA-HJ-Z]+') then
         elseif string.match(v, '^[()+%-*/%d%s,.i]+$') then
             --[[
             --[[
             Change how args are received.
             Change how args are received.
Line 422: Line 422:
                             hit_count = hit_count == '' and 1 or hit_count
                             hit_count = hit_count == '' and 1 or hit_count
                             new_value.hit_counts[damage_type][k] = hit_count *
                             new_value.hit_counts[damage_type][k] = hit_count *
                                 ((string.find(damage_key, 'awk_') and args.awk_count) and args.awk_count[1] or args.count[1])
                                 ((string.find(damage_key, 'awk') and args.awk_count) and args.awk_count[1] or args.count[1])
                         end
                         end
                     end)
                     end)
Line 708: Line 708:
             text = { translate('Regular'), (function()
             text = { translate('Regular'), (function()
                 if OPTIONS.dmp then
                 if OPTIONS.dmp then
                     return link('Dynamo Point System', 'Dynamo Configuration', args.awk_prefix,
                     return link('Dynamo Point System' .. OPTIONS.lang_suffix, 'Dynamo Configuration', args.awk_prefix,
                     OPTIONS.dmp ~= 'false' and ('(' .. OPTIONS.dmp .. ' DMP)') .. (args.awk_suffix and (' ' .. args.awk_suffix) or '' ))
                     OPTIONS.dmp ~= 'false' and (fillTemplate('({1} DMP)', { OPTIONS.dmp })) .. (args.awk_suffix and (' ' .. args.awk_suffix) or ''))
                 elseif args.awk_alias then
                 elseif args.awk_alias then
                     return link(args.awk_alias[1], args.awk_alias[2], args.awk_prefix, args.awk_suffix)
                     return link(args.awk_alias[1], args.awk_alias[2], args.awk_prefix, args.awk_suffix)
                 end
                 end
                 return link('Awakening Mode', nil, args.awk_prefix, args.awk_suffix)
                 return link('Awakening Mode' .. OPTIONS.lang_suffix, translate('Awakening Mode'), args.awk_prefix, args.awk_suffix)
             end)()
             end)()
             },
             },
Line 749: Line 749:
             text = {
             text = {
                 (inArgs('count') and not OPTIONS.use_avg) and
                 (inArgs('count') and not OPTIONS.use_avg) and
                 (table.concat({ 'Per', args.count_name or 'Group' }, ' ')) or
                 (fillTemplate(translate('Per {1}'), { args.count_name or translate('Group') })) or
                 translate('Average'),
                 translate('Average'),
                 translate('Max')
                 translate('Max')
Line 942: Line 942:
     if OPTIONS.bug then
     if OPTIONS.bug then
         bug = frame:expandTemplate {
         bug = frame:expandTemplate {
             title = 'SkillText',
             title = translate('SkillText'),
             args = { 'FreeTraining' }
             args = { 'FreeTraining' }
         }
         }