📄 localization.lua
字号:
function DamageMeters_FixPatterns_CN()
for messageID, msgInfo in DamageMeters_msgInfo do
if (not msgInfo.custom) then
local pattern = getglobal(msgInfo.pattern);
if (nil == pattern) then
DMPrint("INTERNAL ERROR: Pattern for "..messageID.." = nil.");
else
pattern = string.gsub(pattern, "(%%%d?$?s)([^%s+].)", "%1 %2");
pattern = string.gsub(pattern, "(.[^%s+])(%%%d?$?s)", "%1 %2");
pattern = string.gsub(pattern, "(.[^%s+])(%%%d?$?d)", "%1 %2");
pattern = string.gsub(pattern, "(%%%d?$?d)([^%s+].)", "%1 %2");
setglobal(msgInfo.pattern, pattern);
pattern = string.gsub(pattern, "([%.%(%)%+%-%?%[%]%^])", "%%%1");
pattern = string.gsub(pattern, '(%%(%d?)$?([sd]))',
function(all,num,type)
if type == 's' then
return ('(.-)');
else
return ('(%d+)');
end
end);
DMPrintD(msgInfo.pattern.." -> "..pattern, nil, true);
msgInfo.pattern = pattern;
end
end
end
end
-- General --
DamageMeters_PRINTCOLOR = "|cFF8F8FFF"
-- Bindings --
BINDING_HEADER_DAMAGEMETERSHEADER = "DamageMeters";
BINDING_NAME_DAMAGEMETERS_TOGGLESHOW = "显示/隐藏面板";
BINDING_NAME_DAMAGEMETERS_CYCLEQUANT = "循环显示类别";
BINDING_NAME_DAMAGEMETERS_CYCLEQUANTBACK= "反向循环显示类别";
BINDING_NAME_DAMAGEMETERS_CLEAR = "清除数据";
BINDING_NAME_DAMAGEMETERS_TOGGLEPAUSED = "开始/暂停";
BINDING_NAME_DAMAGEMETERS_SHOWREPORTFRAME = "显示报告面板";
BINDING_NAME_DAMAGEMETERS_SWAPMEMORY = "交换内存数据";
BINDING_NAME_DAMAGEMETERS_TOGGLESHOWMAX = "显示全部栏";
BINDING_NAME_DAMAGEMETERS_SYNCREADY = "同步准备命令";
BINDING_NAME_DAMAGEMETERS_TOGGLESHOWFIGHTASPS = "显示每秒数据";
BINDING_NAME_DAMAGEMETERS_TOGGLENORMALANDFIGHT = "显示总量或单次战斗数据";
BINDING_NAME_DAMAGEMETERS_TOGGLEMINIMODE = "迷你面板";
BINDING_NAME_DAMAGEMETERS_SYNCPAUSE = "同步暂停命令";
BINDING_NAME_DAMAGEMETERS_SYNCUNPAUSE = "同步继续命令";
BINDING_NAME_DAMAGEMETERS_SYNCCLEAR = "同步清除";
--[[ work in progress
-- command, function, help string
DM_HELPDEF = {
-- Main commands.
{ "help", DamageMeters_Help, DM_CMD_HELP },
{ "cmd", DamageMeters_ListCommands, DM_CMD_CMD },
{ "version", DamageMeters_ShowVersion, DM_CMD_VERSION },
{ "show", DamageMeters_ToggleShow, DM_CMD_SHOW },
{ "hide", DamageMeters_Hide, DM_CMD_HIDE },
{ "clear", DamageMeters_Clear, DM_CMD_CLEAR },
{ "report", DamageMeters_Report, DM_CMD_REPORT },
{ "sort", DamageMeters_SetSort, DM_CMD_SORT },
{ "count", DamageMeters_SetCount, DM_CMD_SETCOUNT },
{ "autocount", DamageMeters_SetAutoCount, DM_CMD_AUTOCOUNT },
{ "lock", DamageMeters_ToggleLock, DM_CMD_LOCK },
{ "pause", DamageMeters_TogglePause, DM_CMD_PAUSE },
{ "ready", DamageMeters_SetReady, DM_CMD_READY },
{ "resetpos", DamageMeters_ResetPos, DM_CMD_RESETPOS },
{ "pop", DamageMeters_Populate, DM_CMD_POP },
{ "listbanned", DamageMeters_ListBanned, DM_CMD_LISTBANNED },
{ "clearbanned", DamageMeters_ClearBanned, DM_CMD_CLEARBANNED },
-- Memory
{ "save", DamageMeters_Save, DM_CMD_SAVE },
{ "restore", DamageMeters_Restore, DM_CMD_RESTORE },
{ "swap", DamageMeters_Swap, DM_CMD_SWAP },
{ "memclear", DamageMeters_MemClear, DM_CMD_MEMCLEAR },
-- These all have menu options.
{ "color", DamageMeters_SetColorScheme, DM_CMD_COLOR },
{ "quant", DamageMeters_SetQuantity, DM_CMD_QUANT },
{ "text", DamageMeters_SetTextOptions, DM_CMD_TEXT },
{ "visinparty", DamageMeters_SetVisibleInParty, DM_CMD_VISINPARTY },
{ "lockpos", DamageMeters_ToggleLockPos, DM_CMD_LOCKPAUSE },
{ "grouponly", DamageMeters_ToggleGroupMembersOnly, DM_CMD_GROUPONLY },
{ "addpettoplayer", DamageMeters_ToggleAddPetToPlayer, DM_CMD_ADDPETTOPLAYER },
{ "resetoncombat", DamageMeters_ToggleResetWhenCombatStarts, DM_CMD_RESETONCOMBAT },
{ "total", DamageMeters_ToggleTotal, DM_CMD_TOTAL },
{ "showmax", DamageMeters_ToggleMaxBars, DM_CMD_SHOWMAX },
-- Sync commands.
{ "sync", DamageMeters_Sync, DM_CMD_SYNC },
{ "syncchan", DamageMeters_SyncChan, DM_CMD_SYNCCHAN },
{ "syncleave", DamageMeters_SyncLeaveChanCmd, DM_CMD_SYNCLEAVE },
{ "syncsend", DamageMeters_SyncReport, DM_CMD_SYNCSEND },
{ "syncrequest", DamageMeters_SyncRequest, DM_CMD_SYNCREQUEST },
{ "syncclear", DamageMeters_SyncClear, DM_CMD_SYNCCLEAR },
{ "syncmsg", DamageMeters_SendSyncMsg, DM_CMD_SYNCMSG },
{ "syncbroadcastchan", DamageMeters_SyncBroadcastChan, DM_CMD_SYNCBROADCASTCHAN },
{ "syncping", DamageMeters_SyncPingRequest, DM_CMD_SYNCPING },
{ "syncpause", DamageMeters_SyncPause, DM_CMD_SYNCPAUSE },
{ "syncunpause", DamageMeters_SyncUnpause, DM_CMD_SYNCUNPAUSE },
{ "syncready", DamageMeters_SyncReady, DM_CMD_SYNCREADY },
{ "synckick", DamageMeters_SyncKick, DM_CMD_SYNCKICK },
{ "synclabel", DamageMeters_SyncLabel, DM_CMD_SYNCLABEL },
{ "syncstart", DamageMeters_SyncStart, DM_CMD_SYNCSTART },
{ "synchalt", DamageMeters_SyncHalt, DM_CMD_SYNCHALT },
{ "synce", DamageMeters_SyncEmote, DM_CMD_SYNCEMOTE },
-- Debug commands.
{ "reset", DamageMeters_Reset, DM_CMD_RESET },
{ "test", DamageMeters_Test, DM_CMD_TEST },
{ "add", DamageMeters_Add, DM_CMD_ADD },
{ "dumptable", DamageMeters_DumpTable, DM_CMD_DUMPTABLE },
{ "debug", DM_ToggleDMPrintD, DM_CMD_DEBUG },
{ "dumpmsg", DM_DumpMsg, DM_CMD_DUMPMSG },
{ "print", DM_ConsolePrint, DM_CMD_PRINT },
};
]]--
-- Help --
DamageMeters_helpTable = {
"以下指令能输入控制台:",
"/dmhelp : 伤害统计的使用帮助.",
"/dmcmd : 显示可用指令(/DM).",
"/dmshow : 选择是否面板可见. 注意面板不可见后统计将继续.",
"/dmhide : 隐藏面板.",
"/dmclear [#] : 除了#号,整个列表将删除. 如果#号不指定,整个列表将被删除.",
"/dmreport [help] [total] [c/s/p/r/w/h/g/f[#]] [whispertarget/channelNAME] - 列出当前数据的报告: 使用'/dmreport help'查看更多细节.",
"/dmsort [#] - 设置排列类型. 不指定将显示可用排列类型列表.",
"/dmcount [#] - 设置统计个数,如果 # 不指定那么显示最大统计数.",
"/dmsave - 保存当前列表.",
"/dmrestore - 恢复前一个保存列表,覆盖任何新数据.",
--"/dmmerge - 当前数据将与前一个保存列表合并.",
"/dmswap - 当前列表将与前一个保存列表互换.",
"/dmmemclear - 清除保存列表.",
"/dmresetpos - 重置窗口位置 (对找不到窗口有帮助).",
"/dmtext 0/<[r][n][p][l][v]> - 设置文字显示. r - 排行. n - 玩家名字. p - 百分比. l - 第一的百分比. v - 值.",
"/dmcolor # - 设置颜色. 不指定将显示可用设置列表.",
"/dmquant # - 设置显示类别. 不指定将显示可用设置列表.",
"/dmvisinparty [y/n] - 设置窗口是否只在小队/团队中可见.",
"/dmautocount # - 伤害统计将自动显示最多到#的单位数据. 如果#为0,自动统计将关闭.",
"/dmlistbanned - 显示所有被禁止单位.",
"/dmclearbanned - 解禁所有被禁止单位.",
"/dmsync [d#] [e] - 在同步频道与其他玩家同步数据. (将使用 dmsyncsend 和 dmsyncrequest.) 如果指定了D的数值,那么同步将在那么多秒后进行. 如果指定了E,那么详细数据将被传送.",
"/dmsyncchan - 设置同步频道.",
"/dmsyncleave - 离开当前同步频道.",
"/dmsyncsend - 在同步频道上发送同步信息.",
"/dmsyncrequest - 在你的频道上发送请求并自动与其他玩家同步.",
"/dmsyncclear - 发送同步清除指令.",
"/dmsyncmsg msg - 在同步频道发送聊天信息给其他人,也能使用 /dmm.",
"/dmsyncbroadcastchan - 向队员广播当前同步频道. 也能使用/dmsyncb.",
"/dmsyncping - 在同步频道联系其他玩家,并返回他们的DM版本.",
"/dmsyncpause - 在同步频道发送暂停指令.",
"/dmsyncunpause - 在同步频道发送继续指令.",
"/dmsyncready - 发送一个指令使频道内每人准备就绪.",
"/dmsynckick player - 将某人踢出同步频道.",
"/dmsynclabel label - 标记当前团队进程(默认标签为1).",
"/dmsyncstart label - 自动使用 dmsynclabel, dmsyncpause, 和 dmsyncclear 的方便的命令.",
"/dmsynchalt - 中止任何同步进程(清除接收和发送消息序列).",
"/dmpop - 与队员(小队/团队)合并数据.",
"/dmlock - 选择是否锁定列表.新的玩家不能加入一个锁定列表,但是已存在的玩家数据将继续统计.",
"/dmpause - 选择是否暂停数据统计.",
"/dmlockpos - 选择是否锁定面板.",
"/dmgrouponly - 选择是否拒绝任何不在小队/团队中的玩家. (宠物将忽略这个设置.)",
"/dmaddpettoplayer - 选择是否将宠物数据作为你的数据.",
"/dmresetoncombat = 选择是否在战斗开始时重置数据.",
"/dmversion - 显示版本信息.",
"/dmtotal - 显示总计.",
"/dmshowmax - 选择是否显示最大统计数.",
};
-- Filters --
DamageMeters_Filter_STRING1 = "队内成员";
DamageMeters_Filter_STRING2 = "所有友方角色";
-- Relationships --
DamageMeters_Relation_STRING = {
"自己",
"自己的宠物",
"队友",
"友方角色"};
-- Color Schemes --
DamageMeters_colorScheme_STRING = {
"关系",
"职业"};
-- Quantities --
DM_QUANTSTRING_DAMAGEDONE = "总伤害";
DM_QUANTSTRING_HEALINGDONE = "有效治疗";
DM_QUANTSTRING_DAMAGETAKEN = "总承受伤害";
DM_QUANTSTRING_HEALINGTAKEN = "总接受治疗";
DM_QUANTSTRING_DAMAGEDONE_FIGHT = "本次战斗伤害";
DM_QUANTSTRING_HEALINGDONE_FIGHT = "本次战斗有效治疗";
DM_QUANTSTRING_DAMAGETAKEN_FIGHT = "本次战斗承受伤害";
DM_QUANTSTRING_HEALINGTAKEN_FIGHT = "本次战斗接受治疗";
DM_QUANTSTRING_DAMAGEDONE_PS = "每秒伤害";
DM_QUANTSTRING_HEALINGDONE_PS = "每秒治疗";
DM_QUANTSTRING_DAMAGETAKEN_PS = "每秒承受伤害";
DM_QUANTSTRING_HEALINGTAKEN_PS = "每秒接受治疗";
DM_QUANTSTRING_IDLETIME = "空闲时间";
DM_QUANTSTRING_NETDAMAGE = "净伤害量(输出伤害-受到伤害)";
DM_QUANTSTRING_NETHEALING = "净治疗量(输出治疗-受到治疗)";
DM_QUANTSTRING_DAMAGEPLUSHEALING = "总输出治疗伤害量";
DM_QUANTSTRING_CURING = "施放清除法术";
DM_QUANTSTRING_CURING_FIGHT = "本次战斗清除";
DM_QUANTSTRING_CURING_PS = "每秒清除";
DM_QUANTSTRING_OVERHEAL = "过量治疗";
DM_QUANTSTRING_OVERHEAL_FIGHT = "本次战斗过量治疗";
DM_QUANTSTRING_OVERHEAL_PS = "每秒过量治疗";
DM_QUANTSTRING_HEALTH = "生命值";
DM_QUANTSTRING_OVERHEAL_PERCENTAGE = "过量治疗百分比";
DM_QUANTSTRING_ABSHEAL = "输出治疗";
DM_QUANTSTRING_ABSHEAL_FIGHT = "本次战斗输出治疗";
DM_QUANTSTRING_ABSHEAL_PS = "每秒输出治疗";
DMI_NAMES = {
DM_QUANTSTRING_DAMAGEDONE,
DM_QUANTSTRING_HEALINGDONE,
DM_QUANTSTRING_DAMAGETAKEN,
DM_QUANTSTRING_HEALINGTAKEN,
DM_QUANTSTRING_CURING,
DM_QUANTSTRING_OVERHEAL,
DM_QUANTSTRING_ABSHEAL,
};
DM_QUANTABBREV_DAMAGEDONE = "D";
DM_QUANTABBREV_HEALINGDONE = "H";
DM_QUANTABBREV_DAMAGETAKEN = "DT";
DM_QUANTABBREV_HEALINGTAKEN = "HT";
DM_QUANTABBREV_CURING = "Cu";
DM_QUANTABBREV_OVERHEAL = "Oh";
DM_QUANTABBREV_ABSHEAL = "RawHD";
DM_QUANTABBREV_DAMAGEDONE_PS = "DPS";
DM_QUANTABBREV_HEALINGDONE_PS = "HPS";
DM_QUANTABBREV_DAMAGETAKEN_PS = "DTPS";
DM_QUANTABBREV_HEALINGTAKEN_PS = "HTPS";
DM_QUANTABBREV_CURING_PS = "CuPS";
DM_QUANTABBREV_OVERHEAL_PS = "OHPS";
DM_QUANTABBREV_ABSHEAL_PS = "RawHDPS";
DM_QUANTABBREV_IDLETIME = "IT";
DM_QUANTABBREV_NETDAMAGE = "NetD";
DM_QUANTABBREV_NETHEALING = "NetH";
DM_QUANTABBREV_DAMAGEPLUSHEALING = "D+H";
DM_QUANTABBREV_HEALTH = "HP";
DM_QUANTABBREV_OVERHEAL_PERCENTAGE = "Oh%";
-- Sort --
DamageMeters_Sort_STRING = {
"降序",
"升序",
"字母排序"};
-- Class Names
DamageMeters_ChinaClass = {
["猎人"] = "HUNTER",
["萨满祭司"] = "SHAMAN",
["战士"] = "WARRIOR",
["法师"] = "MAGE",
["圣骑士"] = "PALADIN",
["牧师"] = "PRIEST",
["德鲁伊"] = "DRUID",
["盗贼"] = "ROGUE",
["术士"] = "WARLOCK"
};
function DamageMeters_GetClassColor(className)
return RAID_CLASS_COLORS[string.upper(DamageMeters_ChinaClass[className])];
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -