diff --git a/.luacheckrc b/.luacheckrc index 38dcec1..ba42682 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -19567,10 +19567,10 @@ globals = { "FixedSizeFramePoolCollectionMixin", "CreateFixedSizeFramePoolCollection", "SecondsToMinutes", "MinutesToSeconds", "HasTimePassed", "SecondsFormatterConstants", "ConvertSecondsToUnits", "SecondsToClock", - "MinutesToTime", "FormatShortDate", "NUMBER_ABBREVIATION_DATA", "WeakAurasProfilingReportTitleText", - "WeakAurasRealTimeProfiling", "WeakAurasRealTimeProfilingTitleText", "seconds", "NUM_CHAT_WINDOWS", - "GetNumGlyphSockets", "GetGlyphLink", "GetGlyphSocketInfo", "APIDocumentationMixin", "BaseAPIMixin", - "EventsAPIMixin", "FieldsAPIMixin", "FunctionsAPIMixin", "SystemsAPIMixin", "TablesAPIMixin", - "CopyToClipboard", "ChatFrame_OpenChat", "ChatTypeInfo", "EditBox_ClearFocus", "EditBox_ClearHighlight", - "EditBox_HighlightText" + "MinutesToTime", "FormatShortDate", "NUMBER_ABBREVIATION_DATA", "GetLocalizedNumberAbbreviationData", + "WeakAurasProfilingReportTitleText", "WeakAurasRealTimeProfiling", "WeakAurasRealTimeProfilingTitleText", + "seconds", "NUM_CHAT_WINDOWS","GetNumGlyphSockets", "GetGlyphLink", "GetGlyphSocketInfo", + "APIDocumentationMixin", "BaseAPIMixin","EventsAPIMixin", "FieldsAPIMixin", "FunctionsAPIMixin", + "SystemsAPIMixin", "TablesAPIMixin", "CopyToClipboard", "ChatFrame_OpenChat", "ChatTypeInfo", + "EditBox_ClearFocus", "EditBox_ClearHighlight", "EditBox_HighlightText", "AwesomeCVar" } diff --git a/README.md b/README.md index 0930476..d4f4aa4 100644 --- a/README.md +++ b/README.md @@ -25,9 +25,15 @@ WeakAuras is a powerful and flexible framework that allows the display of highly To open the options window, type `/wa` or `/weakauras` into your chat and hit enter or use the minimap icon. +## Install + +1. [Download the package](https://github.com/NoM0Re/WeakAuras-WotLK/archive/refs/heads/master.zip). +2. Open the archive, then open folder `WeakAuras-WotLK-master`, extract all folders to `Interface\AddOns`. + ## Client Extensions + * [Large Address Aware](https://github.com/NoM0Re/WeakAuras-WotLK/wiki/Large-Address-Aware): Enables the WoW client to use up to 4GB of RAM instead of the default 2GB, improving stability and performance on modern systems. This patch is highly recommended for WotLK 3.3.5a users. -* [Awesome WotLK](https://github.com/NoM0Re/WeakAuras-WotLK/wiki/awesome_wotlk): Adds modern retail-style nameplate search functions, unit tracking, and events to WotLK 3.3.5a, enabling better API access and event handling for nameplates. This adds a lot of additional functionality to WeakAuras. +* [Awesome WotLK](https://github.com/NoM0Re/WeakAuras-WotLK/wiki/awesome_wotlk): Adds modern retail-style nameplate search functions, unit tracking, and events. Additionally adds the modern Text-to-Speech functions to the client. This adds a lot of additional functionality to WeakAuras, that are not enabled without it. ## Extensions diff --git a/WeakAuras/AuraEnvironment.lua b/WeakAuras/AuraEnvironment.lua index ff1ce78..ea33cc8 100644 --- a/WeakAuras/AuraEnvironment.lua +++ b/WeakAuras/AuraEnvironment.lua @@ -50,25 +50,6 @@ local WA_IterateGroupMembers = function(reversed, forceParty) end end --- Wrapping a unit's name in its class colour is very common in custom Auras -local WA_ClassColorName = function(unit) - if unit and UnitExists(unit) then - local name = WeakAuras.UnitName(unit) - local _, class = UnitClass(unit) - if not class then - return name - else - local classData = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)[class] - local coloredName = ("|c%s%s|r"):format(classData.colorStr, name) - return coloredName - end - else - return "" -- ¯\_(ツ)_/¯ - end -end - -WeakAuras.WA_ClassColorName = WA_ClassColorName - -- UTF-8 Sub is pretty commonly needed local WA_Utf8Sub = function(input, size) local output = "" @@ -113,6 +94,27 @@ end WeakAuras.WA_Utf8Sub = WA_Utf8Sub +-- Wrapping a unit's name in its class colour is very common in custom Auras +local WA_ClassColorName = function(unit, maxlen) + if unit and UnitExists(unit) then + local name = WeakAuras.UnitName(unit) + if maxlen and maxlen > 0 then + name = WA_Utf8Sub(name, maxlen) + end + local _, class = UnitClass(unit) + if not class then + return name + else + local classData = (CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS)[class] + local coloredName = ("|c%s%s|r"):format(classData.colorStr, name) + return coloredName + end + else + return "" -- ¯\_(ツ)_/¯ + end +end + +WeakAuras.WA_ClassColorName = WA_ClassColorName WeakAuras.PadString = function(input, padMode, padLength) input = tostring(input) @@ -646,7 +648,7 @@ local function CreateFunctionCache(exec_env) local loadedFunction, errorString = loadstring(string, firstLine(string)) if errorString then if not silent then - print(string.format(L["Error in aura '%s'"], id), errorString) + print(string.format(L["Error in Aura '%s'"], id), errorString) end return nil, errorString elseif loadedFunction then diff --git a/WeakAuras/BossMods.lua b/WeakAuras/BossMods.lua index 28cdda6..5005703 100644 --- a/WeakAuras/BossMods.lua +++ b/WeakAuras/BossMods.lua @@ -5,6 +5,29 @@ local Private = select(2, ...) local timer = WeakAuras.timer; local L = WeakAuras.L + +local function TestForMultiSelect(trigger, name, checkValue) + if(trigger["use_"..name] == false) then -- multi selection + if trigger[name] and trigger[name].multi then + if trigger[name].multi[checkValue] then + return "true" + else + return "nil" + end + end + return "false" + elseif(trigger["use_"..name]) then -- single selection + local value = trigger[name] and trigger[name].single + if not value then + return "false" + end + return (value == checkValue) and "true" or "false" + else + return "nil" + end +end + + Private.ExecEnv.BossMods = {} local dbmSupportStates = { @@ -60,7 +83,7 @@ Private.ExecEnv.BossMods.DBM = { state.remaining = bar.remaining end, - TimerMatches = function(self, timerId, message, operator, spellId, counter, triggerId, dbmType, noCastBar, isBarEnabled) + TimerMatches = function(self, timerId, message, operator, spellId, counter, triggerId, dbmType, noCastBar, isBarEnabled, isPullTimer, isBreakTimer, isTimer) if not self.bars[timerId] then return false end @@ -104,11 +127,23 @@ Private.ExecEnv.BossMods.DBM = { if dbmType and dbmType ~= v.dbmType then return false end + + if isPullTimer or isBreakTimer or isTimer then + if (isPullTimer and v.timerType == "pull") + or (isBreakTimer and v.timerType == "break") + or (isTimer and (v.timerType ~= "break" and v.timerType ~= "pull")) + then + -- pass if one of the types match + else + return false + end + end + return true end, - TimerMatchesGeneric = function(self, timerId, message, operator, spellId, counter, isBarEnabled) - return self:TimerMatches(timerId, message, operator, spellId, counter, nil, nil, true, isBarEnabled) + TimerMatchesGeneric = function(self, timerId, message, operator, spellId, counter, isBarEnabled, isPullTimer, isBreakTimer, isTimer) + return self:TimerMatches(timerId, message, operator, spellId, counter, nil, nil, true, isBarEnabled, isPullTimer, isBreakTimer, isTimer) end, GetStage = function() @@ -126,10 +161,10 @@ Private.ExecEnv.BossMods.DBM = { return self.bars[timerId] end, - GetTimer = function(self, message, operator, spellId, extendTimer, count, triggerId, dbmType, noCastBar, isBarEnabled) + GetTimer = function(self, message, operator, spellId, extendTimer, count, triggerId, dbmType, noCastBar, isBarEnabled, isPullTimer, isBreakTimer, isTimer) local bestMatch for timerId, bar in pairs(self.bars) do - if self:TimerMatches(timerId, message, operator, spellId, count, triggerId, dbmType, noCastBar, isBarEnabled) + if self:TimerMatches(timerId, message, operator, spellId, count, triggerId, dbmType, noCastBar, isBarEnabled, isPullTimer, isBreakTimer, isTimer) and (bestMatch == nil or bar.expirationTime < bestMatch.expirationTime) and bar.expirationTime + extendTimer > GetTime() then @@ -139,8 +174,8 @@ Private.ExecEnv.BossMods.DBM = { return bestMatch end, - GetTimerGeneric = function(self, message, operator, spellId, extendTimer, count, isBarEnabled) - return self:GetTimer(message, operator, spellId, extendTimer, count, nil, nil, true, isBarEnabled) + GetTimerGeneric = function(self, message, operator, spellId, extendTimer, count, isBarEnabled, isPullTimer, isBreakTimer, isTimer) + return self:GetTimer(message, operator, spellId, extendTimer, count, nil, nil, true, isBarEnabled, isPullTimer, isBreakTimer, isTimer) end, RecheckTimers = function(self) @@ -196,6 +231,11 @@ Private.ExecEnv.BossMods.DBM = { bar.duration = duration bar.icon = icon bar.timerType = timerType + if timerType == "break" then + spellId = -1 + elseif timerType == "pull" then + spellId = -2 + end bar.spellId = tostring(spellId) bar.count = timerCount and tostring(timerCount) or "0" bar.dbmType = dbmType @@ -746,6 +786,7 @@ Private.ExecEnv.BossMods.BigWigs = { state.text = bar.text state.message = bar.text state.name = bar.text + state.timerType = bar.timerType state.duration = bar.duration + extendTimer state.expirationTime = bar.expirationTime + extendTimer state.bwBarColor = bar.bwBarColor @@ -765,7 +806,7 @@ Private.ExecEnv.BossMods.BigWigs = { state.isBarEnabled = bar.isBarEnabled end, - TimerMatches = function(self, timerId, message, operator, spellId, counter, cast, cooldown, isBarEnabled) + TimerMatches = function(self, timerId, message, operator, spellId, counter, cast, cooldown, isBarEnabled, isPullTimer, isBreakTimer, isTimer) if not self.bars[timerId] then return false end @@ -804,11 +845,21 @@ Private.ExecEnv.BossMods.BigWigs = { if cooldown ~= nil and v.isCooldown ~= cooldown then return false end + if isPullTimer or isBreakTimer or isTimer then + if (isPullTimer and v.timerType == "pull") + or (isBreakTimer and v.timerType == "break") + or (isTimer and (v.timerType ~= "break" and v.timerType ~= "pull")) + then + -- pass if one of the types match + else + return false + end + end return true end, - TimerMatchesGeneric = function(self, timerId, message, operator, spellId, counter, isBarEnabled) - return self:TimerMatches(timerId, message, operator, spellId, counter, false, nil, isBarEnabled) + TimerMatchesGeneric = function(self, timerId, message, operator, spellId, counter, isBarEnabled, isPullTimer, isBreakTimer, isTimer) + return self:TimerMatches(timerId, message, operator, spellId, counter, false, nil, isBarEnabled, isPullTimer, isBreakTimer, isTimer) end, GetStage = function(self) @@ -823,10 +874,10 @@ Private.ExecEnv.BossMods.BigWigs = { return self.bars[timerId] end, - GetTimer = function(self, text, operator, spellId, extendTimer, counter, cast, cooldown, isBarEnabled) + GetTimer = function(self, text, operator, spellId, extendTimer, counter, cast, cooldown, isBarEnabled, isPullTimer, isBreakTimer, isTimer) local bestMatch for timerId, bar in pairs(self.bars) do - if self:TimerMatches(timerId, text, operator, spellId, counter, cast, cooldown, isBarEnabled) + if self:TimerMatches(timerId, text, operator, spellId, counter, cast, cooldown, isBarEnabled, isPullTimer, isBreakTimer, isTimer) and (bestMatch == nil or bar.expirationTime < bestMatch.expirationTime) and bar.expirationTime + extendTimer > GetTime() then @@ -836,8 +887,8 @@ Private.ExecEnv.BossMods.BigWigs = { return bestMatch end, - GetTimerGeneric = function(self, text, operator, spellId, extendTimer, counter, isBarEnabled) - return self:GetTimer(text, operator, spellId, extendTimer, counter, false, nil, isBarEnabled) + GetTimerGeneric = function(self, text, operator, spellId, extendTimer, counter, isBarEnabled, isPullTimer, isBreakTimer, isTimer) + return self:GetTimer(text, operator, spellId, extendTimer, counter, false, nil, isBarEnabled, isPullTimer, isBreakTimer, isTimer) end, RecheckTimers = function(self) @@ -889,21 +940,32 @@ Private.ExecEnv.BossMods.BigWigs = { or event == "BigWigs_StartBreak" or event == "BigWigs_StartPull" then - local addon, spellId, duration, _, text, count, icon, isCooldown, isBarEnabled + local addon, spellId, duration, _, text, count, icon, isCooldown, isBarEnabled, timerType if event == "BigWigs_Timer" then addon, spellId, duration, _, text, count, icon, isCooldown, isBarEnabled = ... + timerType = "timer" elseif event == "BigWigs_TargetTimer" or event == "BigWigs_CastTimer" then addon, spellId, duration, _, text, count, icon, _, isBarEnabled = ... isCooldown = false - elseif event == "BigWigs_StartBreak" or event == "BigWigs_StartPull" then - addon, duration = ... - local BwLocale = BigWigsAPI:GetLocale("BigWigs") - text = event == "BigWigs_StartBreak" and BwLocale.breakBar or BwLocale.pull - spellId = 0 + timerType = "cast" + elseif event == "BigWigs_StartBreak" then + addon, duration, _, _, _, text, icon = ... + text = text + spellId = -1 count = 0 - icon = 136116 + icon = icon isCooldown = false isBarEnabled = true + timerType = "break" + elseif event == "BigWigs_StartPull" then + addon, duration, _, text, icon = ... + text = text + spellId = -2 + count = 0 + icon = "Interface\\Icons\\Spell_Nature_WispSplode" + isCooldown = false + isBarEnabled = true + timerType = "pull" end local now = GetTime() local expirationTime = now + duration @@ -919,6 +981,7 @@ Private.ExecEnv.BossMods.BigWigs = { bar.icon = icon bar.isCooldown = isCooldown or false bar.expired = nil + bar.timerType = timerType local BWColorModule = BigWigs:GetPlugin("Colors") bar.bwBarColor = BWColorModule:GetColorTable("barColor", addon, spellId) bar.bwTextColor = BWColorModule:GetColorTable("barText", addon, spellId) @@ -1606,6 +1669,9 @@ Private.event_prototypes["Boss Mod Timer"] = { local isDBM = Private.ExecEnv.BossMods.Generic == Private.ExecEnv.BossMods.DBM return function (states, event, timerId) + local isPullTimer = %s + local isBreakTimer = %s + local isTimer = %s local triggerSpellId = %q local triggerText = %q local triggerTextOperator = %q @@ -1663,7 +1729,7 @@ Private.event_prototypes["Boss Mod Timer"] = { or event == "BossMod_TimerPause" or event == "BossMod_TimerResume" then - if Private.ExecEnv.BossMods.Generic:TimerMatchesGeneric(timerId, triggerText, triggerTextOperator, triggerSpellId, counter, isBarEnabled) then + if Private.ExecEnv.BossMods.Generic:TimerMatchesGeneric(timerId, triggerText, triggerTextOperator, triggerSpellId, counter, isBarEnabled, isPullTimer, isBreakTimer, isTimer) then local bar = Private.ExecEnv.BossMods.Generic:GetTimerById(timerId) if bar then return copyOrSchedule(bar, cloneId) @@ -1679,7 +1745,7 @@ Private.event_prototypes["Boss Mod Timer"] = { elseif event == "BossMod_TimerUpdate" or event == "BossMod_TimerUpdateIcon" then local changed for timerId, bar in pairs(Private.ExecEnv.BossMods.Generic:GetAllTimers()) do - if Private.ExecEnv.BossMods.Generic:TimerMatchesGeneric(timerId, triggerText, triggerTextOperator, triggerSpellId, counter, isBarEnabled) then + if Private.ExecEnv.BossMods.Generic:TimerMatchesGeneric(timerId, triggerText, triggerTextOperator, triggerSpellId, counter, isBarEnabled, isPullTimer, isBreakTimer, isTimer) then changed = copyOrSchedule(bar, timerId) or changed else local state = states[timerId] @@ -1702,7 +1768,7 @@ Private.event_prototypes["Boss Mod Timer"] = { changed = true end for timerId, bar in pairs(Private.ExecEnv.BossMods.Generic:GetAllTimers()) do - if Private.ExecEnv.BossMods.Generic:TimerMatchesGeneric(timerId, triggerText, triggerTextOperator, triggerSpellId, counter, isBarEnabled) then + if Private.ExecEnv.BossMods.Generic:TimerMatchesGeneric(timerId, triggerText, triggerTextOperator, triggerSpellId, counter, isBarEnabled, isPullTimer, isBreakTimer, isTimer) then changed = copyOrSchedule(bar, timerId) or changed end end @@ -1711,13 +1777,13 @@ Private.event_prototypes["Boss Mod Timer"] = { else if event == "BossMod_TimerStart" or event == "BossMod_TimerUpdate" then if extendTimer ~= 0 then - if Private.ExecEnv.BossMods.Generic:TimerMatchesGeneric(timerId, triggerText, triggerTextOperator, triggerSpellId, counter, isBarEnabled) then + if Private.ExecEnv.BossMods.Generic:TimerMatchesGeneric(timerId, triggerText, triggerTextOperator, triggerSpellId, counter, isBarEnabled, isPullTimer, isBreakTimer, isTimer) then local bar = Private.ExecEnv.BossMods.Generic:GetTimerById(timerId) Private.ExecEnv.BossMods.Generic:ScheduleCheck(bar.expirationTime + extendTimer) end end end - local bar = Private.ExecEnv.BossMods.Generic:GetTimerGeneric(triggerText, triggerTextOperator, triggerSpellId, extendTimer, counter, isBarEnabled) + local bar = Private.ExecEnv.BossMods.Generic:GetTimerGeneric(triggerText, triggerTextOperator, triggerSpellId, extendTimer, counter, isBarEnabled, isPullTimer, isBreakTimer, isTimer) if bar then if extendTimer == 0 or not (state and state.show) @@ -1741,6 +1807,9 @@ Private.event_prototypes["Boss Mod Timer"] = { return ret:format( trigger.use_count and trigger.count or "", + TestForMultiSelect(trigger, "timerType", "PULL"), + TestForMultiSelect(trigger, "timerType", "BREAK"), + TestForMultiSelect(trigger, "timerType", "TIMER"), trigger.use_spellId and tostring(trigger.spellId) or "", trigger.use_message and trigger.message or "", trigger.use_message and trigger.message_operator or "", @@ -1751,6 +1820,7 @@ Private.event_prototypes["Boss Mod Timer"] = { trigger.use_isBarEnabled == nil and "nil" or trigger.use_isBarEnabled and "true" or "false", trigger.remaining_operator or "<" ) + end, statesParameter = "full", args = { @@ -1770,6 +1840,13 @@ Private.event_prototypes["Boss Mod Timer"] = { store = true, conditionType = "string" }, + { + name = "timerType", + desc = L["Select the type of timer to filter"], + display = L["Bar Type"], + type = "multiselect", + values = "bossmods_timerTypes" + }, { name = "remaining", display = L["Remaining Time"], diff --git a/WeakAuras/Init.lua b/WeakAuras/Init.lua index 26c089d..d32a265 100644 --- a/WeakAuras/Init.lua +++ b/WeakAuras/Init.lua @@ -9,9 +9,9 @@ WeakAuras.halfWidth = WeakAuras.normalWidth / 2 WeakAuras.doubleWidth = WeakAuras.normalWidth * 2 local versionStringFromToc = GetAddOnMetadata("WeakAuras", "Version") -local versionString = "5.20.2 Beta" +local versionString = "5.20.3 Beta" -- Year, Month, Day, Hour, Minute, Seconds -local buildTime = "2025".."08".."15".."22".."00".."00" +local buildTime = "2025".."09".."13".."18".."00".."00" local isAwesomeEnabled = C_VoiceChat and C_VoiceChat.SpeakText and 2 -- TTS available or C_NamePlate and C_NamePlate.GetNamePlateForUnit and 1 -- Nameplates available or false diff --git a/WeakAuras/Locales/deDE.lua b/WeakAuras/Locales/deDE.lua index f5b8226..42e8cb4 100644 --- a/WeakAuras/Locales/deDE.lua +++ b/WeakAuras/Locales/deDE.lua @@ -263,6 +263,8 @@ L["Bar enabled in DBM settings"] = "Bar enabled in DBM settings" --[[Translation missing --]] L["Bar Texture"] = "Bar Texture" --[[Translation missing --]] +L["Bar Type"] = "Bar Type" +--[[Translation missing --]] L["Baron Geddon"] = "Baron Geddon" --[[Translation missing --]] L["Battle for Azeroth"] = "Battle for Azeroth" @@ -329,6 +331,8 @@ L["Bottom to Top"] = "Unten -> Oben" L["Bounce"] = "Hüpfen" L["Bounce with Decay"] = "Abklingendes Hüpfen" --[[Translation missing --]] +L["Break"] = "Break" +--[[Translation missing --]] L["BreakUpLargeNumbers (Blizzard)"] = "BreakUpLargeNumbers (Blizzard)" --[[Translation missing --]] L["Broodlord Lashlayer"] = "Broodlord Lashlayer" @@ -744,7 +748,7 @@ L["Error Frame"] = "Fehlerfenster" --[[Translation missing --]] L["ERROR in '%s' unknown or incompatible sub element type '%s'"] = "ERROR in '%s' unknown or incompatible sub element type '%s'" --[[Translation missing --]] -L["Error in aura '%s'"] = "Error in aura '%s'" +L["Error in Aura '%s'"] = "Error in Aura '%s'" --[[Translation missing --]] L["Error not receiving display information from %s"] = "Error not receiving display information from %s" --[[Translation missing --]] @@ -1049,10 +1053,10 @@ L["Install the addons BugSack and BugGrabber for detailed error logs."] = "Insta L["Instance"] = "Instanz" L["Instance Difficulty"] = "Instanzschwierigkeit" --[[Translation missing --]] -L["Instance Id"] = "Instance Id" ---[[Translation missing --]] L["Instance ID"] = "Instance ID" --[[Translation missing --]] +L["Instance Id"] = "Instance Id" +--[[Translation missing --]] L["Instance Info"] = "Instance Info" --[[Translation missing --]] L["Instance Name"] = "Instance Name" @@ -1199,7 +1203,7 @@ L["Lowest Spell Id"] = "Lowest Spell Id" --[[Translation missing --]] L["Lua error"] = "Lua error" --[[Translation missing --]] -L["Lua error in aura '%s': %s"] = "Lua error in aura '%s': %s" +L["Lua error in Aura '%s': %s"] = "Lua error in Aura '%s': %s" --[[Translation missing --]] L["Lucifron"] = "Lucifron" --[[Translation missing --]] @@ -1501,6 +1505,8 @@ L["Other Events"] = "Other Events" --[[Translation missing --]] L["Ouro"] = "Ouro" L["Outline"] = "Kontur" +--[[Translation missing --]] +L["Over Energize"] = "Over Energize" L["Overhealing"] = "Überheilung" L["Overkill"] = "Overkill" --[[Translation missing --]] @@ -1619,11 +1625,13 @@ L["Progress"] = "Progress" L["Progress Source"] = "Progress Source" L["Progress Total"] = "Totaler Fortschritt" L["Progress Value"] = "Fortschrittswert" +--[[Translation missing --]] +L["Pull"] = "Pull" L["Pulse"] = "Pulsieren" L["PvP Flagged"] = "PvP aktiv" -L["PvP Talent selected"] = "Gewähltes PvP-Talent" --[[Translation missing --]] L["PvP Talent Selected"] = "PvP Talent Selected" +L["PvP Talent selected"] = "Gewähltes PvP-Talent" --[[Translation missing --]] L["Quality Id"] = "Quality Id" --[[Translation missing --]] @@ -1804,6 +1812,8 @@ https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] ] = [=[Secure f https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] L["Select Frame"] = "Frame auswählen" --[[Translation missing --]] +L["Select the type of timer to filter"] = "Select the type of timer to filter" +--[[Translation missing --]] L["Selection Mode"] = "Selection Mode" --[[Translation missing --]] L["Separator"] = "Separator" @@ -2063,8 +2073,8 @@ L["Talent |cFFFF0000Not|r Known"] = "Talent |cFFFF0000Not|r Known" L["Talent |cFFFF0000Not|r Selected"] = "Talent |cFFFF0000Not|r Selected" --[[Translation missing --]] L["Talent Known"] = "Talent Known" -L["Talent Selected"] = "Talent gewählt" L["Talent selected"] = "Gewähltes Talent" +L["Talent Selected"] = "Talent gewählt" L["Talent Specialization"] = "Talentspezialisierung" L["Tanking And Highest"] = "Höchster und Aggro" L["Tanking But Not Highest"] = "Aggro aber nicht höchste" @@ -2163,6 +2173,8 @@ L["Timed"] = "Zeitgesteuert" --[[Translation missing --]] L["Timed Progress"] = "Timed Progress" --[[Translation missing --]] +L["Timer"] = "Timer" +--[[Translation missing --]] L["Timer Id"] = "Timer Id" L["Toggle"] = "Umschalten" --[[Translation missing --]] diff --git a/WeakAuras/Locales/enUS.lua b/WeakAuras/Locales/enUS.lua index 6836588..1750cd7 100644 --- a/WeakAuras/Locales/enUS.lua +++ b/WeakAuras/Locales/enUS.lua @@ -193,6 +193,7 @@ L["Bar enabled in BigWigs settings"] = "Bar enabled in BigWigs settings" L["Bar enabled in Boss Mod addon settings"] = "Bar enabled in Boss Mod addon settings" L["Bar enabled in DBM settings"] = "Bar enabled in DBM settings" L["Bar Texture"] = "Bar Texture" +L["Bar Type"] = "Bar Type" L["Baron Geddon"] = "Baron Geddon" L["Battle for Azeroth"] = "Battle for Azeroth" L["Battle.net Whisper"] = "Battle.net Whisper" @@ -237,6 +238,7 @@ L["Bottom Right"] = "Bottom Right" L["Bottom to Top"] = "Bottom to Top" L["Bounce"] = "Bounce" L["Bounce with Decay"] = "Bounce with Decay" +L["Break"] = "Break" L["BreakUpLargeNumbers (Blizzard)"] = "BreakUpLargeNumbers (Blizzard)" L["Broodlord Lashlayer"] = "Broodlord Lashlayer" L["Buff"] = "Buff" @@ -499,7 +501,7 @@ L["Error decompressing. This doesn't look like a WeakAuras import."] = "Error de L["Error deserializing"] = "Error deserializing" L["Error Frame"] = "Error Frame" L["ERROR in '%s' unknown or incompatible sub element type '%s'"] = "ERROR in '%s' unknown or incompatible sub element type '%s'" -L["Error in aura '%s'"] = "Error in aura '%s'" +L["Error in Aura '%s'"] = "Error in Aura '%s'" L["Error not receiving display information from %s"] = "Error not receiving display information from %s" L["Essence"] = "Essence" L["Essence #1"] = "Essence #1" @@ -691,8 +693,8 @@ L["Instakill"] = "Instakill" L["Install the addons BugSack and BugGrabber for detailed error logs."] = "Install the addons BugSack and BugGrabber for detailed error logs." L["Instance"] = "Instance" L["Instance Difficulty"] = "Instance Difficulty" -L["Instance Id"] = "Instance Id" L["Instance ID"] = "Instance ID" +L["Instance Id"] = "Instance Id" L["Instance Info"] = "Instance Info" L["Instance Name"] = "Instance Name" L["Instance Size Type"] = "Instance Size Type" @@ -780,7 +782,7 @@ L["Low Damage"] = "Low Damage" L["Lower Than Tank"] = "Lower Than Tank" L["Lowest Spell Id"] = "Lowest Spell Id" L["Lua error"] = "Lua error" -L["Lua error in aura '%s': %s"] = "Lua error in aura '%s': %s" +L["Lua error in Aura '%s': %s"] = "Lua error in Aura '%s': %s" L["Lucifron"] = "Lucifron" L["Maexxna"] = "Maexxna" L["Magic"] = "Magic" @@ -806,8 +808,8 @@ Intermissions are .5 E.g. 1;2;1;2;2.5;3]=] ] = [=[Matches stage number of encounter journal. Intermissions are .5 E.g. 1;2;1;2;2.5;3]=] -L["Max Char "] = "Max Char " L["Max Char"] = "Max Char" +L["Max Char "] = "Max Char " L["Max Charges"] = "Max Charges" L["Max Health"] = "Max Health" L["Max Power"] = "Max Power" @@ -995,6 +997,7 @@ L["Other Addons"] = "Other Addons" L["Other Events"] = "Other Events" L["Ouro"] = "Ouro" L["Outline"] = "Outline" +L["Over Energize"] = "Over Energize" L["Overhealing"] = "Overhealing" L["Overkill"] = "Overkill" L["Overlay %s"] = "Overlay %s" @@ -1069,10 +1072,11 @@ L["Progress"] = "Progress" L["Progress Source"] = "Progress Source" L["Progress Total"] = "Progress Total" L["Progress Value"] = "Progress Value" +L["Pull"] = "Pull" L["Pulse"] = "Pulse" L["PvP Flagged"] = "PvP Flagged" -L["PvP Talent selected"] = "PvP Talent selected" L["PvP Talent Selected"] = "PvP Talent Selected" +L["PvP Talent selected"] = "PvP Talent selected" L["Quality Id"] = "Quality Id" L["Quantity"] = "Quantity" L["Quantity earned this week"] = "Quantity earned this week" @@ -1186,6 +1190,7 @@ L[ [=[Secure frame detected. Find more information: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] ] = [=[Secure frame detected. Find more information: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] L["Select Frame"] = "Select Frame" +L["Select the type of timer to filter"] = "Select the type of timer to filter" L["Selection Mode"] = "Selection Mode" L["Separator"] = "Separator" L["Set IDs can be found on websites such as wowhead.com/cata/item-sets"] = "Set IDs can be found on websites such as wowhead.com/cata/item-sets" @@ -1345,8 +1350,8 @@ L["Talent"] = "Talent" L["Talent |cFFFF0000Not|r Known"] = "Talent |cFFFF0000Not|r Known" L["Talent |cFFFF0000Not|r Selected"] = "Talent |cFFFF0000Not|r Selected" L["Talent Known"] = "Talent Known" -L["Talent Selected"] = "Talent Selected" L["Talent selected"] = "Talent selected" +L["Talent Selected"] = "Talent Selected" L["Talent Specialization"] = "Talent Specialization" L["Tanking And Highest"] = "Tanking And Highest" L["Tanking But Not Highest"] = "Tanking But Not Highest" @@ -1400,6 +1405,7 @@ L["Time since stack gain"] = "Time since stack gain" L["Time since stack lost"] = "Time since stack lost" L["Timed"] = "Timed" L["Timed Progress"] = "Timed Progress" +L["Timer"] = "Timer" L["Timer Id"] = "Timer Id" L["Toggle"] = "Toggle" L["Toggle List"] = "Toggle List" diff --git a/WeakAuras/Locales/esES.lua b/WeakAuras/Locales/esES.lua index fa35741..79cfe3a 100644 --- a/WeakAuras/Locales/esES.lua +++ b/WeakAuras/Locales/esES.lua @@ -178,6 +178,8 @@ L["Bar enabled in BigWigs settings"] = "Barra activada en la configuración de B L["Bar enabled in Boss Mod addon settings"] = "Barra activada en la configuración del addon del módulo de jefe" L["Bar enabled in DBM settings"] = "Barra activada en la configuración de DBM" L["Bar Texture"] = "Textura de barra" +--[[Translation missing --]] +L["Bar Type"] = "Bar Type" L["Baron Geddon"] = "Barón Geddon" L["Battle for Azeroth"] = "Battle for Azeroth" L["Battle.net Whisper"] = "Battle.net Mensaje" @@ -222,6 +224,8 @@ L["Bottom Right"] = "Abajo Derecha" L["Bottom to Top"] = "De Abajo a Arriba" L["Bounce"] = "Rebotar" L["Bounce with Decay"] = "Rebotar con Amortiguación" +--[[Translation missing --]] +L["Break"] = "Break" L["BreakUpLargeNumbers (Blizzard)"] = "BreakUpLargeNumbers (Blizzard)" L["Broodlord Lashlayer"] = "Señor de linaje Capazote" L["Buff"] = "Beneficio" @@ -413,8 +417,7 @@ L["Dragonflight"] = "Dragonflight" L["Drain"] = "Drenar" L["Dropdown Menu"] = "Menú desplegable" L["Dumping table"] = "Tabla de descarga" ---[[Translation missing --]] -L["Dungeon (Celestial)"] = "Dungeon (Celestial)" +L["Dungeon (Celestial)"] = "Mazmorra (Celestial)" L["Dungeon (Heroic)"] = "Mazmorra (Heroico)" L["Dungeon (Mythic)"] = "Mazmorra (Mítico)" L["Dungeon (Mythic+)"] = "Mazmorra (Mítico+)" @@ -483,7 +486,8 @@ L["Error decompressing. This doesn't look like a WeakAuras import."] = "Error al L["Error deserializing"] = "Error de deserialización" L["Error Frame"] = "Marco de error" L["ERROR in '%s' unknown or incompatible sub element type '%s'"] = "ERROR en '%s' tipo de subelemento '%s' desconocido o incompatible" -L["Error in aura '%s'"] = "Error en el aura '%s'" +--[[Translation missing --]] +L["Error in Aura '%s'"] = "Error in Aura '%s'" L["Error not receiving display information from %s"] = "Error al no recibir información de visualización de %s" L["Essence"] = "Esencia" L["Essence #1"] = "Esencia #1" @@ -675,8 +679,8 @@ L["Instakill"] = "Muerte Instantanea" L["Install the addons BugSack and BugGrabber for detailed error logs."] = "Instala los addons BugSack y BugGrabber para obtener registros de errores detallados." L["Instance"] = "Instancia" L["Instance Difficulty"] = "Dificultad de la instancia" -L["Instance Id"] = "ID de estancia" L["Instance ID"] = "ID de estancia" +L["Instance Id"] = "ID de estancia" L["Instance Info"] = "Info de estancia" L["Instance Name"] = "Nombre de estancia" L["Instance Size Type"] = "Tipo de tamaño de estancia" @@ -758,14 +762,14 @@ L["Loot"] = "Botín" L["Loot Specialization"] = "Especialización de botín" L["Loot Specialization Id"] = "ID de especialización de botín" L["Loot Specialization Name"] = "Nombre de especialización de botín" ---[[Translation missing --]] -L["Lorewalking"] = "Lorewalking" +L["Lorewalking"] = "Paseo por la historia" L["Lost"] = "Perdido" L["Low Damage"] = "Bajo Daño" L["Lower Than Tank"] = "Menor Que el Tanque" L["Lowest Spell Id"] = "ID de hechizo más bajo" L["Lua error"] = "Error de lua" -L["Lua error in aura '%s': %s"] = "Error de lua en aura '%s': %s" +--[[Translation missing --]] +L["Lua error in Aura '%s': %s"] = "Lua error in Aura '%s': %s" L["Lucifron"] = "Lucifron" L["Maexxna"] = "Maexxna" L["Magic"] = "Magia" @@ -943,6 +947,7 @@ L["Other Addons"] = "Otros addons" L["Other Events"] = "Otros eventos" L["Ouro"] = "Ouro" L["Outline"] = "Contorno" +L["Over Energize"] = "Sobreenergizar" L["Overhealing"] = "Sobre Curación" L["Overkill"] = "Muerte de Más" L["Overlay %s"] = "Superposición %s" @@ -1017,10 +1022,12 @@ L["Progress"] = "Progreso" L["Progress Source"] = "Fuente de progreso" L["Progress Total"] = "Progreso total" L["Progress Value"] = "Valor de progreso" +--[[Translation missing --]] +L["Pull"] = "Pull" L["Pulse"] = "Pulso" L["PvP Flagged"] = "Marcado JcJ" -L["PvP Talent selected"] = "Talento de JcJ seleccionado" L["PvP Talent Selected"] = "Talento de JcJ seleccionado" +L["PvP Talent selected"] = "Talento de JcJ seleccionado" L["Quality Id"] = "ID de calidad" L["Quantity"] = "Cantidad" L["Quantity earned this week"] = "Cantidad ganada esta semana" @@ -1133,6 +1140,8 @@ L["Seconds"] = "Segundos" L[ [=[Secure frame detected. Find more information: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] ] = "Marco seguro detectado. Encuentra más información: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames" L["Select Frame"] = "Seleccionar marco" +--[[Translation missing --]] +L["Select the type of timer to filter"] = "Select the type of timer to filter" L["Selection Mode"] = "Modo de selección" L["Separator"] = "Separador" L["Set IDs can be found on websites such as wowhead.com/cata/item-sets"] = "Los IDs de conjuntos se pueden encontrar en sitios web como wowhead.com/cata/es/item-sets" @@ -1287,8 +1296,8 @@ L["Talent"] = "Talento" L["Talent |cFFFF0000Not|r Known"] = "Talento |cFFFF0000desconocido|r" L["Talent |cFFFF0000Not|r Selected"] = "Talento |cFFFF0000no|r seleccionado" L["Talent Known"] = "Talento conocido" -L["Talent Selected"] = "Talento seleccionado" L["Talent selected"] = "Talento seleccionado" +L["Talent Selected"] = "Talento seleccionado" L["Talent Specialization"] = "Especialización de Talentos" L["Tanking And Highest"] = "Tanqueando y el más alto" L["Tanking But Not Highest"] = "Tanqueando pero no el mas alto" @@ -1308,8 +1317,7 @@ L["Texture Picker"] = "Selector de texturas" L["Texture Rotation"] = "Rotación de textura" L["Thaddius"] = "Thaddius" L["The aura has overwritten the global '%s', this might affect other auras."] = "La aura ha sobrescrito el '%s' global, esto podría afectar otras auras." ---[[Translation missing --]] -L["The aura tried to overwrite the aura_env global, which is not allowed."] = "The aura tried to overwrite the aura_env global, which is not allowed." +L["The aura tried to overwrite the aura_env global, which is not allowed."] = "El aura intentó sobrescribir la variable global aura_env, lo cual no está permitido" L["The effective level differs from the level in e.g. Time Walking dungeons."] = "El nivel efectivo difiere del nivel p.ej. mazmorras de paseo en el tiempo" L["The Four Horsemen"] = "Los cuatro jinetes" L["The 'ID' value can be found in the BigWigs options of a specific spell"] = "El valor 'ID' se puede encontrar en las opciones de BigWigs de un hechizo específico." @@ -1343,6 +1351,8 @@ L["Time since stack gain"] = "Tiempo desde gana de acumulación" L["Time since stack lost"] = "Tiempo desde que se perdió la acumulación" L["Timed"] = "Temporizado" L["Timed Progress"] = "Progreso temporizado" +--[[Translation missing --]] +L["Timer"] = "Timer" L["Timer Id"] = "ID de temporizador" L["Toggle"] = "Mostrar" L["Toggle List"] = "Mostar lista" diff --git a/WeakAuras/Locales/esMX.lua b/WeakAuras/Locales/esMX.lua index a41b50d..9e2029c 100644 --- a/WeakAuras/Locales/esMX.lua +++ b/WeakAuras/Locales/esMX.lua @@ -178,6 +178,8 @@ L["Bar enabled in BigWigs settings"] = "Barra activada en la configuración de B L["Bar enabled in Boss Mod addon settings"] = "Barra activada en la configuración del addon del módulo de jefe" L["Bar enabled in DBM settings"] = "Barra activada en la configuración de DBM" L["Bar Texture"] = "Textura de barra" +--[[Translation missing --]] +L["Bar Type"] = "Bar Type" L["Baron Geddon"] = "Barón Geddon" L["Battle for Azeroth"] = "Battle for Azeroth" L["Battle.net Whisper"] = "Battle.net Mensaje" @@ -222,6 +224,8 @@ L["Bottom Right"] = "Abajo Derecha" L["Bottom to Top"] = "De Abajo a Arriba" L["Bounce"] = "Rebotar" L["Bounce with Decay"] = "Rebotar con Amortiguación" +--[[Translation missing --]] +L["Break"] = "Break" L["BreakUpLargeNumbers (Blizzard)"] = "BreakUpLargeNumbers (Blizzard)" L["Broodlord Lashlayer"] = "Señor de linaje Capazote" L["Buff"] = "Beneficio" @@ -413,8 +417,7 @@ L["Dragonflight"] = "Dragonflight" L["Drain"] = "Drenar" L["Dropdown Menu"] = "Menú desplegable" L["Dumping table"] = "Tabla de descarga" ---[[Translation missing --]] -L["Dungeon (Celestial)"] = "Dungeon (Celestial)" +L["Dungeon (Celestial)"] = "Calabozo (Celestial)" L["Dungeon (Heroic)"] = "Mazmorra (Heroico)" L["Dungeon (Mythic)"] = "Mazmorra (Mítico)" L["Dungeon (Mythic+)"] = "Mazmorra (Mítico+)" @@ -483,7 +486,8 @@ L["Error decompressing. This doesn't look like a WeakAuras import."] = "Error al L["Error deserializing"] = "Error de deserialización" L["Error Frame"] = "Marco de error" L["ERROR in '%s' unknown or incompatible sub element type '%s'"] = "ERROR en '%s' tipo de subelemento '%s' desconocido o incompatible" -L["Error in aura '%s'"] = "Error en el aura '%s'" +--[[Translation missing --]] +L["Error in Aura '%s'"] = "Error in Aura '%s'" L["Error not receiving display information from %s"] = "Error al no recibir información de visualización de %s" L["Essence"] = "Esencia" L["Essence #1"] = "Esencia #1" @@ -639,8 +643,8 @@ L["Hybrid"] = "Híbrido" L["Icon"] = "Icono" L["Icon Function"] = "Función de icono" L["Icon Function (fallback state)"] = "Función de icono (estado de reserva)" -L["Id"] = "ID" L["ID"] = "ID" +L["Id"] = "ID" L["If you require additional assistance, please open a ticket on GitHub or visit our Discord at https://discord.gg/weakauras!"] = "Si necesitas más ayuda, abre un ticket en GitHub o visita nuestro Discord en https://discord.gg/weakauras." L["Ignore Dead"] = "Ignorar muertos" L["Ignore Disconnected"] = "Ignorar desconectados" @@ -759,14 +763,14 @@ L["Loot"] = "Botín" L["Loot Specialization"] = "Especialización de botín" L["Loot Specialization Id"] = "ID de especialización de botín" L["Loot Specialization Name"] = "Nombre de especialización de botín" ---[[Translation missing --]] -L["Lorewalking"] = "Lorewalking" +L["Lorewalking"] = "Cronoleyenda" L["Lost"] = "Perdido" L["Low Damage"] = "Bajo Daño" L["Lower Than Tank"] = "Menor Que el Tanque" L["Lowest Spell Id"] = "ID de hechizo más bajo" L["Lua error"] = "Error de lua" -L["Lua error in aura '%s': %s"] = "Error de lua en aura '%s': %s" +--[[Translation missing --]] +L["Lua error in Aura '%s': %s"] = "Lua error in Aura '%s': %s" L["Lucifron"] = "Lucifron" L["Maexxna"] = "Maexxna" L["Magic"] = "Magia" @@ -944,6 +948,7 @@ L["Other Addons"] = "Otros addons" L["Other Events"] = "Otros eventos" L["Ouro"] = "Ouro" L["Outline"] = "Contorno" +L["Over Energize"] = "Sobreenergizar" L["Overhealing"] = "Sobre Curación" L["Overkill"] = "Muerte de Más" L["Overlay %s"] = "Superposición %s" @@ -1018,10 +1023,12 @@ L["Progress"] = "Progreso" L["Progress Source"] = "Fuente de progreso" L["Progress Total"] = "Progreso total" L["Progress Value"] = "Valor de progreso" +--[[Translation missing --]] +L["Pull"] = "Pull" L["Pulse"] = "Pulso" L["PvP Flagged"] = "Marcado JcJ" -L["PvP Talent selected"] = "Talento de JcJ seleccionado" L["PvP Talent Selected"] = "Talento de JcJ seleccionado" +L["PvP Talent selected"] = "Talento de JcJ seleccionado" L["Quality Id"] = "ID de calidad" L["Quantity"] = "Cantidad" L["Quantity earned this week"] = "Cantidad ganada esta semana" @@ -1134,6 +1141,8 @@ L["Seconds"] = "Segundos" L[ [=[Secure frame detected. Find more information: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] ] = "Marco seguro detectado. Encuentra más información: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames" L["Select Frame"] = "Seleccionar marco" +--[[Translation missing --]] +L["Select the type of timer to filter"] = "Select the type of timer to filter" L["Selection Mode"] = "Modo de selección" L["Separator"] = "Separador" L["Set IDs can be found on websites such as wowhead.com/cata/item-sets"] = "Los ID de conjuntos se pueden encontrar en sitios web como wowhead.com/cata/mx/item-sets" @@ -1309,8 +1318,7 @@ L["Texture Picker"] = "Selector de texturas" L["Texture Rotation"] = "Rotación de textura" L["Thaddius"] = "Thaddius" L["The aura has overwritten the global '%s', this might affect other auras."] = "La aura ha sobrescrito el '%s' global, esto podría afectar otras auras." ---[[Translation missing --]] -L["The aura tried to overwrite the aura_env global, which is not allowed."] = "The aura tried to overwrite the aura_env global, which is not allowed." +L["The aura tried to overwrite the aura_env global, which is not allowed."] = "El aura intentó sobrescribir la variable global aura_env, lo cual no está permitido." L["The effective level differs from the level in e.g. Time Walking dungeons."] = "El nivel efectivo difiere del nivel p.ej. mazmorras de paseo en el tiempo" L["The Four Horsemen"] = "Los cuatro jinetes" L["The 'ID' value can be found in the BigWigs options of a specific spell"] = "El valor 'ID' se puede encontrar en las opciones de BigWigs de un hechizo específico." @@ -1344,6 +1352,8 @@ L["Time since stack gain"] = "Tiempo desde gana de acumulación" L["Time since stack lost"] = "Tiempo desde que se perdió la acumulación" L["Timed"] = "Temporizado" L["Timed Progress"] = "Progreso temporizado" +--[[Translation missing --]] +L["Timer"] = "Timer" L["Timer Id"] = "ID de temporizador" L["Toggle"] = "Mostrar" L["Toggle List"] = "Mostar lista" diff --git a/WeakAuras/Locales/frFR.lua b/WeakAuras/Locales/frFR.lua index 62a2a26..efaa033 100644 --- a/WeakAuras/Locales/frFR.lua +++ b/WeakAuras/Locales/frFR.lua @@ -202,6 +202,8 @@ L["Bar enabled in DBM settings"] = [=[Barre activée dans les paramètres de DBM ]=] L["Bar Texture"] = "Texture de la barre" +--[[Translation missing --]] +L["Bar Type"] = "Bar Type" L["Baron Geddon"] = "Baron Geddon" L["Battle for Azeroth"] = "Battle for Azeroth" L["Battle.net Whisper"] = "Message Battle.net" @@ -260,6 +262,8 @@ L["Bottom to Top"] = "De Bas en Haut" L["Bounce"] = "Rebond" L["Bounce with Decay"] = "Rebond décroissant" --[[Translation missing --]] +L["Break"] = "Break" +--[[Translation missing --]] L["BreakUpLargeNumbers (Blizzard)"] = "BreakUpLargeNumbers (Blizzard)" --[[Translation missing --]] L["Broodlord Lashlayer"] = "Broodlord Lashlayer" @@ -645,7 +649,7 @@ L["Error Frame"] = "Fenêtre d'erreur" --[[Translation missing --]] L["ERROR in '%s' unknown or incompatible sub element type '%s'"] = "ERROR in '%s' unknown or incompatible sub element type '%s'" --[[Translation missing --]] -L["Error in aura '%s'"] = "Error in aura '%s'" +L["Error in Aura '%s'"] = "Error in Aura '%s'" L["Error not receiving display information from %s"] = "Erreur de non-réception d'informations d'affichage de %s" --[[Translation missing --]] L["Essence"] = "Essence" @@ -928,10 +932,10 @@ L["Install the addons BugSack and BugGrabber for detailed error logs."] = "Insta L["Instance"] = "Instance" L["Instance Difficulty"] = "Difficulté de l'Instance" --[[Translation missing --]] -L["Instance Id"] = "Instance Id" ---[[Translation missing --]] L["Instance ID"] = "Instance ID" --[[Translation missing --]] +L["Instance Id"] = "Instance Id" +--[[Translation missing --]] L["Instance Info"] = "Instance Info" --[[Translation missing --]] L["Instance Name"] = "Instance Name" @@ -1063,7 +1067,7 @@ L["Lowest Spell Id"] = "Lowest Spell Id" --[[Translation missing --]] L["Lua error"] = "Lua error" --[[Translation missing --]] -L["Lua error in aura '%s': %s"] = "Lua error in aura '%s': %s" +L["Lua error in Aura '%s': %s"] = "Lua error in Aura '%s': %s" --[[Translation missing --]] L["Lucifron"] = "Lucifron" --[[Translation missing --]] @@ -1327,6 +1331,8 @@ L["Other Addons"] = "Autre Addons" L["Other Events"] = "Autre Événements" L["Ouro"] = "Ouro" L["Outline"] = "Contour" +--[[Translation missing --]] +L["Over Energize"] = "Over Energize" L["Overhealing"] = "Soin en excès" L["Overkill"] = "Dégâts en excès" L["Overlay %s"] = "Superposer %s" @@ -1425,11 +1431,13 @@ L["Progress"] = "Progrès" L["Progress Source"] = "Progress Source" L["Progress Total"] = "Progrès Total" L["Progress Value"] = "Valeur de progression" +--[[Translation missing --]] +L["Pull"] = "Pull" L["Pulse"] = "Pulsation" L["PvP Flagged"] = "JcJ activé" -L["PvP Talent selected"] = "Talent JcJ sélectionné" --[[Translation missing --]] L["PvP Talent Selected"] = "PvP Talent Selected" +L["PvP Talent selected"] = "Talent JcJ sélectionné" --[[Translation missing --]] L["Quality Id"] = "Quality Id" --[[Translation missing --]] @@ -1588,6 +1596,8 @@ https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] ] = [=[Secure f https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] L["Select Frame"] = "Sélectionner le cadre" --[[Translation missing --]] +L["Select the type of timer to filter"] = "Select the type of timer to filter" +--[[Translation missing --]] L["Selection Mode"] = "Selection Mode" L["Separator"] = "Séparateur" --[[Translation missing --]] @@ -1923,6 +1933,8 @@ L["Timed"] = "Temporisé" --[[Translation missing --]] L["Timed Progress"] = "Timed Progress" --[[Translation missing --]] +L["Timer"] = "Timer" +--[[Translation missing --]] L["Timer Id"] = "Timer Id" L["Toggle"] = "Basculer" L["Toggle List"] = "Basculer la liste" diff --git a/WeakAuras/Locales/itIT.lua b/WeakAuras/Locales/itIT.lua index b9c45f5..f0df5c7 100644 --- a/WeakAuras/Locales/itIT.lua +++ b/WeakAuras/Locales/itIT.lua @@ -208,6 +208,8 @@ L["Bar enabled in Boss Mod addon settings"] = "Bar enabled in Boss Mod addon set L["Bar enabled in DBM settings"] = "Bar enabled in DBM settings" --[[Translation missing --]] L["Bar Texture"] = "Bar Texture" +--[[Translation missing --]] +L["Bar Type"] = "Bar Type" L["Baron Geddon"] = "Barone Geddon" --[[Translation missing --]] L["Battle for Azeroth"] = "Battle for Azeroth" @@ -267,6 +269,8 @@ L["Bottom to Top"] = "Basso verso l'alto" L["Bounce"] = "Balzo" L["Bounce with Decay"] = "Bounce with Decay" --[[Translation missing --]] +L["Break"] = "Break" +--[[Translation missing --]] L["BreakUpLargeNumbers (Blizzard)"] = "BreakUpLargeNumbers (Blizzard)" L["Broodlord Lashlayer"] = "Signore della Progenie Lashlayer" L["Buff"] = "Buff" @@ -696,7 +700,7 @@ L["Error Frame"] = "Error Frame" --[[Translation missing --]] L["ERROR in '%s' unknown or incompatible sub element type '%s'"] = "ERROR in '%s' unknown or incompatible sub element type '%s'" --[[Translation missing --]] -L["Error in aura '%s'"] = "Error in aura '%s'" +L["Error in Aura '%s'"] = "Error in Aura '%s'" --[[Translation missing --]] L["Error not receiving display information from %s"] = "Error not receiving display information from %s" --[[Translation missing --]] @@ -1256,7 +1260,7 @@ L["Lowest Spell Id"] = "Lowest Spell Id" --[[Translation missing --]] L["Lua error"] = "Lua error" --[[Translation missing --]] -L["Lua error in aura '%s': %s"] = "Lua error in aura '%s': %s" +L["Lua error in Aura '%s': %s"] = "Lua error in Aura '%s': %s" --[[Translation missing --]] L["Lucifron"] = "Lucifron" --[[Translation missing --]] @@ -1612,6 +1616,8 @@ L["Ouro"] = "Ouro" --[[Translation missing --]] L["Outline"] = "Outline" --[[Translation missing --]] +L["Over Energize"] = "Over Energize" +--[[Translation missing --]] L["Overhealing"] = "Overhealing" --[[Translation missing --]] L["Overkill"] = "Overkill" @@ -1760,14 +1766,16 @@ L["Progress Total"] = "Progress Total" --[[Translation missing --]] L["Progress Value"] = "Progress Value" --[[Translation missing --]] +L["Pull"] = "Pull" +--[[Translation missing --]] L["Pulse"] = "Pulse" --[[Translation missing --]] L["PvP Flagged"] = "PvP Flagged" --[[Translation missing --]] -L["PvP Talent selected"] = "PvP Talent selected" ---[[Translation missing --]] L["PvP Talent Selected"] = "PvP Talent Selected" --[[Translation missing --]] +L["PvP Talent selected"] = "PvP Talent selected" +--[[Translation missing --]] L["Quality Id"] = "Quality Id" --[[Translation missing --]] L["Quantity"] = "Quantity" @@ -1992,6 +2000,8 @@ https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] --[[Translation missing --]] L["Select Frame"] = "Select Frame" --[[Translation missing --]] +L["Select the type of timer to filter"] = "Select the type of timer to filter" +--[[Translation missing --]] L["Selection Mode"] = "Selection Mode" --[[Translation missing --]] L["Separator"] = "Separator" @@ -2300,10 +2310,10 @@ L["Talent |cFFFF0000Not|r Selected"] = "Talent |cFFFF0000Not|r Selected" --[[Translation missing --]] L["Talent Known"] = "Talent Known" --[[Translation missing --]] -L["Talent Selected"] = "Talent Selected" ---[[Translation missing --]] L["Talent selected"] = "Talent selected" --[[Translation missing --]] +L["Talent Selected"] = "Talent Selected" +--[[Translation missing --]] L["Talent Specialization"] = "Talent Specialization" --[[Translation missing --]] L["Tanking And Highest"] = "Tanking And Highest" @@ -2410,6 +2420,8 @@ L["Timed"] = "Timed" --[[Translation missing --]] L["Timed Progress"] = "Timed Progress" --[[Translation missing --]] +L["Timer"] = "Timer" +--[[Translation missing --]] L["Timer Id"] = "Timer Id" --[[Translation missing --]] L["Toggle"] = "Toggle" diff --git a/WeakAuras/Locales/koKR.lua b/WeakAuras/Locales/koKR.lua index b22ca5d..2109942 100644 --- a/WeakAuras/Locales/koKR.lua +++ b/WeakAuras/Locales/koKR.lua @@ -191,10 +191,11 @@ L["Background"] = "배경" L["Background Color"] = "배경색" L["Balnazzar"] = "발나자르" L["Bar Color/Gradient Start"] = "바 색상/그라디언트 첫 색상" -L["Bar enabled in BigWigs settings"] = "타이머 바가 BigWigs 설정에서 활성화됨" -L["Bar enabled in Boss Mod addon settings"] = "타이머 바가 보스모드 애드온 설정에서 활성화됨" -L["Bar enabled in DBM settings"] = "타이머 바가 DBM 설정에서 활성화됨" +L["Bar enabled in BigWigs settings"] = "타이머 바 설정을 BigWigs에서 사용 중" +L["Bar enabled in Boss Mod addon settings"] = "타이머 바 설정을 보스모드 애드온에서 사용 중" +L["Bar enabled in DBM settings"] = "타이머 바 설정을 DBM에서 사용 중" L["Bar Texture"] = "바 텍스처" +L["Bar Type"] = "타이머 바 종류" L["Baron Geddon"] = "남작 게돈" L["Battle for Azeroth"] = "격전의 아제로스" L["Battle.net Whisper"] = "Battle.net 귓속말" @@ -239,6 +240,7 @@ L["Bottom Right"] = "오른쪽 아래" L["Bottom to Top"] = "아래에서 위로" L["Bounce"] = "튕기기" L["Bounce with Decay"] = "튕기기 (점점 약하게)" +L["Break"] = "휴식" L["BreakUpLargeNumbers (Blizzard)"] = "단위에 쉼표 표기 (블리자드)" L["Broodlord Lashlayer"] = "용기대장 래쉬레이어" L["Buff"] = "버프" @@ -333,7 +335,7 @@ L["Cooldown Reduction changes the duration of seconds instead of showing the rea L["Cooldown/Charges/Count"] = "쿨타임/충전량/사용 가능 횟수" L["Copper"] = "코퍼" L["Could not load WeakAuras Archive, the addon is %s"] = "WeakAuras Archive를 불러올 수 없습니다. 애드온이 %s 상태입니다" -L["Count"] = "갯수" +L["Count"] = "개수" L["Counter Clockwise"] = "반시계 방향" L["Create"] = "생성" L["Creature Family"] = "생물 계열" @@ -431,8 +433,7 @@ L["Dragonflight"] = "용군단" L["Drain"] = "마력 소진" L["Dropdown Menu"] = "드롭다운 메뉴" L["Dumping table"] = "테이블 덤프" ---[[Translation missing --]] -L["Dungeon (Celestial)"] = "Dungeon (Celestial)" +L["Dungeon (Celestial)"] = "던전 (천신)" L["Dungeon (Heroic)"] = "던전 (영웅)" L["Dungeon (Mythic)"] = "던전 (신화)" L["Dungeon (Mythic+)"] = "던전 (신화+)" @@ -502,7 +503,7 @@ L["Error decompressing. This doesn't look like a WeakAuras import."] = "압축 L["Error deserializing"] = "역직렬화 오류" L["Error Frame"] = "오류창" L["ERROR in '%s' unknown or incompatible sub element type '%s'"] = "'%s'에서 오류 알 수 없거나 비호환 하위 요소 유형 '%s'" -L["Error in aura '%s'"] = "'%s' 위크오라에 오류 발생" +L["Error in Aura '%s'"] = "'%s' 위크오라에 오류 발생" L["Error not receiving display information from %s"] = "%s에게서 디스플레이 정보를 받지 못하는 오류" L["Essence"] = "정수" L["Essence #1"] = "정수 #1" @@ -658,8 +659,8 @@ L["Hybrid"] = "혼합" L["Icon"] = "아이콘" L["Icon Function"] = "아이콘 함수" L["Icon Function (fallback state)"] = "Icon 함수 (고장 대체 상태)" -L["Id"] = "ID" L["ID"] = "ID" +L["Id"] = "ID" L["If you require additional assistance, please open a ticket on GitHub or visit our Discord at https://discord.gg/weakauras!"] = "더 많은 도움이 필요하다면 GitHub에서 티켓을 열거나 저희 Discord (https://discord.gg/weakauras)를 방문해 주세요!" L["Ignore Dead"] = "죽음 무시" L["Ignore Disconnected"] = "오프라인 무시" @@ -777,14 +778,13 @@ L["Loot"] = "전리품 획득" L["Loot Specialization"] = "전리품 획득 전문화" L["Loot Specialization Id"] = "전리품 획득 전문화 ID" L["Loot Specialization Name"] = "전리품 획득 전문화 이름" ---[[Translation missing --]] -L["Lorewalking"] = "Lorewalking" +L["Lorewalking"] = "전승" L["Lost"] = "손실" L["Low Damage"] = "낮은 피해" L["Lower Than Tank"] = "탱커보다 낮을 때" L["Lowest Spell Id"] = "가장 낮은 주문 ID" L["Lua error"] = "Lua 오류" -L["Lua error in aura '%s': %s"] = "'%s' 위크오라에 Lua 오류: %s" +L["Lua error in Aura '%s': %s"] = "'%s' 위크오라에 Lua 오류 발생: %s" L["Lucifron"] = "루시프론" L["Maexxna"] = "맥스나" L["Magic"] = "마법" @@ -997,6 +997,7 @@ L["Other Addons"] = "다른 애드온" L["Other Events"] = "기타 이벤트" L["Ouro"] = "아우로" L["Outline"] = "외곽선" +L["Over Energize"] = "과충전" L["Overhealing"] = "초과 치유" L["Overkill"] = "초과 피해" L["Overlay %s"] = "오버레이 %s" @@ -1071,10 +1072,11 @@ L["Progress"] = "진행도에 비례" L["Progress Source"] = "진행 출처" L["Progress Total"] = "진행 현황" L["Progress Value"] = "진행도 값" +L["Pull"] = "풀링" L["Pulse"] = "맥박" L["PvP Flagged"] = "플레이어 간 전투 활성화" -L["PvP Talent selected"] = "선택한 PvP 특성" L["PvP Talent Selected"] = "선택한 PvP 특성" +L["PvP Talent selected"] = "선택한 PvP 특성" L["Quality Id"] = "품질 Id" L["Quantity"] = "수량" L["Quantity earned this week"] = "이번주 획득량" @@ -1188,6 +1190,7 @@ L[ [=[Secure frame detected. Find more information: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] ] = [=[보안 프레임이 감지됐습니다. 자세한 정보: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] L["Select Frame"] = "프레임 선택" +L["Select the type of timer to filter"] = "필터링할 타이머 유형을 선택합니다" L["Selection Mode"] = "선택 모드" L["Separator"] = "구분자" L["Set IDs can be found on websites such as wowhead.com/cata/item-sets"] = "세트 ID는 wowhead.com/cata/item-sets 같은 웹사이트에서 찾아볼 수 있습니다" @@ -1330,7 +1333,7 @@ L[ [=[Supports multiple entries, separated by commas. To include child zone ids, Group Zone IDs must be prefixed with 'g', e.g. 'g277'. Supports Area IDs from https://wago.tools/db2/AreaTable prefixed with 'a'. Supports Instance IDs prefixed with 'i'. -Entries can be prefixed with '-' to negate.]=] ] = "여러 항목을 지원하며 쉼표로 구분됩니다. 자식 지역(Child Zone) ID 를 포함하려면 'c2022'처럼 'c'를 접두사로 사용하세요. 그룹 지역(Group Zone) ID는 'g277'처럼 'g'를 접두사로 사용해야 합니다. 구역(Area) ID는 https://wago.tools/db2/AreaTable에서 확인할 수 있으며 'a'를 접두사로 사용합니다. 인스턴스(Instance) ID는 'i'를 접두사로 사용하세요. 이들 항목은 '-'를 접두사로 사용하면 조건이 반대로 해당 지역에 없을 때가 됩니다." +Entries can be prefixed with '-' to negate.]=] ] = "여러 항목을 지원하며 쉼표로 구분됩니다. 자식 지역(Child Zone) ID를 포함하려면 'c2022'처럼 'c'를 접두사로 사용하세요. 그룹 지역(Group Zone) ID는 'g277'처럼 'g'를 접두사로 사용해야 합니다. 구역(Area) ID는 https://wago.tools/db2/AreaTable에서 확인할 수 있으며 'a'를 접두사로 사용합니다. 인스턴스(Instance) ID는 'i'를 접두사로 사용하세요. 이들 항목은 '-'를 접두사로 사용하면 조건이 반대로 해당 지역에 없을 때가 됩니다." L["Swing"] = "근접 평타" L["Swing Timer"] = "근접 평타 타이머" L["Swipe"] = "쿨타임 진행" @@ -1342,17 +1345,17 @@ L["Talent"] = "특성" L["Talent |cFFFF0000Not|r Known"] = "습득하지 |cFFFF0000않은|r 특성" L["Talent |cFFFF0000Not|r Selected"] = "선택하지 |cFFFF0000않은|r 특성" L["Talent Known"] = "습득한 특성" -L["Talent Selected"] = "선택한 특성" L["Talent selected"] = "선택한 특성" +L["Talent Selected"] = "선택한 특성" L["Talent Specialization"] = "특성 전문화" L["Tanking And Highest"] = "탱커이면서 제일 높을 때" L["Tanking But Not Highest"] = "탱커지만 제일 높지 않을 때" L["Target"] = "대상" L["Targeted"] = "대상이 됨" L["Tertiary Stats"] = "3차 능력치" -L["Test if bar is enabled in BigWigs settings"] = "타이머 바가 BigWigs 설정에서 활성화되어 있는지 테스트합니다" -L["Test if bar is enabled in Boss Mod addon settings"] = "타이머 바가 보스모드 애드온 설정에서 활성화되어 있는지 테스트합니다" -L["Test if bar is enabled in DBM settings"] = "타이머 바가 DBM 설정에서 활성화되어 있는지 테스트합니다" +L["Test if bar is enabled in BigWigs settings"] = "타이머 바가 BigWigs 설정에서 활성화되어 있는지 체크합니다" +L["Test if bar is enabled in Boss Mod addon settings"] = "타이머 바가 보스모드 애드온 설정에서 활성화되어 있는지 체크합니다" +L["Test if bar is enabled in DBM settings"] = "타이머 바가 DBM 설정에서 활성화되어 있는지 체크합니다" L["Text"] = "텍스트" L["Text To Speech"] = "텍스트 음성 변환" L["Text-to-speech"] = "텍스트 음성 변환" @@ -1397,6 +1400,7 @@ L["Time since stack gain"] = "중첩 획득 이후 시간" L["Time since stack lost"] = "중첩 감소 이후 시간" L["Timed"] = "일정 시간" L["Timed Progress"] = "시간으로 진행" +L["Timer"] = "타이머" L["Timer Id"] = "타이머 ID" L["Toggle"] = "켜기/끄기" L["Toggle List"] = "목록 열기/닫기" diff --git a/WeakAuras/Locales/ptBR.lua b/WeakAuras/Locales/ptBR.lua index 9fd3bba..7f873e7 100644 --- a/WeakAuras/Locales/ptBR.lua +++ b/WeakAuras/Locales/ptBR.lua @@ -256,6 +256,8 @@ L["Bar enabled in Boss Mod addon settings"] = "Bar enabled in Boss Mod addon set L["Bar enabled in DBM settings"] = "Bar enabled in DBM settings" --[[Translation missing --]] L["Bar Texture"] = "Bar Texture" +--[[Translation missing --]] +L["Bar Type"] = "Bar Type" L["Baron Geddon"] = "Barão Geddon" --[[Translation missing --]] L["Battle for Azeroth"] = "Battle for Azeroth" @@ -316,6 +318,8 @@ L["Bottom to Top"] = "De baixo para cima" L["Bounce"] = "Salto" L["Bounce with Decay"] = "Salto com declínio" --[[Translation missing --]] +L["Break"] = "Break" +--[[Translation missing --]] L["BreakUpLargeNumbers (Blizzard)"] = "BreakUpLargeNumbers (Blizzard)" L["Broodlord Lashlayer"] = "Prolemestre Flagelador" L["Buff"] = "Buff" @@ -779,7 +783,7 @@ L["Error Frame"] = "Error Frame" --[[Translation missing --]] L["ERROR in '%s' unknown or incompatible sub element type '%s'"] = "ERROR in '%s' unknown or incompatible sub element type '%s'" --[[Translation missing --]] -L["Error in aura '%s'"] = "Error in aura '%s'" +L["Error in Aura '%s'"] = "Error in Aura '%s'" --[[Translation missing --]] L["Error not receiving display information from %s"] = "Error not receiving display information from %s" --[[Translation missing --]] @@ -1078,10 +1082,10 @@ L["Icon Function"] = "Icon Function" --[[Translation missing --]] L["Icon Function (fallback state)"] = "Icon Function (fallback state)" --[[Translation missing --]] -L["Id"] = "Id" ---[[Translation missing --]] L["ID"] = "ID" --[[Translation missing --]] +L["Id"] = "Id" +--[[Translation missing --]] L["If you require additional assistance, please open a ticket on GitHub or visit our Discord at https://discord.gg/weakauras!"] = "If you require additional assistance, please open a ticket on GitHub or visit our Discord at https://discord.gg/weakauras!" --[[Translation missing --]] L["Ignore Dead"] = "Ignore Dead" @@ -1142,10 +1146,10 @@ L["Install the addons BugSack and BugGrabber for detailed error logs."] = "Insta L["Instance"] = "Instance" L["Instance Difficulty"] = "Dificuldade da Instância" --[[Translation missing --]] -L["Instance Id"] = "Instance Id" ---[[Translation missing --]] L["Instance ID"] = "Instance ID" --[[Translation missing --]] +L["Instance Id"] = "Instance Id" +--[[Translation missing --]] L["Instance Info"] = "Instance Info" --[[Translation missing --]] L["Instance Name"] = "Instance Name" @@ -1312,7 +1316,7 @@ L["Lowest Spell Id"] = "Lowest Spell Id" --[[Translation missing --]] L["Lua error"] = "Lua error" --[[Translation missing --]] -L["Lua error in aura '%s': %s"] = "Lua error in aura '%s': %s" +L["Lua error in Aura '%s': %s"] = "Lua error in Aura '%s': %s" --[[Translation missing --]] L["Lucifron"] = "Lucifron" --[[Translation missing --]] @@ -1644,6 +1648,8 @@ L["Other Events"] = "Other Events" L["Ouro"] = "Ouro" --[[Translation missing --]] L["Outline"] = "Outline" +--[[Translation missing --]] +L["Over Energize"] = "Over Energize" L["Overhealing"] = "Sobrecura" L["Overkill"] = "Sobreassassinato" --[[Translation missing --]] @@ -1772,13 +1778,15 @@ L["Progress Source"] = "Progress Source" L["Progress Total"] = "Progress Total" --[[Translation missing --]] L["Progress Value"] = "Progress Value" +--[[Translation missing --]] +L["Pull"] = "Pull" L["Pulse"] = "Pulsar" L["PvP Flagged"] = "Marcado para JxJ" --[[Translation missing --]] -L["PvP Talent selected"] = "PvP Talent selected" ---[[Translation missing --]] L["PvP Talent Selected"] = "PvP Talent Selected" --[[Translation missing --]] +L["PvP Talent selected"] = "PvP Talent selected" +--[[Translation missing --]] L["Quality Id"] = "Quality Id" --[[Translation missing --]] L["Quantity"] = "Quantity" @@ -1977,6 +1985,8 @@ https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] --[[Translation missing --]] L["Select Frame"] = "Select Frame" --[[Translation missing --]] +L["Select the type of timer to filter"] = "Select the type of timer to filter" +--[[Translation missing --]] L["Selection Mode"] = "Selection Mode" --[[Translation missing --]] L["Separator"] = "Separator" @@ -2360,6 +2370,8 @@ L["Timed"] = "Temporizado" --[[Translation missing --]] L["Timed Progress"] = "Timed Progress" --[[Translation missing --]] +L["Timer"] = "Timer" +--[[Translation missing --]] L["Timer Id"] = "Timer Id" --[[Translation missing --]] L["Toggle"] = "Toggle" diff --git a/WeakAuras/Locales/ruRU.lua b/WeakAuras/Locales/ruRU.lua index 271022f..bd591ea 100644 --- a/WeakAuras/Locales/ruRU.lua +++ b/WeakAuras/Locales/ruRU.lua @@ -192,6 +192,8 @@ L["Bar enabled in Boss Mod addon settings"] = "Bar enabled in Boss Mod addon set --[[Translation missing --]] L["Bar enabled in DBM settings"] = "Bar enabled in DBM settings" L["Bar Texture"] = "Текстура полосы" +--[[Translation missing --]] +L["Bar Type"] = "Bar Type" L["Baron Geddon"] = "Барон Геддон" L["Battle for Azeroth"] = "Battle for Azeroth" L["Battle.net Whisper"] = "Шепот в сети Battle.net" @@ -236,6 +238,8 @@ L["Bottom Right"] = "Снизу справа" L["Bottom to Top"] = "Снизу вверх" L["Bounce"] = "Отскок" L["Bounce with Decay"] = "Отскок с затуханием" +--[[Translation missing --]] +L["Break"] = "Break" L["BreakUpLargeNumbers (Blizzard)"] = "РазделениеБольшихЧисел (Blizzard)" L["Broodlord Lashlayer"] = "Предводитель драконов Разящий Бич" L["Buff"] = "Бафф" @@ -511,7 +515,7 @@ L["Error deserializing"] = "Ошибка десериализации" L["Error Frame"] = "Область вывода ошибок" L["ERROR in '%s' unknown or incompatible sub element type '%s'"] = "Ошибка в индикации %s. Внутренний элемент неизвестного или несовместимого типа %s." --[[Translation missing --]] -L["Error in aura '%s'"] = "Error in aura '%s'" +L["Error in Aura '%s'"] = "Error in Aura '%s'" L["Error not receiving display information from %s"] = [=[Ошибка при получении информации об индикации от %s]=] L["Essence"] = "Сущность" @@ -673,8 +677,8 @@ L["Hybrid"] = "Гибридная" L["Icon"] = "Иконка" L["Icon Function"] = "Функция иконки" L["Icon Function (fallback state)"] = "Функция иконки (резервное состояние)" -L["Id"] = "ID" L["ID"] = "ID" +L["Id"] = "ID" L["If you require additional assistance, please open a ticket on GitHub or visit our Discord at https://discord.gg/weakauras!"] = "Если вам необходима дополнительная помощь, пожалуйста, откройте запрос на GitHub или посетите наш сервер в Discord по адресу https://discord.gg/weakauras." L["Ignore Dead"] = "Не учитывать мёртвые цели" L["Ignore Disconnected"] = "Не учитывать игроков не в сети" @@ -710,8 +714,8 @@ L["Instakill"] = "Моментальное убийство" L["Install the addons BugSack and BugGrabber for detailed error logs."] = "Установите аддоны BugSack и BugGrabber для получения подробных записей об ошибках." L["Instance"] = "Подземелье" L["Instance Difficulty"] = "Сложность подземелья" -L["Instance Id"] = "ID подземелья" L["Instance ID"] = "Идентификатор подземелья" +L["Instance Id"] = "ID подземелья" L["Instance Info"] = "Информация о подземелье" L["Instance Name"] = "Название подземелья" L["Instance Size Type"] = "Тип размера подземелья" @@ -802,7 +806,8 @@ L["Lower Than Tank"] = "Меньше чем у основной цели" --[[Translation missing --]] L["Lowest Spell Id"] = "Lowest Spell Id" L["Lua error"] = "Ошибка Lua" -L["Lua error in aura '%s': %s"] = "Ошибка Lua в индикации '%s': %s" +--[[Translation missing --]] +L["Lua error in Aura '%s': %s"] = "Lua error in Aura '%s': %s" L["Lucifron"] = "Люцифрон" L["Maexxna"] = "Мексна" L["Magic"] = "Магия" @@ -828,9 +833,9 @@ L[ [=[Matches stage number of encounter journal. Intermissions are .5 E.g. 1;2;1;2;2.5;3]=] ] = [=[Совпадает с номером фазы в журнале сражения с боссом. Смена фаз нумеруется как x.5 Например: 1, 2, 1, 2, 2.5, 3.]=] -L["Max Char "] = "Макс. количество символов" --[[Translation missing --]] L["Max Char"] = "Max Char" +L["Max Char "] = "Макс. количество символов" L["Max Charges"] = "Макс. количество зарядов" L["Max Health"] = "Макс. запас здоровья" L["Max Power"] = "Макс. запас энергии" @@ -984,6 +989,8 @@ L["Other Addons"] = "Другие аддоны" L["Other Events"] = "Другие события" L["Ouro"] = "Оуро" L["Outline"] = "Контур" +--[[Translation missing --]] +L["Over Energize"] = "Over Energize" L["Overhealing"] = "Избыточное исцеление" L["Overkill"] = "Избыточный урон" L["Overlay %s"] = "Наложение %s" @@ -1061,10 +1068,12 @@ L["Progress"] = "Прогресс" L["Progress Source"] = "Источник прогресса" L["Progress Total"] = "Общее значение" L["Progress Value"] = "Текущее значение" +--[[Translation missing --]] +L["Pull"] = "Pull" L["Pulse"] = "Пульсация" L["PvP Flagged"] = "В режиме PvP" -L["PvP Talent selected"] = "PvP талант выбран" L["PvP Talent Selected"] = "PvP талант выбран" +L["PvP Talent selected"] = "PvP талант выбран" L["Quality Id"] = "ID качества" L["Quantity"] = "Количество" L["Quantity earned this week"] = "Заработано на этой неделе" @@ -1181,6 +1190,8 @@ L[ [=[Secure frame detected. Find more information: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] ] = [=[Обнаружен защищённый кадр. Подробная информация на странице: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] L["Select Frame"] = "Выбрать кадр" +--[[Translation missing --]] +L["Select the type of timer to filter"] = "Select the type of timer to filter" L["Selection Mode"] = "Режим выбора" L["Separator"] = "Разделитель" L["Set IDs can be found on websites such as wowhead.com/cata/item-sets"] = "Идентификаторы комплектов можно найти здесь - wowhead.com/cata/item-sets" @@ -1343,8 +1354,8 @@ L["Talent"] = "Талант" L["Talent |cFFFF0000Not|r Known"] = "Талант |cFFFF0000НЕ|rизвестен" L["Talent |cFFFF0000Not|r Selected"] = "Талант |cFFFF0000НЕ|r выбран" L["Talent Known"] = "Талант известен" -L["Talent Selected"] = "Талант выбран" L["Talent selected"] = "Выбран талант" +L["Talent Selected"] = "Талант выбран" L["Talent Specialization"] = "Специализация" L["Tanking And Highest"] = "Вы основная цель; макс. угроза" L["Tanking But Not Highest"] = "Вы основная цель; не макс. угроза" @@ -1404,6 +1415,8 @@ L["Time since stack gain"] = "Время с момента увеличения L["Time since stack lost"] = "Время с момента потери стака" L["Timed"] = "По истечении времени" L["Timed Progress"] = "Прогресс по времени" +--[[Translation missing --]] +L["Timer"] = "Timer" L["Timer Id"] = "ID таймера" L["Toggle"] = "Переключатель (флажок)" L["Toggle List"] = "Список переключателей (флажков)" diff --git a/WeakAuras/Locales/zhCN.lua b/WeakAuras/Locales/zhCN.lua index 3fadacc..fe64739 100644 --- a/WeakAuras/Locales/zhCN.lua +++ b/WeakAuras/Locales/zhCN.lua @@ -193,6 +193,8 @@ L["Bar enabled in BigWigs settings"] = "BigWigs 设置中已启用进度条" L["Bar enabled in Boss Mod addon settings"] = "首领模组插件设置中已启用进度条" L["Bar enabled in DBM settings"] = "DBM 设置中已启用进度条" L["Bar Texture"] = "进度条材质" +--[[Translation missing --]] +L["Bar Type"] = "Bar Type" L["Baron Geddon"] = "迦顿男爵" L["Battle for Azeroth"] = "争霸艾泽拉斯" L["Battle.net Whisper"] = "战网密语" @@ -237,6 +239,8 @@ L["Bottom Right"] = "右下" L["Bottom to Top"] = "从下到上" L["Bounce"] = "弹跳" L["Bounce with Decay"] = "衰减地弹跳" +--[[Translation missing --]] +L["Break"] = "Break" L["BreakUpLargeNumbers (Blizzard)"] = "分隔大数字(暴雪)" L["Broodlord Lashlayer"] = "勒什雷尔" L["Buff"] = "增益效果" @@ -498,7 +502,8 @@ L["Error decompressing. This doesn't look like a WeakAuras import."] = "解压 L["Error deserializing"] = "反序列化错误。" L["Error Frame"] = "错误信息框架" L["ERROR in '%s' unknown or incompatible sub element type '%s'"] = "错误:光环 %s 中存在未知或不兼容的子元素类型 %s 。" -L["Error in aura '%s'"] = "光环'%s'发生错误" +--[[Translation missing --]] +L["Error in Aura '%s'"] = "Error in Aura '%s'" L["Error not receiving display information from %s"] = "错误:未收到来自 %s 的图示信息" L["Essence"] = "精华" L["Essence #1"] = "精华 #1" @@ -655,8 +660,8 @@ L["Hybrid"] = "混合" L["Icon"] = "图标" L["Icon Function"] = "图标函数" L["Icon Function (fallback state)"] = "图标函数(后备状态)" -L["Id"] = "ID" L["ID"] = "ID" +L["Id"] = "ID" L["If you require additional assistance, please open a ticket on GitHub or visit our Discord at https://discord.gg/weakauras!"] = "如果你需要进一步的协助,请在 GitHub 上提交工单或是访问我们的 Discord:https://discord.gg/weakauras!" L["Ignore Dead"] = "忽略已死亡" L["Ignore Disconnected"] = "忽略已离线" @@ -781,7 +786,8 @@ L["Low Damage"] = "低伤害" L["Lower Than Tank"] = "比MT低" L["Lowest Spell Id"] = "最低法术 Id" L["Lua error"] = "Lua错误" -L["Lua error in aura '%s': %s"] = "光环'%s'的Lua错误:%s" +--[[Translation missing --]] +L["Lua error in Aura '%s': %s"] = "Lua error in Aura '%s': %s" L["Lucifron"] = "鲁西弗隆" L["Maexxna"] = "迈克斯纳" L["Magic"] = "魔法" @@ -805,8 +811,8 @@ L["Matches (Pattern)"] = "匹配(表达式)" L[ [=[Matches stage number of encounter journal. Intermissions are .5 E.g. 1;2;1;2;2.5;3]=] ] = "符合冒险指南的阶段。转阶段为.5。例如1;2;1;2;2.5;3" -L["Max Char "] = "最大字符数" L["Max Char"] = "最大字符数" +L["Max Char "] = "最大字符数" L["Max Charges"] = "最大充能次数" L["Max Health"] = "最大生命值" L["Max Power"] = "最大能量值" @@ -998,6 +1004,8 @@ L["Other Addons"] = "其他插件" L["Other Events"] = "其他事件" L["Ouro"] = "奥罗" L["Outline"] = "轮廓" +--[[Translation missing --]] +L["Over Energize"] = "Over Energize" L["Overhealing"] = "过量治疗" L["Overkill"] = "过量伤害" L["Overlay %s"] = "覆盖层 %s" @@ -1072,10 +1080,12 @@ L["Progress"] = "进度" L["Progress Source"] = "进度来源" L["Progress Total"] = "进度总计" L["Progress Value"] = "进度值" +--[[Translation missing --]] +L["Pull"] = "Pull" L["Pulse"] = "脉动" L["PvP Flagged"] = "PvP 状态" -L["PvP Talent selected"] = "PvP 天赋选择" L["PvP Talent Selected"] = "已选择PvP天赋" +L["PvP Talent selected"] = "PvP 天赋选择" L["Quality Id"] = "品质ID" L["Quantity"] = "数量" L["Quantity earned this week"] = "本周获取数量" @@ -1188,6 +1198,8 @@ L["Seconds"] = "秒" L[ [=[Secure frame detected. Find more information: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] ] = "检测到安全框架。请查阅:https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames" L["Select Frame"] = "选择框体" +--[[Translation missing --]] +L["Select the type of timer to filter"] = "Select the type of timer to filter" L["Selection Mode"] = "选择模式" L["Separator"] = "分隔符" L["Set IDs can be found on websites such as wowhead.com/cata/item-sets"] = "套装 ID 可以在一些数据网站上找到(例如:wowhead.com/cata/item-sets)" @@ -1402,6 +1414,8 @@ L["Time since stack gain"] = "自从获得层数后的时间" L["Time since stack lost"] = "自从失去层数后的时间" L["Timed"] = "指定时间" L["Timed Progress"] = "计时进度" +--[[Translation missing --]] +L["Timer"] = "Timer" L["Timer Id"] = "计时器 ID" L["Toggle"] = "切换" L["Toggle List"] = "打开或关闭列表" diff --git a/WeakAuras/Locales/zhTW.lua b/WeakAuras/Locales/zhTW.lua index 542694d..3197164 100644 --- a/WeakAuras/Locales/zhTW.lua +++ b/WeakAuras/Locales/zhTW.lua @@ -182,6 +182,8 @@ L["Bar enabled in BigWigs settings"] = "BigWigs 設定中已啟用進度條" L["Bar enabled in Boss Mod addon settings"] = "首領模組插件的設定中已啟用進度條" L["Bar enabled in DBM settings"] = "DBM 設定中已啟用進度條" L["Bar Texture"] = "進度條材質" +--[[Translation missing --]] +L["Bar Type"] = "Bar Type" L["Baron Geddon"] = "迦頓男爵" L["Battle for Azeroth"] = "決戰艾澤拉斯" L["Battle.net Whisper"] = "Battle.net 悄悄話" @@ -227,6 +229,8 @@ L["Bottom Right"] = "右下" L["Bottom to Top"] = "下到上" L["Bounce"] = "彈跳" L["Bounce with Decay"] = "彈跳衰減" +--[[Translation missing --]] +L["Break"] = "Break" L["BreakUpLargeNumbers (Blizzard)"] = "BreakUpLargeNumbers (暴雪)" L["Broodlord Lashlayer"] = "龍領主勒西雷爾" L["Buff"] = "增益" @@ -489,7 +493,8 @@ L["Error decompressing. This doesn't look like a WeakAuras import."] = "解壓 L["Error deserializing"] = "反序列化時出錯" L["Error Frame"] = "錯誤訊息框架" L["ERROR in '%s' unknown or incompatible sub element type '%s'"] = "'%s' 發生錯誤,未知或不相容的子元素類型 '%s'" -L["Error in aura '%s'"] = "WA 提醒效果 '%s' 發生錯誤" +--[[Translation missing --]] +L["Error in Aura '%s'"] = "Error in Aura '%s'" L["Error not receiving display information from %s"] = "錯誤:無法收到來自 %s 的顯示資訊" L["Essence"] = "精華" L["Essence #1"] = "精華 #1" @@ -771,7 +776,8 @@ L["Low Damage"] = "低傷害" L["Lower Than Tank"] = "低於坦克" L["Lowest Spell Id"] = "最低的法術 ID" L["Lua error"] = "Lua 錯誤" -L["Lua error in aura '%s': %s"] = "Lua 錯誤,在 WA 提醒效果 '%s': %s" +--[[Translation missing --]] +L["Lua error in Aura '%s': %s"] = "Lua error in Aura '%s': %s" L["Lucifron"] = "魯西弗隆" L["Maexxna"] = "梅克絲娜" L["Magic"] = "魔法" @@ -796,8 +802,8 @@ L["Matches (Pattern)"] = "符合模式 (Pattern)" L[ [=[Matches stage number of encounter journal. Intermissions are .5 E.g. 1;2;1;2;2.5;3]=] ] = "匹配戰鬥日誌的階段號碼。中場為 0.5 例如1;2;1;2;2.5;3" -L["Max Char "] = "最多字元數" L["Max Char"] = "最多字元數" +L["Max Char "] = "最多字元數" L["Max Charges"] = "最多可用次數" L["Max Health"] = "最大血量" L["Max Power"] = "最大能量" @@ -972,6 +978,8 @@ L["Other Addons"] = "其他插件" L["Other Events"] = "其他事件" L["Ouro"] = "奧羅" L["Outline"] = "外框" +--[[Translation missing --]] +L["Over Energize"] = "Over Energize" L["Overhealing"] = "過量治療" L["Overkill"] = "過量擊殺" L["Overlay %s"] = "疊加圖層 %s" @@ -1046,10 +1054,12 @@ L["Progress"] = "進度" L["Progress Source"] = "進度來源" L["Progress Total"] = "總進度" L["Progress Value"] = "進度值" +--[[Translation missing --]] +L["Pull"] = "Pull" L["Pulse"] = "跳動" L["PvP Flagged"] = "PvP 標幟" -L["PvP Talent selected"] = "選擇的 PvP 天賦" L["PvP Talent Selected"] = "已選擇的 PvP 天賦" +L["PvP Talent selected"] = "選擇的 PvP 天賦" L["Quality Id"] = "品質id" L["Quantity"] = "數量" L["Quantity earned this week"] = "本週獲取數量" @@ -1163,6 +1173,8 @@ L["Seconds"] = "秒數" L[ [=[Secure frame detected. Find more information: https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames]=] ] = "檢測到安全框架。查詢更多訊息:https://github.com/WeakAuras/WeakAuras2/wiki/Protected-Frames" L["Select Frame"] = "選擇的框架" +--[[Translation missing --]] +L["Select the type of timer to filter"] = "Select the type of timer to filter" L["Selection Mode"] = "選擇模式" L["Separator"] = "分隔線" L["Set IDs can be found on websites such as wowhead.com/cata/item-sets"] = "套裝 ID 可在 wowhead.com/cata/item-sets 等網站上找到" @@ -1322,8 +1334,8 @@ L["Talent"] = "天賦" L["Talent |cFFFF0000Not|r Known"] = "|cFFFF0000未知的|r天賦" L["Talent |cFFFF0000Not|r Selected"] = "|cFFFF0000沒有選擇|r天賦" L["Talent Known"] = "已知的天賦" -L["Talent Selected"] = "選擇的天賦" L["Talent selected"] = "選擇的天賦" +L["Talent Selected"] = "選擇的天賦" L["Talent Specialization"] = "天賦專精" L["Tanking And Highest"] = "坦怪中並且是最高" L["Tanking But Not Highest"] = "坦怪中但不是最高" @@ -1377,6 +1389,8 @@ L["Time since stack gain"] = "自層數獲取以來的時間" L["Time since stack lost"] = "自層數失去以來的時間" L["Timed"] = "計時" L["Timed Progress"] = "計時進度" +--[[Translation missing --]] +L["Timer"] = "Timer" L["Timer Id"] = "計時條 ID" L["Toggle"] = "勾選方塊" L["Toggle List"] = "勾選方塊清單" diff --git a/WeakAuras/Prototypes.lua b/WeakAuras/Prototypes.lua index d374287..616618f 100644 --- a/WeakAuras/Prototypes.lua +++ b/WeakAuras/Prototypes.lua @@ -3595,10 +3595,16 @@ Private.event_prototypes = { conditionType = "number" }, { + name = "overEnergize", + display = L["Over Energize"], + type = "number", + init = "arg", + store = true, + conditionType = "number", enable = function(trigger) return trigger.subeventSuffix and (trigger.subeventSuffix == "_ENERGIZE") end - }, -- unknown argument for _ENERGIZE ignored + }, { name = "powerType", display = L["Power Type"], @@ -3617,7 +3623,7 @@ Private.event_prototypes = { type = "number", init = "arg", enable = function(trigger) - return trigger.subeventSuffix and (trigger.subeventSuffix == "_ENERGIZE" or trigger.subeventSuffix == "_DRAIN" or trigger.subeventSuffix == "_LEECH") + return trigger.subeventSuffix and (trigger.subeventSuffix == "_DRAIN" or trigger.subeventSuffix == "_LEECH") end, store = true, conditionType = "number" @@ -5512,12 +5518,18 @@ Private.event_prototypes = { operator_types = "only_equal", store = true, }, + { + name = "inverse", + display = L["Inverse"], + type = "toggle", + test = "true", + }, { name = "clones", display = L["Clone per Match"], type = "toggle", test = "true", - enable = function(trigger) return not trigger.use_totemType end, + enable = function(trigger) return not (trigger.use_totemType or trigger.use_inverse) end, }, { name = "remaining", @@ -5525,13 +5537,6 @@ Private.event_prototypes = { type = "number", enable = function(trigger) return not(trigger.use_inverse) end }, - { - name = "inverse", - display = L["Inverse"], - type = "toggle", - test = "true", - enable = function(trigger) return (trigger.use_totemName or trigger.use_totemNamePattern) and not trigger.use_clones end - } }, automaticrequired = true }, diff --git a/WeakAuras/RegionTypes/RegionPrototype.lua b/WeakAuras/RegionTypes/RegionPrototype.lua index ab09485..6f99200 100644 --- a/WeakAuras/RegionTypes/RegionPrototype.lua +++ b/WeakAuras/RegionTypes/RegionPrototype.lua @@ -236,7 +236,7 @@ local function SendChat(self, options) if (not options or WeakAuras.IsOptionsOpen()) then return end - Private.HandleChatAction(options.message_type, options.message, options.message_dest, options.message_dest_isunit, options.message_channel, options.r, options.g, options.b, self, options.message_custom, nil, options.message_formaters, options.message_voice); + Private.HandleChatAction(options.message_type, options.message, options.message_dest, options.message_dest_isunit, options.message_channel, options.r, options.g, options.b, self, options.message_custom, nil, options.message_formaters); end local function RunCode(self, func) diff --git a/WeakAuras/SubRegionTypes/Tick.lua b/WeakAuras/SubRegionTypes/Tick.lua index 122815b..1143a91 100644 --- a/WeakAuras/SubRegionTypes/Tick.lua +++ b/WeakAuras/SubRegionTypes/Tick.lua @@ -195,11 +195,13 @@ local funcs = { self.tick_color[1], self.tick_color[2], self.tick_color[3], self.tick_color[4] = r, g, b, a or 1 if self.use_texture then for _, tick in ipairs(self.ticks) do + tick:SetTexture(r, g, b, a or 1) tick:SetVertexColor(r, g, b, a or 1) end self:UpdateTickDesaturated() else for _, tick in ipairs(self.ticks) do + tick:SetVertexColor(r, g, b, a or 1) tick:SetTexture(r, g, b, a or 1) end end diff --git a/WeakAuras/TimeUtil.lua b/WeakAuras/TimeUtil.lua index 4f49e11..cde0ee3 100644 --- a/WeakAuras/TimeUtil.lua +++ b/WeakAuras/TimeUtil.lua @@ -11,7 +11,7 @@ local time, format, floor = time, format, floor -- WoW APIs local GetLocale = GetLocale -local TIME_UTIL_WHITE_SPACE_STRIPPABLE = true; +local TIME_UTIL_WHITE_SPACE_STRIPPABLE = not (GetLocale() == "deDE" or GetLocale() == "ruRU"); local SECONDS_PER_MIN = 60; local SECONDS_PER_HOUR = 60 * SECONDS_PER_MIN; local SECONDS_PER_DAY = 24 * SECONDS_PER_HOUR; @@ -39,6 +39,8 @@ SecondsFormatterConstants = DontConvertToLower = false, RoundUpLastUnit = true, DontRoundUpLastUnit = false, + RoundUpIntervals = true, + DontRoundUpIntervals = false, } SecondsFormatter.Abbreviation = @@ -72,11 +74,13 @@ SecondsFormatterMixin = {} -- approximationSeconds: threshold for representing the seconds as an approximation (ex. "< 2 hours"). -- roundUpLastUnit: determines if the last unit in the output format string is ceiled (floored by default). -- convertToLower: converts the format string to lowercase. -function SecondsFormatterMixin:Init(approximationSeconds, defaultAbbreviation, roundUpLastUnit, convertToLower) +-- roundUpIntervals: determines if units can be promoted to a higher interval after (ex. 60m -> 1h). +function SecondsFormatterMixin:Init(approximationSeconds, defaultAbbreviation, roundUpLastUnit, convertToLower, roundUpIntervals) self:SetApproximationSeconds(approximationSeconds or 0); self:SetMinInterval(SecondsFormatter.Interval.Seconds); self:SetDefaultAbbreviation(defaultAbbreviation or SecondsFormatter.Abbreviation.None); - self:SetCanRoundUpLastUnit(roundUpLastUnit or false); + self:SetCanRoundUpLastUnit(roundUpLastUnit or SecondsFormatterConstants.DontRoundUpLastUnit); + self:SetCanRoundUpIntervals(roundUpIntervals or SecondsFormatterConstants.DontRoundUpIntervals); self:SetDesiredUnitCount(2); self:SetStripIntervalWhitespace(false); self:SetConvertToLower(convertToLower or false); @@ -112,7 +116,7 @@ function SecondsFormatterMixin:CanApproximate(seconds) end function SecondsFormatterMixin:SetDefaultAbbreviation(defaultAbbreviation) - self.defaultAbbreviation = defaultAbbreviation; + self.defaultAbbreviation = defaultAbbreviation; end function SecondsFormatterMixin:GetDefaultAbbreviation() @@ -135,6 +139,14 @@ function SecondsFormatterMixin:CanRoundUpLastUnit() return self.roundUpLastUnit; end +function SecondsFormatterMixin:SetCanRoundUpIntervals(roundUpIntervals) + self.roundUpIntervals = roundUpIntervals; +end + +function SecondsFormatterMixin:CanRoundUpIntervals() + return self.roundUpIntervals; +end + function SecondsFormatterMixin:SetDesiredUnitCount(unitCount) self.unitCount = unitCount; end @@ -209,26 +221,27 @@ function SecondsFormatterMixin:Format(seconds, abbreviation) local desiredCount = self:GetDesiredUnitCount(seconds); local convertToLower = self.convertToLower; + local intervalUnits = {}; + for interval, value in pairs(SecondsFormatter.Interval) do + intervalUnits[value] = 0; + end + local currentInterval = maxInterval; while ((appendedCount < desiredCount) and (currentInterval >= minInterval)) do local intervalDescription = self:GetIntervalDescription(currentInterval); local intervalSeconds = intervalDescription.seconds; if (seconds >= intervalSeconds) then appendedCount = appendedCount + 1; - if (output ~= "") then - output = output..L["TIME_UNIT_DELIMITER"]; - end - local formatString = self:GetFormatString(currentInterval, abbreviation, convertToLower); local quotient = seconds / intervalSeconds; if (quotient > 0) then - if (self:CanRoundUpLastUnit() and ((minInterval == currentInterval) or (appendedCount == desiredCount))) then - output = output..formatString:format(math.ceil(quotient)); - else - output = output..formatString:format(math.floor(quotient)); + if (self:CanRoundUpLastUnit() and ((minInterval == currentInterval) or (appendedCount == desiredCount))) then + intervalUnits[currentInterval] = math.ceil(quotient); + else + intervalUnits[currentInterval] = math.floor(quotient); end else - break; + break; end seconds = math.fmod(seconds, intervalSeconds); @@ -237,6 +250,35 @@ function SecondsFormatterMixin:Format(seconds, abbreviation) currentInterval = currentInterval - 1; end + if self:CanRoundUpIntervals() then + -- Intervals are promoted to a higher interval if possible (60m -> 1h) so that a value isn't expressed + -- as 1h 60m as a result of individual interval round-up. This promotion can only happen within the + -- min interval, max interval band so that we don't promote to an interval we don't intend to display. + for interval, value in ipairs(intervalUnits) do + local intervalDescription = self:GetIntervalDescription(interval); + local intervalSeconds = intervalDescription.seconds; + + if value == intervalSeconds then + local nextInterval = interval + 1; + if nextInterval <= maxInterval then + intervalUnits[nextInterval] = intervalUnits[nextInterval] + 1; + intervalUnits[interval] = 0; + end + end + end + end + + for interval, value in ipairs_reverse(intervalUnits) do + if value > 0 then + if (output ~= "") then + output = output..TIME_UNIT_DELIMITER; + end + + local formatString = self:GetFormatString(interval, abbreviation, convertToLower); + output = output..formatString:format(value); + end + end + -- Return the zero format if an acceptable representation couldn't be formed. if (output == "") then return self:FormatZero(abbreviation); @@ -430,38 +472,69 @@ function BreakUpLargeNumbers(value) return retString; end -function AbbreviateLargeNumbers(value) -local strLen = strlen(value); -local retString = value; -if ( strLen > 8 ) then - retString = string.sub(value, 1, -7)..L["SECOND_NUMBER_CAP"]; -elseif ( strLen > 5 ) then - retString = string.sub(value, 1, -4)..L["FIRST_NUMBER_CAP"]; -elseif (strLen > 3 ) then - retString = BreakUpLargeNumbers(value); -end -return retString; +if GetLocale() ~= "zhCN" or GetLocale() ~= "zhTW" or GetLocale() ~= "koKR" then -- non Asian locales use different number abbreviations + function AbbreviateLargeNumbers(value) + local strLen = strlen(value); + local retString = value; + if ( strLen > 8 ) then + retString = string.sub(value, 1, -7)..L["SECOND_NUMBER_CAP"]; + elseif ( strLen > 5 ) then + retString = string.sub(value, 1, -4)..L["FIRST_NUMBER_CAP"]; + elseif (strLen > 3 ) then + retString = BreakUpLargeNumbers(value); + end + return retString; + end +else -- Asian locales use different number abbreviations + function AbbreviateLargeNumbers(value) + local strLen = strlen(value); + local retString = value; + if ( strLen >= 11 ) then + retString = string.sub(value, 1, -8)..L["SECOND_NUMBER_CAP"]; + elseif ( strLen >= 9 ) then + retString = string.sub(value, 1, -9).."."..string.sub(value, -8, -7)..L["SECOND_NUMBER_CAP"]; + elseif ( strLen >= 7 ) then + retString = string.sub(value, 1, -5)..L["FIRST_NUMBER_CAP"]; + elseif (strLen > 3 ) then + retString = BreakUpLargeNumbers(value); + end + return retString; + end end -NUMBER_ABBREVIATION_DATA = { - -- Order these from largest to smallest - -- (significandDivisor and fractionDivisor should multiply to be equal to breakpoint) - { breakpoint = 10000000000000, abbreviation = L["FOURTH_NUMBER_CAP_NO_SPACE"], significandDivisor = 1000000000000, fractionDivisor = 1 }, - { breakpoint = 1000000000000, abbreviation = L["FOURTH_NUMBER_CAP_NO_SPACE"], significandDivisor = 100000000000, fractionDivisor = 10 }, - { breakpoint = 10000000000, abbreviation = L["THIRD_NUMBER_CAP_NO_SPACE"], significandDivisor = 1000000000, fractionDivisor = 1 }, - { breakpoint = 1000000000, abbreviation = L["THIRD_NUMBER_CAP_NO_SPACE"], significandDivisor = 100000000, fractionDivisor = 10 }, - { breakpoint = 10000000, abbreviation = L["SECOND_NUMBER_CAP_NO_SPACE"], significandDivisor = 1000000, fractionDivisor = 1 }, - { breakpoint = 1000000, abbreviation = L["SECOND_NUMBER_CAP_NO_SPACE"], significandDivisor = 100000, fractionDivisor = 10 }, - { breakpoint = 10000, abbreviation = L["FIRST_NUMBER_CAP_NO_SPACE"], significandDivisor = 1000, fractionDivisor = 1 }, - { breakpoint = 1000, abbreviation = L["FIRST_NUMBER_CAP_NO_SPACE"], significandDivisor = 100, fractionDivisor = 10 }, -} +if GetLocale() ~= "zhCN" or GetLocale() ~= "zhTW" or GetLocale() ~= "koKR" then -- Asian locales use different number abbreviations + NUMBER_ABBREVIATION_DATA = { + -- Order these from largest to smallest + -- (significandDivisor and fractionDivisor should multiply to be equal to breakpoint) + { breakpoint = 10000000000000, abbreviation = L["FOURTH_NUMBER_CAP_NO_SPACE"], significandDivisor = 1000000000000, fractionDivisor = 1 }, + { breakpoint = 1000000000000, abbreviation = L["FOURTH_NUMBER_CAP_NO_SPACE"], significandDivisor = 100000000000, fractionDivisor = 10 }, + { breakpoint = 10000000000, abbreviation = L["THIRD_NUMBER_CAP_NO_SPACE"], significandDivisor = 1000000000, fractionDivisor = 1 }, + { breakpoint = 1000000000, abbreviation = L["THIRD_NUMBER_CAP_NO_SPACE"], significandDivisor = 100000000, fractionDivisor = 10 }, + { breakpoint = 10000000, abbreviation = L["SECOND_NUMBER_CAP_NO_SPACE"], significandDivisor = 1000000, fractionDivisor = 1 }, + { breakpoint = 1000000, abbreviation = L["SECOND_NUMBER_CAP_NO_SPACE"], significandDivisor = 100000, fractionDivisor = 10 }, + { breakpoint = 10000, abbreviation = L["FIRST_NUMBER_CAP_NO_SPACE"], significandDivisor = 1000, fractionDivisor = 1 }, + { breakpoint = 1000, abbreviation = L["FIRST_NUMBER_CAP_NO_SPACE"], significandDivisor = 100, fractionDivisor = 10 }, + }; +else + NUMBER_ABBREVIATION_DATA = { + -- Order these from largest to smallest. + { breakpoint = 1000000000, abbreviation = L["SECOND_NUMBER_CAP_NO_SPACE"], significandDivisor = 100000000, fractionDivisor = 1 }, + { breakpoint = 100000000, abbreviation = L["SECOND_NUMBER_CAP_NO_SPACE"], significandDivisor = 10000000, fractionDivisor = 10 }, + { breakpoint = 100000, abbreviation = L["FIRST_NUMBER_CAP_NO_SPACE"], significandDivisor = 10000, fractionDivisor = 1 }, + { breakpoint = 10000, abbreviation = L["FIRST_NUMBER_CAP_NO_SPACE"], significandDivisor = 1000, fractionDivisor = 10 }, + }; +end + +function GetLocalizedNumberAbbreviationData() + return NUMBER_ABBREVIATION_DATA; +end function AbbreviateNumbers(value) - for i, data in ipairs(NUMBER_ABBREVIATION_DATA) do - if value >= data.breakpoint then - local finalValue = math.floor(value / data.significandDivisor) / data.fractionDivisor; - return finalValue .. data.abbreviation; - end + for i, data in ipairs(GetLocalizedNumberAbbreviationData()) do + if value >= data.breakpoint then + local finalValue = math.floor(value / data.significandDivisor) / data.fractionDivisor; + return finalValue .. data.abbreviation; + end end return tostring(value); end diff --git a/WeakAuras/Types.lua b/WeakAuras/Types.lua index 8136bb2..1144578 100644 --- a/WeakAuras/Types.lua +++ b/WeakAuras/Types.lua @@ -161,43 +161,6 @@ timeFormatter.GetMaxInterval = function(self) return #timeFormatIntervalDescriptionFixed end -local AbbreviateNumbers = AbbreviateNumbers -local gameLocale = GetLocale() -if gameLocale == "koKR" or gameLocale == "zhCN" or gameLocale == "zhTW" then - -- Work around https://github.com/Stanzilla/WoWUIBugs/issues/515 - -- - local NUMBER_ABBREVIATION_DATA_FIXED={ - [1]={ - breakpoint = 10000 * 10000, - significandDivisor = 10000 * 10000, - abbreviation = L["SECOND_NUMBER_CAP_NO_SPACE"], - fractionDivisor = 1 - }, - [2]={ - breakpoint = 1000 * 10000, - significandDivisor = 1000 * 10000, - abbreviation = L["SECOND_NUMBER_CAP_NO_SPACE"], - fractionDivisor = 10 - }, - [3]={ - breakpoint = 10000, - significandDivisor = 1000, - abbreviation = L["FIRST_NUMBER_CAP_NO_SPACE"], - fractionDivisor = 10 - } - } - - AbbreviateNumbers = function(value) - for i, data in ipairs(NUMBER_ABBREVIATION_DATA_FIXED) do - if value >= data.breakpoint then - local finalValue = math.floor(value / data.significandDivisor) / data.fractionDivisor; - return finalValue .. data.abbreviation; - end - end - return tostring(value); - end -end - local simpleFormatters = { AbbreviateNumbers = function(value) if type(value) == "string" then value = tonumber(value) end @@ -1065,16 +1028,16 @@ Private.format_types = { if cast then local _, _, _, _, endTime = UnitCastingInfo("player") - local castExpirationTIme = endTime and endTime > 0 and (endTime / 1000) or 0 - if castExpirationTIme > 0 then - result = min(result, now + value - castExpirationTIme) + local castExpirationTime = endTime and endTime > 0 and (endTime / 1000) or 0 + if castExpirationTime > 0 then + result = min(result, now + value - castExpirationTime) end end if channel then local _, _, _, _, endTime = UnitChannelInfo("player") - local castExpirationTIme = endTime and endTime > 0 and (endTime / 1000) or 0 - if castExpirationTIme > 0 then - result = min(result, now + value - castExpirationTIme) + local castExpirationTime = endTime and endTime > 0 and (endTime / 1000) or 0 + if castExpirationTime > 0 then + result = min(result, now + value - castExpirationTime) end end @@ -2854,25 +2817,8 @@ Private.send_chat_message_types = { PRINT = L["Chat Frame"], ERROR = L["Error Frame"] } - -Private.tts_voices = {} - if WeakAuras.IsAwesomeEnabled() == 2 then - Private.send_chat_message_types.TTS = L["Text-to-speech"] - - local function updateTts() - wipe(Private.tts_voices) - for i, voiceInfo in pairs(C_VoiceChat.GetTtsVoices()) do - Private.tts_voices[voiceInfo.voiceID] = voiceInfo.name - end - end - - updateTts() - - local TtsUpdateFrame = CreateFrame("FRAME") - TtsUpdateFrame:RegisterEvent("VOICE_CHAT_TTS_VOICES_UPDATE") - TtsUpdateFrame:SetScript("OnEvent", updateTts) end Private.group_aura_name_info_types = { @@ -3634,6 +3580,12 @@ Private.dbm_types = { [7] = L["Important"] } +Private.bossmods_timerTypes = { + PULL = L["Pull"], + BREAK = L["Break"], + TIMER = L["Timer"], +} + Private.weapon_enchant_types = { showOnActive = L["Enchant Found"], showOnMissing = L["Enchant Missing"], diff --git a/WeakAuras/WeakAuras.lua b/WeakAuras/WeakAuras.lua index b880f39..8620a0a 100644 --- a/WeakAuras/WeakAuras.lua +++ b/WeakAuras/WeakAuras.lua @@ -110,7 +110,7 @@ do if data then Private.AuraWarnings.UpdateWarning(data.uid, "LuaError", "error", L["This aura has caused a Lua error."] .. "\n" .. L["Install the addons BugSack and BugGrabber for detailed error logs."], true) - table.insert(juicedMessage, L["Lua error in aura '%s': %s"]:format(data.id, currentErrorHandlerContext or L["unknown location"])) + table.insert(juicedMessage, L["Lua error in Aura '%s': %s"]:format(data.id, currentErrorHandlerContext or L["unknown location"])) else table.insert(juicedMessage, L["Lua error"]) end @@ -1421,6 +1421,10 @@ local function GetInstanceTypeAndSize() if inInstance or instanceType ~= "none" then local ZoneMapID = GetCurrentMapAreaID() size = Type + -- WORKAROUND Tol'Viron arena returning a difficulty index of 1 + if Type == "arena" or Type == "pvp" then + difficultyIndex = 0 + end if Type == "raid" then if maxPlayers == 10 then size = "ten" @@ -3260,7 +3264,7 @@ function Private.ReleaseClone(id, cloneId, regionType) end end -function Private.HandleChatAction(message_type, message, message_dest, message_dest_isunit, message_channel, r, g, b, region, customFunc, when, formatters, voice) +function Private.HandleChatAction(message_type, message, message_dest, message_dest_isunit, message_channel, r, g, b, region, customFunc, when, formatters) local useHiddenStates = when == "finish" if (message:find('%%')) then message = Private.ReplacePlaceHolders(message, region, customFunc, useHiddenStates, formatters); @@ -3269,11 +3273,12 @@ function Private.HandleChatAction(message_type, message, message_dest, message_d DEFAULT_CHAT_FRAME:AddMessage(message, r or 1, g or 1, b or 1); elseif message_type == "TTS" then if WeakAuras.IsAwesomeEnabled() == 2 then - local validVoice = voice and Private.tts_voices[voice] if not Private.SquelchingActions() then pcall(function() + local voice = C_TTSSettings and C_TTSSettings.GetSpeechVoiceID() + if not voice then return end C_VoiceChat.SpeakText( - validVoice and voice or next(Private.tts_voices) or 0, + voice, message, 1, C_TTSSettings and C_TTSSettings.GetSpeechRate() or 0, @@ -3557,7 +3562,7 @@ function Private.PerformActions(data, when, region) if(actions.do_message and actions.message_type and actions.message) then local customFunc = Private.customActionsFunctions[data.id][when .. "_message"]; - Private.HandleChatAction(actions.message_type, actions.message, actions.message_dest, actions.message_dest_isunit, actions.message_channel, actions.r, actions.g, actions.b, region, customFunc, when, formatters, actions.message_tts_voice); + Private.HandleChatAction(actions.message_type, actions.message, actions.message_dest, actions.message_dest_isunit, actions.message_channel, actions.r, actions.g, actions.b, region, customFunc, when, formatters); end if (actions.stop_sound) then @@ -4750,7 +4755,10 @@ end local function ReplaceValuePlaceHolders(textStr, region, customFunc, state, formatter, trigger) local value; - if string.sub(textStr, 1, 1) == "c" then + + local customIndexSubStr = textStr:match("^c(%d*)$") + + if customIndexSubStr then local custom if customFunc then custom = Private.RunCustomTextFunc(region, customFunc) @@ -4758,7 +4766,7 @@ local function ReplaceValuePlaceHolders(textStr, region, customFunc, state, form custom = region.values.custom end - local index = tonumber(textStr:match("^c(%d+)$") or 1) + local index = tonumber(customIndexSubStr) or 1 if custom then value = custom[index] @@ -4957,8 +4965,8 @@ function Private.ReplacePlaceHolders(textStr, region, customFunc, useHiddenState return textStr; end - if (endPos == 2) then - if string.byte(textStr, 1) == 37 then + if (endPos == 2) then -- Two byte string, quickly check for all cases + if string.byte(textStr, 1) == 37 then -- "%" local symbol = string.sub(textStr, 2) if symbol == "%" then return "%" -- Double % input diff --git a/WeakAuras/WeakAuras.toc b/WeakAuras/WeakAuras.toc index 5caf0fb..f272fb4 100644 --- a/WeakAuras/WeakAuras.toc +++ b/WeakAuras/WeakAuras.toc @@ -1,7 +1,7 @@ ## Interface: 30300 ## Title: WeakAuras ## Author: The WeakAuras Team -## Version: 5.20.2 +## Version: 5.20.3 ## IconTexture: Interface\AddOns\WeakAuras\Media\Textures\icon.blp ## X-Flavor: 3.3.5 ## Notes: A powerful, comprehensive utility for displaying graphics and information based on buffs, debuffs, and other triggers. @@ -19,7 +19,7 @@ ## DefaultState: Enabled ## LoadOnDemand: 0 ## SavedVariables: WeakAurasSaved -## OptionalDeps: Ace3, LibCompress, LibSharedMedia-3.0, AceGUI-3.0-SharedMediaWidgets, Masque, GTFO, LibButtonGlow-1.0, LibSpellRange-1.0, LibRangeCheck-2.0, LibDBIcon-1.0, LibGetFrame-1.0, LibGroupTalents, !!AddonLocale, CustomNames, BigWigs, DBM-Core +## OptionalDeps: Ace3, LibCompress, LibSharedMedia-3.0, AceGUI-3.0-SharedMediaWidgets, Masque, GTFO, LibButtonGlow-1.0, LibSpellRange-1.0, LibRangeCheck-2.0, LibDBIcon-1.0, LibGetFrame-1.0, LibGroupTalents, !!AddonLocale, CustomNames, BigWigs, DBM-Core, AwesomeCVar Compatibility.lua Pools.lua diff --git a/WeakAurasModelPaths/WeakAurasModelPaths.toc b/WeakAurasModelPaths/WeakAurasModelPaths.toc index 1b6c189..5b315a8 100644 --- a/WeakAurasModelPaths/WeakAurasModelPaths.toc +++ b/WeakAurasModelPaths/WeakAurasModelPaths.toc @@ -1,7 +1,7 @@ ## Interface: 30300 ## Title: WeakAuras Model Paths ## Author: The WeakAuras Team -## Version: 5.20.2 +## Version: 5.20.3 ## Notes: Model paths for WeakAuras ## Notes-esES: Las rutas de modelos para WeakAuras ## Notes-esMX: Las rutas de modelos para WeakAuras diff --git a/WeakAurasOptions/ActionOptions.lua b/WeakAurasOptions/ActionOptions.lua index dfe7a5d..d07a07c 100644 --- a/WeakAurasOptions/ActionOptions.lua +++ b/WeakAurasOptions/ActionOptions.lua @@ -208,15 +208,28 @@ function OptionsPrivate.GetActionOptions(data) return data.actions.start.message_type ~= "WHISPER" end }, - start_message_tts_voice = { - type = "select", - width = WeakAuras.doubleWidth, - name = L["Voice"], + start_message_tts_space = { + type = "execute", + width = WeakAuras.normalWidth, + name = "", + order = 3.19, + image = function() return "", 0, 0 end, + hidden = function() return WeakAuras.IsAwesomeEnabled() ~= 2 or data.actions.start.message_type ~= "TTS" end, + }, + start_message_tts_settings = { + type = "execute", + width = WeakAuras.normalWidth, + func = function() + if AwesomeCVar and AwesomeCVar.ToggleFrame then + AwesomeCVar:ToggleFrame("Text to Speech") + end + end, + desc = IsAddOnLoaded("AwesomeCVar") and L["Open the Voice Chat settings to configure the TTS."] + or L["Install AwesomeCVar to open the Voice Chat settings."], + name = L["Voice Settings"], order = 3.2, disabled = function() return WeakAuras.IsAwesomeEnabled() ~= 2 or not data.actions.start.do_message end, hidden = function() return WeakAuras.IsAwesomeEnabled() ~= 2 or data.actions.start.message_type ~= "TTS" end, - values = OptionsPrivate.Private.tts_voices, - desc = L["Available Voices are system specific"] }, start_message = { type = "input", @@ -723,15 +736,28 @@ function OptionsPrivate.GetActionOptions(data) return data.actions.finish.message_type ~= "WHISPER" end }, - finish_message_tts_voice = { - type = "select", - width = WeakAuras.doubleWidth, - name = L["Voice"], + finish_message_tts_space = { + type = "execute", + width = WeakAuras.normalWidth, + name = "", + order = 23.19, + image = function() return "", 0, 0 end, + hidden = function() return WeakAuras.IsAwesomeEnabled() ~= 2 or data.actions.finish.message_type ~= "TTS" end, + }, + finish_message_tts_settings = { + type = "execute", + width = WeakAuras.normalWidth, + func = function() + if AwesomeCVar and AwesomeCVar.ToggleFrame then + AwesomeCVar:ToggleFrame("Text to Speech") + end + end, + desc = IsAddOnLoaded("AwesomeCVar") and L["Open the Voice Chat settings to configure the TTS."] + or L["Install AwesomeCVar to open the Voice Chat settings."], + name = L["Voice Settings"], order = 23.2, disabled = function() return WeakAuras.IsAwesomeEnabled() ~= 2 or not data.actions.finish.do_message end, hidden = function() return WeakAuras.IsAwesomeEnabled() ~= 2 or data.actions.finish.message_type ~= "TTS" end, - values = OptionsPrivate.Private.tts_voices, - desc = L["Available Voices are system specific"] }, finish_message = { type = "input", diff --git a/WeakAurasOptions/Changelog.lua b/WeakAurasOptions/Changelog.lua index 61b3564..29b756d 100644 --- a/WeakAurasOptions/Changelog.lua +++ b/WeakAurasOptions/Changelog.lua @@ -4,18 +4,64 @@ local AddonName = ... local OptionsPrivate = select(2, ...) OptionsPrivate.changelog = { - versionString = '5.20.2', - dateString = '2025-08-15', - fullChangeLogUrl = 'https://github.com/WeakAuras/WeakAuras2/compare/5.20.1...5.20.2', + versionString = '5.20.3', + dateString = '2025-09-08', + fullChangeLogUrl = 'https://github.com/WeakAuras/WeakAuras2/compare/5.20.2...5.20.3', highlightText = [==[ -bugfix release for some broken textures]==], commitText = [==[Pewtro (2): +- Important change: + - Text to speach voice is no longer a per aura setting, instead we use + the game configured text to speech voice. + - The game's tts settings are somewhat hidden under: + Esc/Options/Accessibility/Read Chat Text out loud/Configure Text to + Speech + - And you have to remember to disable the Read Chat Text out loud + afterwards.]==], commitText = [==[InfusOnWoW (11): + +- SubRegion Model: Reintroduce clipped by foreground mode +- Remove workaround for SetTexture not adjusting to different wrapModes +- Revert "Fix KR/TW/CN large number formatting for >= 100.000.000" +- Fix TSU custom variable warning about formatter +- Tweak wording for lua errors +- Priest Template Remove removed ability +- Totem Trigger: Fix "inverse" option not being visible +- Custom Text: Tweak rules for text replacement %cfoo ~= %c now +- MOP: Workaround broken GetInstanceInfo in Tol'Viron Areana +- Fix typo in variable name +- Ticks: Fix color sometimes applying to the wrong tick + +Matt Weber (1): + +- Add optional length limit to `WA_ClassColorName` + +Pewtro (2): - Re-export the .blp files - Add Celestial Dungeon load option instance type -emptyrivers (1): +Stanzilla (3): +- Update WeakAurasModelPaths from wago.tools +- Update WeakAurasModelPaths from wago.tools +- Update WeakAurasModelPaths from wago.tools + +dependabot[bot] (3): + +- Bump cbrgm/mastodon-github-action from 2.1.14 to 2.1.19 +- Bump actions/checkout from 4 to 5 +- Bump actions/setup-python from 5 to 6 + +emptyrivers (2): + +- include overEnergize in combat log state - some more difficulty ids +mrbuds (5): + +- Fix Mists encounterID tooltip +- Fix currency trigger default on 12.2.0 fixes #6008 +- Text To Speech: use global game voice settings, and use the tts queue system +- BossMod Trigger: add multiselect filter for break & pull timer +- Fix moving profiling window #noticket + ]==] } diff --git a/WeakAurasOptions/ConditionOptions.lua b/WeakAurasOptions/ConditionOptions.lua index c912a02..442fba0 100644 --- a/WeakAurasOptions/ConditionOptions.lua +++ b/WeakAurasOptions/ConditionOptions.lua @@ -1018,15 +1018,17 @@ local function addControlsForChange(args, order, data, conditionVariable, totalA if WeakAuras.IsAwesomeEnabled() == 2 then args["condition" .. i .. "value" .. j .. "message voice"] = { - type = "select", - width = WeakAuras.doubleWidth, - name = blueIfNoValue2(data, conditions[i].changes[j], "value", "message_voice", L["Voice"], L["Voice"]), - desc = (descIfNoValue2(data, conditions[i].changes[j], "value", "message_voice", propertyType, OptionsPrivate.Private.tts_voices) or "") .. "\n" .. L["Available Voices are system specific"], - values = OptionsPrivate.Private.tts_voices, + type = "execute", + name = L["Voice Settings"], order = order, - get = function() - return type(conditions[i].changes[j].value) == "table" and conditions[i].changes[j].value.message_voice; + width = WeakAuras.normalWidth, + func = function() + if AwesomeCVar and AwesomeCVar.ToggleFrame then + AwesomeCVar:ToggleFrame("Text to Speech") + end end, + desc = IsAddOnLoaded("AwesomeCVar") and L["Open the Voice Chat settings to configure the TTS."] + or L["Install AwesomeCVar to open the Voice Chat settings."], set = setValueComplex("message_voice"), hidden = function() return not anyMessageType("TTS"); diff --git a/WeakAurasOptions/GenericTrigger.lua b/WeakAurasOptions/GenericTrigger.lua index ea1e6ef..a4739a1 100644 --- a/WeakAurasOptions/GenericTrigger.lua +++ b/WeakAurasOptions/GenericTrigger.lua @@ -351,6 +351,7 @@ local function GetCustomTriggerOptions(data, triggernum) inverse = "string", paused = "string", remaining = "string", + formatter = "string" } local function validateCustomVariables(variables) diff --git a/WeakAurasOptions/Locales/deDE.lua b/WeakAurasOptions/Locales/deDE.lua index 54af6db..2551330 100644 --- a/WeakAurasOptions/Locales/deDE.lua +++ b/WeakAurasOptions/Locales/deDE.lua @@ -240,8 +240,6 @@ Off Screen]=] L["Auto-Clone (Show All Matches)"] = "Auto-Clone (Show All Matches)" --[[Translation missing --]] L["Automatic length"] = "Automatic length" - --[[Translation missing --]] - L["Available Voices are system specific"] = "Available Voices are system specific" L["Backdrop Color"] = "Hintergrundfarbe" --[[Translation missing --]] L["Backdrop in Front"] = "Backdrop in Front" @@ -1177,6 +1175,8 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] L["Stop Motion Settings"] = "Stop Motion Settings" L["Stop Sound"] = "Sound stoppen" --[[Translation missing --]] + L["Stretched by Foreground"] = "Stretched by Foreground" + --[[Translation missing --]] L["Sub Elements"] = "Sub Elements" --[[Translation missing --]] L["Sub Option %i"] = "Sub Option %i" @@ -1337,10 +1337,10 @@ Upgrade your version of WeakAuras or wait for next release before installing thi --[[Translation missing --]] L["Use SetTransform"] = "Use SetTransform" --[[Translation missing --]] - L["Used in Auras:"] = "Used in Auras:" - --[[Translation missing --]] L["Used in auras:"] = "Used in auras:" --[[Translation missing --]] + L["Used in Auras:"] = "Used in Auras:" + --[[Translation missing --]] L["Uses Texture Coordinates to rotate the texture."] = "Uses Texture Coordinates to rotate the texture." --[[Translation missing --]] L["Uses UnitIsVisible() to check if game client has loaded a object for this unit. This distance is around 100 yards. This is polled every second."] = "Uses UnitIsVisible() to check if game client has loaded a object for this unit. This distance is around 100 yards. This is polled every second." @@ -1364,7 +1364,7 @@ Upgrade your version of WeakAuras or wait for next release before installing thi --[[Translation missing --]] L["View custom code"] = "View custom code" --[[Translation missing --]] - L["Voice"] = "Voice" + L["Voice Settings"] = "Voice Settings" --[[Translation missing --]] L["We thank"] = "We thank" --[[Translation missing --]] diff --git a/WeakAurasOptions/Locales/enUS.lua b/WeakAurasOptions/Locales/enUS.lua index c23b974..4a91fe2 100644 --- a/WeakAurasOptions/Locales/enUS.lua +++ b/WeakAurasOptions/Locales/enUS.lua @@ -152,8 +152,8 @@ Enable this setting if you want this timer to be hidden, or when using a WeakAur L["Anchor Mode"] = "Anchor Mode" L["Anchor Point"] = "Anchor Point" L["Anchored To"] = "Anchored To" - L["And "] = "And " L["and"] = "and" + L["And "] = "And " L["and %s"] = "and %s" L["and aligned left"] = "and aligned left" L["and aligned right"] = "and aligned right" @@ -194,7 +194,6 @@ Off Screen]=] L["Aura: '%s'"] = "Aura: '%s'" L["Auto-Clone (Show All Matches)"] = "Auto-Clone (Show All Matches)" L["Automatic length"] = "Automatic length" - L["Available Voices are system specific"] = "Available Voices are system specific" L["Backdrop Color"] = "Backdrop Color" L["Backdrop in Front"] = "Backdrop in Front" L["Backdrop Style"] = "Backdrop Style" @@ -807,6 +806,7 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] L["Stop Motion %s"] = "Stop Motion %s" L["Stop Motion Settings"] = "Stop Motion Settings" L["Stop Sound"] = "Stop Sound" + L["Stretched by Foreground"] = "Stretched by Foreground" L["Sub Elements"] = "Sub Elements" L["Sub Option %i"] = "Sub Option %i" L["Subevent"] = "Subevent" @@ -903,8 +903,8 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Url: %s"] = "Url: %s" L["Use Display Info Id"] = "Use Display Info Id" L["Use SetTransform"] = "Use SetTransform" - L["Used in Auras:"] = "Used in Auras:" L["Used in auras:"] = "Used in auras:" + L["Used in Auras:"] = "Used in Auras:" L["Uses Texture Coordinates to rotate the texture."] = "Uses Texture Coordinates to rotate the texture." L["Uses UnitIsVisible() to check if game client has loaded a object for this unit. This distance is around 100 yards. This is polled every second."] = "Uses UnitIsVisible() to check if game client has loaded a object for this unit. This distance is around 100 yards. This is polled every second." L["Value"] = "Value" @@ -919,7 +919,7 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Vertical Bar"] = "Vertical Bar" L["View"] = "View" L["View custom code"] = "View custom code" - L["Voice"] = "Voice" + L["Voice Settings"] = "Voice Settings" L["We thank"] = "We thank" L["WeakAuras %s on WoW %s"] = "WeakAuras %s on WoW %s" L["What do you want to do?"] = "What do you want to do?" diff --git a/WeakAurasOptions/Locales/esES.lua b/WeakAurasOptions/Locales/esES.lua index 8230e2d..9c019cd 100644 --- a/WeakAurasOptions/Locales/esES.lua +++ b/WeakAurasOptions/Locales/esES.lua @@ -143,8 +143,8 @@ Enable this setting if you want this timer to be hidden, or when using a WeakAur L["Anchor Mode"] = "Modo de anclaje" L["Anchor Point"] = "Punto de anclaje" L["Anchored To"] = "Anclado a" - L["And "] = "y" L["and"] = "y" + L["And "] = "y" L["and %s"] = "y %s" L["and aligned left"] = "y alineado a la izquierda" L["and aligned right"] = "y alineado a la derecha" @@ -184,7 +184,6 @@ Off Screen]=] ] = "El aura está fuera de la pantalla" L["Aura: '%s'"] = "Aura: '%s'" L["Auto-Clone (Show All Matches)"] = "Autoclonar (mostrar todas las coincidencias)" L["Automatic length"] = "Longitud automática" - L["Available Voices are system specific"] = "Las voces disponibles son específicas del sistema" L["Backdrop Color"] = "Color de fondo" L["Backdrop in Front"] = "Fondo delante" L["Backdrop Style"] = "Estilo de fondo" @@ -267,13 +266,11 @@ Off Screen]=] ] = "El aura está fuera de la pantalla" L["Custom Init"] = "Inicialización personalizada" L["Custom Load"] = "Carga personalizada" L["Custom Options"] = "Opciones personalizadas" - --[[Translation missing --]] - L["Custom Text Update Throttle"] = "Custom Text Update Throttle" + L["Custom Text Update Throttle"] = "Limitador de actualización de texto personalizado" L["Custom Trigger"] = "Activador personalizado" L["Custom trigger event tooltip"] = "Información sobre eventos de activador personalizado" L["Custom trigger status tooltip"] = "Información sobre el estado del activador personalizado" - --[[Translation missing --]] - L["Custom trigger Update Throttle"] = "Custom trigger Update Throttle" + L["Custom trigger Update Throttle"] = "Limitador de actualización de disparador personalizado" L["Custom Trigger: Ignore Lua Errors on OPTIONS event"] = "Activador personalizado: ignorar errores de Lua en el evento OPCIONES" L["Custom Trigger: Send fake events instead of STATUS event"] = "Activador personalizado: enviar eventos falsos en lugar del evento STATUS" L["Custom Unload"] = "Descarga personalizada" @@ -768,6 +765,8 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] ] = "Ocurrencia d L["Stop Motion %s"] = "Stop motion de %" L["Stop Motion Settings"] = "Configuración de Stop Motion" L["Stop Sound"] = "Detener sonido" + --[[Translation missing --]] + L["Stretched by Foreground"] = "Stretched by Foreground" L["Sub Elements"] = "Subelementos" L["Sub Option %i"] = "Subopción %i" L["Subevent"] = "Subevento" @@ -879,7 +878,8 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Vertical Bar"] = "Barra vertical" L["View"] = "Ver" L["View custom code"] = "Ver código personalizado" - L["Voice"] = "Voz" + --[[Translation missing --]] + L["Voice Settings"] = "Voice Settings" L["We thank"] = "Agradecemos a" L["WeakAuras %s on WoW %s"] = "WeakAuras %s en WoW %s" L["What do you want to do?"] = "¿Qué es lo que quieres hacer?" diff --git a/WeakAurasOptions/Locales/esMX.lua b/WeakAurasOptions/Locales/esMX.lua index 224a862..626b10d 100644 --- a/WeakAurasOptions/Locales/esMX.lua +++ b/WeakAurasOptions/Locales/esMX.lua @@ -184,7 +184,6 @@ Off Screen]=] ] = "Aura está fuera de la pantalla" L["Aura: '%s'"] = "Aura: '%s'" L["Auto-Clone (Show All Matches)"] = "Autoclonar (mostrar todas las coincidencias)" L["Automatic length"] = "Longitud automática" - L["Available Voices are system specific"] = "Las voces disponibles son específicas del sistema" L["Backdrop Color"] = "Color de fondo" L["Backdrop in Front"] = "Fondo delante" L["Backdrop Style"] = "Estilo de fondo" @@ -267,13 +266,11 @@ Off Screen]=] ] = "Aura está fuera de la pantalla" L["Custom Init"] = "Inicialización personalizada" L["Custom Load"] = "Carga personalizada" L["Custom Options"] = "Opciones personalizadas" - --[[Translation missing --]] - L["Custom Text Update Throttle"] = "Custom Text Update Throttle" + L["Custom Text Update Throttle"] = "Limitador de actualización de texto personalizado" L["Custom Trigger"] = "Activador personalizado" L["Custom trigger event tooltip"] = "Información sobre eventos de activador personalizado" L["Custom trigger status tooltip"] = "Información sobre el estado del activador personalizado" - --[[Translation missing --]] - L["Custom trigger Update Throttle"] = "Custom trigger Update Throttle" + L["Custom trigger Update Throttle"] = "Limitador de actualización de disparador personalizado" L["Custom Trigger: Ignore Lua Errors on OPTIONS event"] = "Activador personalizado: ignorar errores de Lua en el evento OPCIONES" L["Custom Trigger: Send fake events instead of STATUS event"] = "Activador personalizado: enviar eventos falsos en lugar del evento STATUS" L["Custom Unload"] = "Descarga personalizada" @@ -768,6 +765,8 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] ] = "Ocurrencia d L["Stop Motion %s"] = "Stop motion de %" L["Stop Motion Settings"] = "Configuración de Stop Motion" L["Stop Sound"] = "Detener sonido" + --[[Translation missing --]] + L["Stretched by Foreground"] = "Stretched by Foreground" L["Sub Elements"] = "Subelementos" L["Sub Option %i"] = "Subopción %i" L["Subevent"] = "Subevento" @@ -863,8 +862,8 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Url: %s"] = "URL: %s" L["Use Display Info Id"] = "Utilizar ID de información de la visualización" L["Use SetTransform"] = "Utilizar SetTransform" - L["Used in Auras:"] = "Utilizado en auras:" L["Used in auras:"] = "Utilizado en auras:" + L["Used in Auras:"] = "Utilizado en auras:" L["Uses Texture Coordinates to rotate the texture."] = "Utiliza coordenadas de textura para rotar la textura." L["Uses UnitIsVisible() to check if game client has loaded a object for this unit. This distance is around 100 yards. This is polled every second."] = "Utiliza UnitIsVisible() para comprobar si el cliente del juego ha cargado un objeto para esta unidad. Esta distancia es de unos 100 metros. Esto se encuesta cada segundo." L["Value"] = "Valor" @@ -879,7 +878,8 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Vertical Bar"] = "Barra vertical" L["View"] = "Ver" L["View custom code"] = "Ver código personalizado" - L["Voice"] = "Voz" + --[[Translation missing --]] + L["Voice Settings"] = "Voice Settings" L["We thank"] = "Agradecemos a" L["WeakAuras %s on WoW %s"] = "WeakAuras %s en WoW %s" L["What do you want to do?"] = "¿Qué es lo que quieres hacer?" diff --git a/WeakAurasOptions/Locales/frFR.lua b/WeakAurasOptions/Locales/frFR.lua index ee70c5a..1a6aff6 100644 --- a/WeakAurasOptions/Locales/frFR.lua +++ b/WeakAurasOptions/Locales/frFR.lua @@ -147,8 +147,8 @@ Enable this setting if you want this timer to be hidden, or when using a WeakAur L["Anchor Mode"] = "Mode d’ancrage" L["Anchor Point"] = "Point d'ancrage" L["Anchored To"] = "Ancré à" - L["And "] = "Et" L["and"] = "et" + L["And "] = "Et" L["and %s"] = "et %s" L["and aligned left"] = "et aligné à gauche" L["and aligned right"] = "et aligné à droite" @@ -188,8 +188,6 @@ Off Screen]=] ] = "L’aura est hors écran" L["Aura: '%s'"] = "Aura : '%s'" L["Auto-Clone (Show All Matches)"] = "Clonage Automatique (Afficher tous les résultats)" L["Automatic length"] = "Longueur automatique" - --[[Translation missing --]] - L["Available Voices are system specific"] = "Available Voices are system specific" L["Backdrop Color"] = "Couleur de Fond" L["Backdrop in Front"] = "Fond Devant" L["Backdrop Style"] = "Style de Fond" @@ -1029,6 +1027,8 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] L["Stop Motion Settings"] = "Stop Motion Settings" L["Stop Sound"] = "Arrêter le son" --[[Translation missing --]] + L["Stretched by Foreground"] = "Stretched by Foreground" + --[[Translation missing --]] L["Sub Elements"] = "Sub Elements" --[[Translation missing --]] L["Sub Option %i"] = "Sub Option %i" @@ -1195,7 +1195,8 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Vertical Bar"] = "Barre verticale" L["View"] = "Vue" L["View custom code"] = "Afficher le code personnalisé" - L["Voice"] = "Voix" + --[[Translation missing --]] + L["Voice Settings"] = "Voice Settings" --[[Translation missing --]] L["We thank"] = "We thank" --[[Translation missing --]] diff --git a/WeakAurasOptions/Locales/itIT.lua b/WeakAurasOptions/Locales/itIT.lua index e8c9ec1..e468a80 100644 --- a/WeakAurasOptions/Locales/itIT.lua +++ b/WeakAurasOptions/Locales/itIT.lua @@ -155,8 +155,8 @@ Enable this setting if you want this timer to be hidden, or when using a WeakAur L["Anchor Mode"] = "Anchor Mode" L["Anchor Point"] = "Punto di ancoraggio" L["Anchored To"] = "Ancorato a" - L["And "] = "E" L["and"] = "e" + L["And "] = "E" L["and %s"] = "e %s" L["and aligned left"] = "e allineato a sinistra" L["and aligned right"] = "e allineato a destra" @@ -194,7 +194,6 @@ Off Screen]=] ] = "L'aura è fuori dallo schermo" L["Aura: '%s'"] = "Aura: '%s'" L["Auto-Clone (Show All Matches)"] = "Auto-Clona (Mostra tutte le corrispondenze)" L["Automatic length"] = "Lunghezza automatica" - L["Available Voices are system specific"] = "Le voci disponibili sono specifiche del sistema" L["Backdrop Color"] = "Colore Fondale" L["Backdrop in Front"] = "Fondale d'avanti" L["Backdrop Style"] = "Stile Fondale" @@ -1287,6 +1286,8 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] --[[Translation missing --]] L["Stop Sound"] = "Stop Sound" --[[Translation missing --]] + L["Stretched by Foreground"] = "Stretched by Foreground" + --[[Translation missing --]] L["Sub Elements"] = "Sub Elements" --[[Translation missing --]] L["Sub Option %i"] = "Sub Option %i" @@ -1473,10 +1474,10 @@ Upgrade your version of WeakAuras or wait for next release before installing thi --[[Translation missing --]] L["Use SetTransform"] = "Use SetTransform" --[[Translation missing --]] - L["Used in Auras:"] = "Used in Auras:" - --[[Translation missing --]] L["Used in auras:"] = "Used in auras:" --[[Translation missing --]] + L["Used in Auras:"] = "Used in Auras:" + --[[Translation missing --]] L["Uses Texture Coordinates to rotate the texture."] = "Uses Texture Coordinates to rotate the texture." --[[Translation missing --]] L["Uses UnitIsVisible() to check if game client has loaded a object for this unit. This distance is around 100 yards. This is polled every second."] = "Uses UnitIsVisible() to check if game client has loaded a object for this unit. This distance is around 100 yards. This is polled every second." @@ -1505,7 +1506,7 @@ Upgrade your version of WeakAuras or wait for next release before installing thi --[[Translation missing --]] L["View custom code"] = "View custom code" --[[Translation missing --]] - L["Voice"] = "Voice" + L["Voice Settings"] = "Voice Settings" --[[Translation missing --]] L["We thank"] = "We thank" --[[Translation missing --]] diff --git a/WeakAurasOptions/Locales/koKR.lua b/WeakAurasOptions/Locales/koKR.lua index 5a66721..c496490 100644 --- a/WeakAurasOptions/Locales/koKR.lua +++ b/WeakAurasOptions/Locales/koKR.lua @@ -200,7 +200,6 @@ Off Screen]=] ] = "위크오라가 화면 밖에 있습니다" L["Aura: '%s'"] = "오라: '%s'" L["Auto-Clone (Show All Matches)"] = "자동 복제 (일치하는걸 전부 표시)" L["Automatic length"] = "자동 길이 조정" - L["Available Voices are system specific"] = "컴퓨터 환경에 따라 사용 가능한 음성이 다릅니다" L["Backdrop Color"] = "배경막 색" L["Backdrop in Front"] = "앞쪽 배경" L["Backdrop Style"] = "배경 스타일" @@ -743,7 +742,7 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] ] = [=[이벤트 L["Shadow Y Offset"] = "그림자 Y 위치 조정" L["Shift-click to create chat link"] = "Shift+클릭으로 대화창 링크 생성" L["Show \"Edge\""] = "\"경계\" 표시" - L["Show \"Swipe\""] = "\"쿨타임 진행\" 표시" + L["Show \"Swipe\""] = "\"쿨타임 진행\" 부분 표시" L["Show and Clone Settings"] = "표시 및 복제 설정" L["Show Border"] = "테두리 표시" L["Show Circular Texture"] = "테두리 텍스처 표시" @@ -814,6 +813,7 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] ] = [=[이벤트 L["Stop Motion %s"] = "스톱 모션 %s" L["Stop Motion Settings"] = "스톱 모션 설정" L["Stop Sound"] = "소리 재생 중지" + L["Stretched by Foreground"] = "전경 크기만큼 늘림" L["Sub Elements"] = "하위 구성 요소" L["Sub Option %i"] = "하위 옵션 %i" L["Subevent"] = "서브이벤트" @@ -907,8 +907,8 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Url: %s"] = "URL: %s" L["Use Display Info Id"] = "디스플레이 정보 ID 사용" L["Use SetTransform"] = "SetTransform 사용" - L["Used in Auras:"] = "사용 중인 위크오라:" L["Used in auras:"] = "사용 중인 위크오라:" + L["Used in Auras:"] = "사용 중인 위크오라:" L["Uses Texture Coordinates to rotate the texture."] = "회전에 텍스처 좌표를 사용합니다." L["Uses UnitIsVisible() to check if game client has loaded a object for this unit. This distance is around 100 yards. This is polled every second."] = "UnitIsVisible()을 사용해서 게임 클라이언트가 이 유닛의 오브젝트를 불러왔는지를 검사합니다. 검사 거리는 약 100미터 정도입니다. 매 초마다 검사합니다." L["Value"] = "값" @@ -923,7 +923,7 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Vertical Bar"] = "세로 형태 바" L["View"] = "보기" L["View custom code"] = "사용자 정의 코드 보기" - L["Voice"] = "음성" + L["Voice Settings"] = "음성 환경 설정" L["We thank"] = "감사합니다" L["WeakAuras %s on WoW %s"] = "WeakAuras %s (WoW %s)" L["What do you want to do?"] = "무엇을 할까요?" diff --git a/WeakAurasOptions/Locales/ptBR.lua b/WeakAurasOptions/Locales/ptBR.lua index 7acdad5..9b83837 100644 --- a/WeakAurasOptions/Locales/ptBR.lua +++ b/WeakAurasOptions/Locales/ptBR.lua @@ -224,9 +224,9 @@ Enable this setting if you want this timer to be hidden, or when using a WeakAur L["Anchor Mode"] = "Anchor Mode" L["Anchor Point"] = "Ponto da âncora" L["Anchored To"] = "Ancorado a" - L["And "] = "E" --[[Translation missing --]] L["and"] = "and" + L["And "] = "E" --[[Translation missing --]] L["and %s"] = "and %s" L["and aligned left"] = "e alinhado à esquerda" @@ -276,8 +276,6 @@ Off Screen]=] ] = "Aura está fora da tela" L["Auto-Clone (Show All Matches)"] = "Auto-Clone (Show All Matches)" L["Automatic length"] = "Comprimento Automático" --[[Translation missing --]] - L["Available Voices are system specific"] = "Available Voices are system specific" - --[[Translation missing --]] L["Backdrop Color"] = "Backdrop Color" --[[Translation missing --]] L["Backdrop in Front"] = "Backdrop in Front" @@ -1296,6 +1294,8 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] L["Stop Motion Settings"] = "Configurações de Stop Motion" L["Stop Sound"] = "Parar Som" --[[Translation missing --]] + L["Stretched by Foreground"] = "Stretched by Foreground" + --[[Translation missing --]] L["Sub Elements"] = "Sub Elements" --[[Translation missing --]] L["Sub Option %i"] = "Sub Option %i" @@ -1507,7 +1507,7 @@ Upgrade your version of WeakAuras or wait for next release before installing thi --[[Translation missing --]] L["View custom code"] = "View custom code" --[[Translation missing --]] - L["Voice"] = "Voice" + L["Voice Settings"] = "Voice Settings" --[[Translation missing --]] L["We thank"] = "We thank" --[[Translation missing --]] diff --git a/WeakAurasOptions/Locales/ruRU.lua b/WeakAurasOptions/Locales/ruRU.lua index 41b7510..28cadd9 100644 --- a/WeakAurasOptions/Locales/ruRU.lua +++ b/WeakAurasOptions/Locales/ruRU.lua @@ -148,8 +148,8 @@ Enable this setting if you want this timer to be hidden, or when using a WeakAur L["Anchor Mode"] = "Режим крепления" L["Anchor Point"] = "Точка крепления" L["Anchored To"] = "Прикрепить к" - L["And "] = "И " L["and"] = "и" + L["And "] = "И " L["and %s"] = "и %s" L["and aligned left"] = "Выранивание по левому краю;" L["and aligned right"] = "Выранивание по правому краю;" @@ -190,7 +190,6 @@ Off Screen]=] ] = [=[Индикация за L["Aura: '%s'"] = "Индикация: %s" L["Auto-Clone (Show All Matches)"] = "Показать все совпадения (Автоклонирование)" L["Automatic length"] = "Автоматическая длина" - L["Available Voices are system specific"] = "Доступность голоса зависит от вашей системы" L["Backdrop Color"] = "Цвет фона" L["Backdrop in Front"] = "Фон спереди" L["Backdrop Style"] = "Стиль фона" @@ -805,6 +804,8 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] ] = "Время L["Stop Motion %s"] = "Стоп-кадр %s" L["Stop Motion Settings"] = "Настройки анимации Stop motion" L["Stop Sound"] = "Остановить вопроизведение звука" + --[[Translation missing --]] + L["Stretched by Foreground"] = "Stretched by Foreground" L["Sub Elements"] = "Внутренние элементы" L["Sub Option %i"] = "Внутренний параметр %i" L["Subevent"] = "Подсобытие" @@ -923,7 +924,8 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Vertical Bar"] = "Вертикальная полоса" L["View"] = "Вид" L["View custom code"] = "Просмотреть код" - L["Voice"] = "Голос" + --[[Translation missing --]] + L["Voice Settings"] = "Voice Settings" L["We thank"] = "Мы благодарим" L["WeakAuras %s on WoW %s"] = "WeakAuras: %s. Интерфейс: %s" L["What do you want to do?"] = "Что вы хотите сделать?" diff --git a/WeakAurasOptions/Locales/zhCN.lua b/WeakAurasOptions/Locales/zhCN.lua index 611a6bb..a4790e5 100644 --- a/WeakAurasOptions/Locales/zhCN.lua +++ b/WeakAurasOptions/Locales/zhCN.lua @@ -190,7 +190,6 @@ Off Screen]=] ] = "光环在屏幕外" L["Aura: '%s'"] = "光环:'%s'" L["Auto-Clone (Show All Matches)"] = "自动克隆(显示所有符合项)" L["Automatic length"] = "自动长度" - L["Available Voices are system specific"] = "可用的声音由系统决定" L["Backdrop Color"] = "背景颜色" L["Backdrop in Front"] = "背景在前" L["Backdrop Style"] = "背景图案类型 " @@ -800,6 +799,8 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] ] = [=[事件发 L["Stop Motion %s"] = "定格动画%s" L["Stop Motion Settings"] = "定格动画设置" L["Stop Sound"] = "停止播放声音" + --[[Translation missing --]] + L["Stretched by Foreground"] = "Stretched by Foreground" L["Sub Elements"] = "子元素" L["Sub Option %i"] = "子选项 %i" L["Subevent"] = "子事件" @@ -911,7 +912,8 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Vertical Bar"] = "垂直条" L["View"] = "显示" L["View custom code"] = "查看自定义代码" - L["Voice"] = "声音" + --[[Translation missing --]] + L["Voice Settings"] = "Voice Settings" L["We thank"] = "我们感谢" L["WeakAuras %s on WoW %s"] = "WeakAuras %s + WoW %s" L["What do you want to do?"] = "你想要做什么?" diff --git a/WeakAurasOptions/Locales/zhTW.lua b/WeakAurasOptions/Locales/zhTW.lua index a9351e3..25e3122 100644 --- a/WeakAurasOptions/Locales/zhTW.lua +++ b/WeakAurasOptions/Locales/zhTW.lua @@ -143,8 +143,8 @@ Enable this setting if you want this timer to be hidden, or when using a WeakAur L["Anchor Mode"] = "定位模式" L["Anchor Point"] = "對齊點" L["Anchored To"] = "對齊到" - L["And "] = "和 " L["and"] = "和" + L["And "] = "和 " L["and %s"] = "以及 %s" L["and aligned left"] = "和靠左對齊" L["and aligned right"] = "和靠右對齊" @@ -184,7 +184,6 @@ Off Screen]=] ] = [=[提醒效果 L["Aura: '%s'"] = "光環: '%s'" L["Auto-Clone (Show All Matches)"] = "自動複製 (顯示所有符合的)" L["Automatic length"] = "自動長度" - L["Available Voices are system specific"] = "可用語音為系統指定" L["Backdrop Color"] = "背景顏色" L["Backdrop in Front"] = "背景在前面" L["Backdrop Style"] = "背景類型" @@ -787,6 +786,8 @@ every 3 events starting from 2nd and ending at 11th: 2-11/3]=] ] = [=[事件發 L["Stop Motion %s"] = "停止動畫 %s" L["Stop Motion Settings"] = "定格設定" L["Stop Sound"] = "停止音效" + --[[Translation missing --]] + L["Stretched by Foreground"] = "Stretched by Foreground" L["Sub Elements"] = "子元素" L["Sub Option %i"] = "子選項 %i" L["Subevent"] = "子事件" @@ -881,8 +882,8 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Url: %s"] = "網址:%s" L["Use Display Info Id"] = "使用顯示資訊 ID" L["Use SetTransform"] = "使用 SetTransform" - L["Used in Auras:"] = "使用的提醒效果:" L["Used in auras:"] = "使用的提醒效果:" + L["Used in Auras:"] = "使用的提醒效果:" L["Uses Texture Coordinates to rotate the texture."] = "使用材質坐標來旋轉材質。" L["Uses UnitIsVisible() to check if game client has loaded a object for this unit. This distance is around 100 yards. This is polled every second."] = "使用 UnitIsVisible() 來檢查遊戲是否已經載入該單位的物件,距離為 100碼,每秒都會檢查一次。" L["Value"] = "數值" @@ -897,7 +898,8 @@ Upgrade your version of WeakAuras or wait for next release before installing thi L["Vertical Bar"] = "垂直進度條" L["View"] = "檢視" L["View custom code"] = "檢視自訂程式碼" - L["Voice"] = "語音" + --[[Translation missing --]] + L["Voice Settings"] = "Voice Settings" L["We thank"] = "我們感謝" L["WeakAuras %s on WoW %s"] = "WeakAuras %s 在 WoW %s" L["What do you want to do?"] = "你想要怎麼做?" diff --git a/WeakAurasOptions/OptionsFrames/OptionsFrame.lua b/WeakAurasOptions/OptionsFrames/OptionsFrame.lua index 0e698d1..ce68404 100644 --- a/WeakAurasOptions/OptionsFrames/OptionsFrame.lua +++ b/WeakAurasOptions/OptionsFrames/OptionsFrame.lua @@ -522,7 +522,7 @@ function OptionsPrivate.CreateFrame() local awesomeWotlkButton if not WeakAuras.IsAwesomeEnabled() then - awesomeWotlkButton = addFooter("Awesome WotLK", [[Interface\AddOns\WeakAuras\Media\Textures\GitHub.tga]], "https://github.com/NoM0Re/awesome_wotlk/releases", + awesomeWotlkButton = addFooter("Awesome WotLK", [[Interface\AddOns\WeakAuras\Media\Textures\GitHub.tga]], "https://github.com/someweirdhuman/awesome_wotlk", L["Unlock nameplate anchoring & units and Text-to-speech in WeakAuras with the Awesome WotLK client patch."]) awesomeWotlkButton:SetParent(tipFrame) awesomeWotlkButton:SetPoint("LEFT", changelogButton or thanksButton, "RIGHT", footerSpacing, 0) diff --git a/WeakAurasOptions/VersionCheck.lua b/WeakAurasOptions/VersionCheck.lua index e47364a..8a6a677 100644 --- a/WeakAurasOptions/VersionCheck.lua +++ b/WeakAurasOptions/VersionCheck.lua @@ -3,7 +3,7 @@ local Private = select(2, ...) local L = WeakAuras.L -local optionsVersion = "5.20.2 Beta" +local optionsVersion = "5.20.3 Beta" if optionsVersion ~= WeakAuras.versionString then local message = string.format(L["The WeakAuras Options Addon version %s doesn't match the WeakAuras version %s. If you updated the addon while the game was running, try restarting World of Warcraft. Otherwise try reinstalling WeakAuras"], diff --git a/WeakAurasOptions/WeakAurasOptions.toc b/WeakAurasOptions/WeakAurasOptions.toc index 4826603..74d10c7 100644 --- a/WeakAurasOptions/WeakAurasOptions.toc +++ b/WeakAurasOptions/WeakAurasOptions.toc @@ -1,7 +1,7 @@ ## Interface: 30300 ## Title: WeakAuras Options ## Author: The WeakAuras Team -## Version: 5.20.2 +## Version: 5.20.3 ## IconTexture: Interface\AddOns\WeakAuras\Media\Textures\icon.blp ## Notes: Options for WeakAuras ## Notes-esES: Opciones para WeakAuras diff --git a/WeakAurasTemplates/WeakAurasTemplates.toc b/WeakAurasTemplates/WeakAurasTemplates.toc index 4489ea8..bf1dc11 100644 --- a/WeakAurasTemplates/WeakAurasTemplates.toc +++ b/WeakAurasTemplates/WeakAurasTemplates.toc @@ -1,7 +1,7 @@ ## Interface: 30300 ## Title: WeakAuras Templates ## Author: The WeakAuras Team -## Version: 5.20.2 +## Version: 5.20.3 ## Notes: Templates for WeakAuras ## Notes-esES: Plantillas para WeakAuras ## Notes-esMX: Plantillas para WeakAuras