diff --git a/boot.lua b/boot.lua index e0369f99..c8be0c35 100644 --- a/boot.lua +++ b/boot.lua @@ -3,11 +3,11 @@ _ = nil _detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0", "LibHotCorners") - - _detalhes.version = "v1.19.1 (core 22)" - _detalhes.userversion = "v1.19.1" - _detalhes.build_counter = 9 --it's 12 for release - _detalhes.realversion = 22 + + _detalhes.build_counter = 14 --it's 14 for release + _detalhes.userversion = "v1.19.2" + _detalhes.realversion = 23 + _detalhes.version = _detalhes.userversion .. " (core " .. _detalhes.realversion .. ")" ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --> initialization stuff @@ -15,6 +15,15 @@ do local _detalhes = _G._detalhes + + --[[ +|cFFFFFF00-|r Details! it's now able to be translated by its community for all supported languages through Curse Forge Web Site:\n\nhttp://wow.curseforge.com/addons/details/localization/.\n\n + + --]] + + local Loc = LibStub ("AceLocale-3.0"):GetLocale ( "Details" ) + Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v1.19.0 - v1.19.1 - v1.19.2 (|cFFFFCC00Jul 21, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Trash segments won't be saved anymore.\n\n|cFFFFFF00-|r Added support for plugins options.\n\n|cFFFFFF00-|r Revamp on Deaths report lines, adding links for harmful spells and changing the text order |cFF999999(thanks @skmzarn-mmochampion forum)|r.\n\n|cFFFFFF00-|r Modified the percentage used on Comparison panel |cFF999999(thanks @Mystery2012-mmochampion forum)|r.\n\n|cFFFFFF00-|r Fixed the Dps/Hps data exported by Data Broker |cFF999999(thanks @Arieth-mmochampion forum)|r.\n\n|cFFFFFF00v1.18.4 - v1.18.5 - v1.18.6 (|cFFFFCC00Jul 13, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added option to customize the bar left text.\n\n|cFFFFFF00-|r Added option for show or hide bar placement number.\n\n|cFFFFFF00-|r Spell icon is shown in the bar when the enemy character is a environment spell type.\n\n|cFFFFFF00-|r Changed the non-player enemy icon (monsters).\n\n|cFFFFFF00-|r Fixed bug on flex performance profile |cFF999999(thanks @skmzarn-mmochampion forum)|r.\n\n|cFFFFFF00-|r Added new version tracker which should alert you when a newer Details! version is found.\n\n|cFFFFFF00-|r Added Enemy Damage Taken by clicking with middle mouse button over a enemy bar (enemies display).\n\n|cFFFFFF00-|r Added import/export for saved skins and custom displays created.\n\n|cFFFFFF00-|r Small changes on ElvUI Frame Style skin (need reaply).\n\n|cFFFFFF00-|r Fixed the death recognition for bosses, now it should show the correct color over segments menu.\n\n|cFFFFFF00-|r Fixed Dps inacuracy when plyaing solo (no party or raid group).\n\n|cFFFFFF00-|r Fixed the duration time of buffs applied before the pull, like pre-potions.\n\n|cFFFFFF00v1.17.5 (|cFFFFCC00Jun 30, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Shortcut panel is now known as Bookmarks and a revamp has done on its panel.\n\n|cFFFFFF00-|r NickTag now doesnt check anymore if a received nickname from other guild member is invalid.\n\n|cFFFFFF00-|r Healthstone now is considered a cooldown.\n\n|cFFFFFF00-|r Few improvements on Default Skin, Minimalistic Skin and ElvUI Frame Style Skin.\n\n|cFFFFFF00-|r Revamp on Image Editor, many bugs solves and now it is usable.\n\n|cFFFFFF00-|r 'Hide' slash command now hides all opened windows; 'Show', open all closed windows and 'New' create a new window.\n\n|cFFFFFF00-|r Added Devotion Aura, Rallying Cry as cooldowns.\n\n|cFFFFFF00-|r Added options for lock, unlock, break snap, close, reopen and create new window.\n\n|cFFFFFF00-|r Added a options panel for HotCorners, access it through options button or slash hotcorner command.\n\n|cFFFFFF00-|r Added 'Logos' and 'Raid & Dungeons' sections for Wallpapers. \n\n|cFFFFFF00-|r Added a option to load a image from the computer to use as wallpaper.\n\n|cFFFFFF00-|r Fixed the percent issue with Healing Done and HPS while in combat.\n\n|cFFFFFF00-|r Fixed non-combat switch by role where changing role wasnt changing the shown attribute.\n\n|cFFFFFF00-|r Fixed 'While in Combat' hiding schema |cFF999999(thanks @skmzarn-mmochampion forum)|r.\n\n|cFFFFFF00-|r Fixed several bugs on Interact Auto Transparency.\n\n|cFFFFFF00-|r Fixed the report window alert when opening the report window and it already is opened |cFF999999(thanks @Rasstapp-mmochampion forum)|r.\n\n|cFFFFFF00-|r Fixed the gap between last row created and the end of the window.\n\n|cFFFFFF00-|r Fixed all tooltips bugs on Wallpaper Section on Options Panel.\n\n|cFFFFFF00a1.17.0 (|cFFFFCC00Jun 21, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Support for Custom Displays has been rewrited, to access the new panel go to Sword Menu -> Custom -> Create New Display.\n\n|cFFFFFF00-|r Added a custom display for show potion usage.\n\n|cFFFFFF00-|r Fixed a bug where the player pet wasnt being tracked after logon in the game. This bug was affecting directly classes with pets playing out of a raid group.\n\n|cFFFFFF00-|r Fixed the report bug on healing, energy and misc attributes |cFF999999(thanks @skmzarn-mmochampion forum)|r.\n\n|cFFFFFF00a1.16.0 - a1.16.1 - a1.16.3b (|cFFFFCC00Jun 14, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed row creation while resizing where sometimes it was broking the last row in the window.\n\n|cFFFFFF00-|r Fixed small involuntary resizes after resizing a window. |cFF999999(thanks @Morimvudu-Nemesis)|r\n\n|cFFFFFF00-|r Fixed frame strata after stretching the window where was setting its strata to Medium.\n\n|cFFFFFF00-|r Fixed Vanguard strata where it wasnt following the strata from its host window.\n\n|cFFFFFF00-|r Mode menu now have a sub menu for raid plugins.\n\n|cFFFFFF00-|r Red and Green colors under comparison frame has been inverted. |cFF999999(thanks @skmzarn-mmochampion forum)|r\n\n|cFFFFFF00-|r Fixed some report issues with dps and hps, also almost all reports now have guide lines. |cFF999999(thanks @sosleapy-mmochampion forum)|r\n\n|cFFFFFF00-|r Pet dispell and interrupt count also for its owner as well. |cFF999999(thanks @skmzarn-mmochampion forum)|r\n\n|cFFFFFF00-|r Few fixes on comparison panel over Player Details Window.\n\n|cFFFFFF00-|r Added option to be able to save the windows size and position within the profile. |cFF999999(thanks @Torchler-mmochampion forum)|r\n\n|cFFFFFF00-|r Added performance profile settings. |cFF999999(thanks @SlippyCheeze-mmochampion forum)|r\n\n|cFFFFFF00-|r Added auto switch based on group roles also a switch for wipe. |cFF999999(thanks @SlippyCheeze-mmochampion forum)|r\n\n|cFFFFFF00-|r Fixed a bug where sometimes all non boss segments was considered boss encounters.\n\n|cFFFFFF00v1.15.4 (|cFFFFCC00Jun 06, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added a compare tab under Player Details Window:\nThis new tab showns up when there is too characters with the same class and spec.\nIts useful to compare skills used, uptimes and targets.\n\n|cFFFFFF00-|r Few improvements on Default and ElvUI skins.\n\n|cFFFFFF00-|r Added a button for auto align two windows within right chat window when ElvUI skin is active.\n\n|cFFFFFF00-|r Fixed problem with Damage -> Enemies display.\n\n|cFFFFFF00-|r Fixed report Player Detail Window report buttons.\n\n|cFFFFFF00-|r Fixed some report lines where the numbers wasnt properly formatted.\n\n|cFFFFFF00-|r Fixed a rare bug where the owner of some pets wasnt detected.\n\n|cFFFFFF00-|r Fixed issue in dungeons where capture data get paused after a boss kill.\n\n|cFFFFFF00-|r Fixed issue with Encounter Details showing its icon for dungeons bosses.\n\n|cFFFFFF00-|r Fixed a rare bug where the capture of damage stops after erasing a trash segment.\n\n|cFFFFFF00v1.15.0 - v1.15.3 - v1.15.3b (|cFFFFCC00Jun 03, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Emergencial fix for death logs which sometimes was breaking the addon data capture.\n\n|cFFFFFF00-|r Fixed window alerts which was showing behind the bars.\n\n|cFFFFFF00-|r Fixed death log issue with friendly fire hits.\n\n|cFFFFFF00-|r Fixed a issue where Details! windows wasn't hidden when a pet battle starts.\n\n|cFFFFFF00-|r Fixed a issue with segments menu when a window is placed on the right side of the screen.\n\n|cFFFFFF00-|r Damage -> Enemies now also show neutral creatures.\n\n|cFFFFFF00-|r Added support to dungeons, bosses and trash mobs are now recognized." + Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " --> startup _detalhes.initializing = true diff --git a/core/network.lua b/core/network.lua index 93a0f092..ce37dbfb 100644 --- a/core/network.lua +++ b/core/network.lua @@ -411,4 +411,121 @@ if (send_to_guild) then _detalhes:SendGuildData (_detalhes.network.ids.VERSION_CHECK, _detalhes.build_counter) end - end \ No newline at end of file + end + +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +--> sharer + + --> entrar no canal após logar no servidor + function _detalhes:EnterChatChannel() + + if (_detalhes.schedule_chat_leave) then + _detalhes:CancelTimer (_detalhes.schedule_chat_leave) + end + _detalhes.schedule_chat_enter = nil + + local realm = GetRealmName() + realm = realm or "" + + if (realm ~= "Azralon") then + return + end + + --> room name + local room_name = "Details" + + --> already in? + for room_index = 1, 10 do + local _, name = GetChannelName (room_index) + if (name == room_name) then + return --> already in the room + end + end + + --> enter + --print ("entrando no canal") + JoinChannelByName (room_name) + end + + function _detalhes:LeaveChatChannel() + + if (_detalhes.schedule_chat_enter) then + _detalhes:CancelTimer (_detalhes.schedule_chat_enter) + end + _detalhes.schedule_chat_leave = nil + + local realm = GetRealmName() + realm = realm or "" + + if (realm ~= "Azralon") then + return + end + + --> room name + local room_name = "Details" + local is_in = false + --> already in? + for room_index = 1, 10 do + local _, name = GetChannelName (room_index) + if (name == room_name) then + is_in = true + end + end + + if (is_in) then + --print ("saindo do canal") + LeaveChannelByName (room_name) + end + end + + --> sair do canal quando estiver em grupo + local event_handler = {Enabled = true, __enabled = true, teste = " teste"} + function event_handler:ZONE_TYPE_CHANGED (zone_type) + --print (zone_type) + if (zone_type == "none") then + if (not _detalhes:InGroup()) then + if (_detalhes.schedule_chat_leave) then + _detalhes:CancelTimer (_detalhes.schedule_chat_leave) + end + if (not _detalhes.schedule_chat_enter) then + _detalhes.schedule_chat_enter = _detalhes:ScheduleTimer ("EnterChatChannel", 2) + end + end + else + if (_detalhes:InGroup()) then + if (_detalhes.schedule_chat_enter) then + _detalhes:CancelTimer (_detalhes.schedule_chat_enter) + end + if (not _detalhes.schedule_chat_leave) then + _detalhes.schedule_chat_leave = _detalhes:ScheduleTimer ("LeaveChatChannel", 2) + end + end + end + end + + function event_handler:GROUP_ONENTER() + if (zone_type ~= "none") then + if (_detalhes.schedule_chat_enter) then + _detalhes:CancelTimer (_detalhes.schedule_chat_enter) + end + if (not _detalhes.schedule_chat_leave) then + _detalhes.schedule_chat_leave = _detalhes:ScheduleTimer ("LeaveChatChannel", 2) + end + end + end + + function event_handler:GROUP_ONLEAVE() + if (zone_type == "none") then + if (_detalhes.schedule_chat_leave) then + _detalhes:CancelTimer (_detalhes.schedule_chat_leave) + end + if (not _detalhes.schedule_chat_enter) then + _detalhes.schedule_chat_enter = _detalhes:ScheduleTimer ("EnterChatChannel", 2) + end + end + end + + _detalhes:RegisterEvent (event_handler, "GROUP_ONENTER", "GROUP_ONENTER") + _detalhes:RegisterEvent (event_handler, "GROUP_ONLEAVE", "GROUP_ONLEAVE") + _detalhes:RegisterEvent (event_handler, "ZONE_TYPE_CHANGED", "ZONE_TYPE_CHANGED") + \ No newline at end of file diff --git a/core/parser.lua b/core/parser.lua index 414e7f59..c8e977e4 100644 --- a/core/parser.lua +++ b/core/parser.lua @@ -2239,43 +2239,9 @@ end end + --parser:safe_sort_dead (esta_morte) _table_sort (esta_morte, _detalhes.Sort4) - --[[ - _table_sort (esta_morte, function (table1, table2) - if (not table1) then - print (1) - return false - - elseif (not table2) then - print (2) - return false - - elseif (table1 [4] == table2 [4]) then --> os 2 tem o mesmo tempo - if (type (table1 [1]) == "boolean" and table1 [1] and type (table2 [1]) == "boolean" and table2) then --> ambos sao dano - print (3) - return table1 [5] > table2 [5] --> joga pra cima quem tem mais vida - elseif (type (table1 [1]) == "boolean" and not table1 [1] and type (table2 [1]) == "boolean" and not table2) then --> ambos sao cura - print (4) - return table1 [5] < table2 [5] --> joga pra cima quem tem menos vida - else - if (type (table1 [1]) == "boolean" and table1 and type (table2 [1]) == "boolean" and table2) then --> primeiro é dano e segundo é heal - print (5) - return true --> passa o dano pra frente - elseif (type (table2 [1]) == "boolean" and table2 and type (table1 [1]) == "boolean" and table1) then --> primeiro é heal e o segundo é dano - print (6) - return false --> passa o heal pra frente - else - print (7) - return table1 [5] < table2 [5] --> passa quem tem menos vida - end - end - else - print (8) - return table1 [4] < table2 [4] - end - end) - --]] - + if (_hook_deaths) then --> send event to registred functions local death_at = _tempo - _current_combat.start_time @@ -2331,6 +2297,57 @@ end end + local sort_dead = function (table1, table2) + if (not table1) then + --print (1) + return false + + elseif (not table2) then + --print (2) + return false + + elseif (table1 [4] == table2 [4]) then --> os 2 tem o mesmo tempo + if (type (table1 [1]) == "boolean" and table1 [1] and type (table2 [1]) == "boolean" and table2) then --> ambos sao dano + --print (3) + return table1 [5] > table2 [5] --> joga pra cima quem tem mais vida + elseif (type (table1 [1]) == "boolean" and not table1 [1] and type (table2 [1]) == "boolean" and not table2) then --> ambos sao cura + --print (4) + return table1 [5] < table2 [5] --> joga pra cima quem tem menos vida + else + if (type (table1 [1]) == "boolean" and table1 and type (table2 [1]) == "boolean" and table2) then --> primeiro é dano e segundo é heal + --print (5) + return true --> passa o dano pra frente + elseif (type (table2 [1]) == "boolean" and table2 and type (table1 [1]) == "boolean" and table1) then --> primeiro é heal e o segundo é dano + --print (6) + return false --> passa o heal pra frente + else + --print (7) + return table1 [5] < table2 [5] --> passa quem tem menos vida + end + end + else + --print (8) + return table1 [4] < table2 [4] + end + end + + local function sort_error (error) + return error + end + + local death_table + function do_death_sort() + _table_sort (death_table, sort_dead) + end + + function parser:safe_sort_dead (t) + death_table = t + local status, error = xpcall (do_death_sort, sort_error) + if (not status) then + _table_sort (t, _detalhes.Sort4) + end + end + ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --> core @@ -2517,7 +2534,6 @@ end function _detalhes.parser_functions:ZONE_CHANGED_NEW_AREA (...) local zoneName, zoneType, _, _, _, _, _, zoneMapID = _GetInstanceInfo() - if (_detalhes.last_zone_type ~= zoneType) then _detalhes:SendEvent ("ZONE_TYPE_CHANGED", nil, zoneType) _detalhes.last_zone_type = zoneType diff --git a/core/util.lua b/core/util.lua index c59f5fb9..c1077070 100644 --- a/core/util.lua +++ b/core/util.lua @@ -126,7 +126,7 @@ end --> no changes function _detalhes:NoToK (numero) - return numero + return _math_floor (numero) end -- thanks http://richard.warburton.it function _detalhes:comma_value (n) diff --git a/core/windows.lua b/core/windows.lua index 9dcdff82..c36736b0 100644 --- a/core/windows.lua +++ b/core/windows.lua @@ -963,6 +963,8 @@ f:Hide() end +--> feed back request + function _detalhes:ShowFeedbackRequestWindow() local feedback_frame = CreateFrame ("FRAME", "DetailsFeedbackWindow", UIParent, "ButtonFrameTemplate") @@ -1048,7 +1050,7 @@ end - --> interface menu +--> interface menu local f = CreateFrame ("frame", "DetailsInterfaceOptionsPanel", UIParent) f.name = "Details" f.logo = f:CreateTexture (nil, "overlay") @@ -1077,7 +1079,7 @@ _detalhes:CriarInstancia (_, true) end) - --> row text editor +--> row text editor local panel = _detalhes.gump:NewPanel (UIParent, nil, "DetailsWindowOptionsBarTextEditor", nil, 650, 200) panel:SetPoint ("center", UIParent, "center") panel:Hide() @@ -1107,9 +1109,9 @@ local textentry = _detalhes.gump:NewSpecialLuaEditorEntry (panel.widget, 450, 180, "editbox", "$parentEntry", true) textentry:SetPoint ("topleft", panel.widget, "topleft", 10, -10) - local arg1_button = _detalhes.gump:NewButton (panel, nil, "$parentButton1", nil, 80, 20, function() textentry.editbox:Insert ("{data1}") end, nil, nil, nil, string.format (Loc ["STRING_OPTIONS_TEXTEDITOR_DATA"], "1")) - local arg2_button = _detalhes.gump:NewButton (panel, nil, "$parentButton2", nil, 80, 20, function() textentry.editbox:Insert ("{data2}") end, nil, nil, nil, string.format (Loc ["STRING_OPTIONS_TEXTEDITOR_DATA"], "2")) - local arg3_button = _detalhes.gump:NewButton (panel, nil, "$parentButton3", nil, 80, 20, function() textentry.editbox:Insert ("{data3}") end, nil, nil, nil, string.format (Loc ["STRING_OPTIONS_TEXTEDITOR_DATA"], "3")) + local arg1_button = _detalhes.gump:NewButton (panel, nil, "$parentButton1", nil, 80, 20, function() textentry.editbox:Insert ("{data1}") end, nil, nil, nil, string.format (Loc ["STRING_OPTIONS_TEXTEDITOR_DATA"], "1"), 1) + local arg2_button = _detalhes.gump:NewButton (panel, nil, "$parentButton2", nil, 80, 20, function() textentry.editbox:Insert ("{data2}") end, nil, nil, nil, string.format (Loc ["STRING_OPTIONS_TEXTEDITOR_DATA"], "2"), 1) + local arg3_button = _detalhes.gump:NewButton (panel, nil, "$parentButton3", nil, 80, 20, function() textentry.editbox:Insert ("{data3}") end, nil, nil, nil, string.format (Loc ["STRING_OPTIONS_TEXTEDITOR_DATA"], "3"), 1) arg1_button:SetPoint ("topright", panel, "topright", -10, -14) arg2_button:SetPoint ("topright", panel, "topright", -10, -36) arg3_button:SetPoint ("topright", panel, "topright", -10, -58) @@ -1230,7 +1232,7 @@ ColorSelection ( textentry.editbox, "|c" .. hex) end - local func_button = _detalhes.gump:NewButton (panel, nil, "$parentButton4", nil, 80, 20, function() textentry.editbox:Insert ("{func local player = ...; return 0;}") end, nil, nil, nil, Loc ["STRING_OPTIONS_TEXTEDITOR_FUNC"]) + local func_button = _detalhes.gump:NewButton (panel, nil, "$parentButton4", nil, 80, 20, function() textentry.editbox:Insert ("{func local player = ...; return 0;}") end, nil, nil, nil, Loc ["STRING_OPTIONS_TEXTEDITOR_FUNC"], 1) local color_button = _detalhes.gump:NewColorPickButton (panel, "$parentButton5", nil, color_func) color_button:SetSize (80, 20) func_button:SetPoint ("topright", panel, "topright", -10, -80) @@ -1276,17 +1278,17 @@ panel:Hide() end - local ok_button = _detalhes.gump:NewButton (panel, nil, "$parentButtonOk", nil, 80, 20, done, nil, nil, nil, Loc ["STRING_OPTIONS_TEXTEDITOR_DONE"]) + local ok_button = _detalhes.gump:NewButton (panel, nil, "$parentButtonOk", nil, 80, 20, done, nil, nil, nil, Loc ["STRING_OPTIONS_TEXTEDITOR_DONE"], 1) ok_button.tooltip = Loc ["STRING_OPTIONS_TEXTEDITOR_DONE_TOOLTIP"] ok_button:InstallCustomTexture() ok_button:SetPoint ("topright", panel, "topright", -10, -174) - local reset_button = _detalhes.gump:NewButton (panel, nil, "$parentDefaultOk", nil, 80, 20, function() textentry.editbox:SetText (panel.default) end, nil, nil, nil, Loc ["STRING_OPTIONS_TEXTEDITOR_RESET"]) + local reset_button = _detalhes.gump:NewButton (panel, nil, "$parentDefaultOk", nil, 80, 20, function() textentry.editbox:SetText (panel.default) end, nil, nil, nil, Loc ["STRING_OPTIONS_TEXTEDITOR_RESET"], 1) reset_button.tooltip = Loc ["STRING_OPTIONS_TEXTEDITOR_RESET_TOOLTIP"] reset_button:InstallCustomTexture() reset_button:SetPoint ("topright", panel, "topright", -100, -152) - local cancel_button = _detalhes.gump:NewButton (panel, nil, "$parentDefaultCancel", nil, 80, 20, function() textentry.editbox:SetText (panel.default_text); done(); end, nil, nil, nil, Loc ["STRING_OPTIONS_TEXTEDITOR_CANCEL"]) + local cancel_button = _detalhes.gump:NewButton (panel, nil, "$parentDefaultCancel", nil, 80, 20, function() textentry.editbox:SetText (panel.default_text); done(); end, nil, nil, nil, Loc ["STRING_OPTIONS_TEXTEDITOR_CANCEL"], 1) cancel_button.tooltip = Loc ["STRING_OPTIONS_TEXTEDITOR_CANCEL_TOOLTIP"] cancel_button:InstallCustomTexture() cancel_button:SetPoint ("topright", panel, "topright", -100, -174) diff --git a/framework/button.lua b/framework/button.lua index 695e4d92..84e6d1c9 100644 --- a/framework/button.lua +++ b/framework/button.lua @@ -401,6 +401,30 @@ local ButtonMetaFunctions = {} else self.icon:SetVertexColor (1, 1, 1, 1) end + + local w = self.button:GetWidth() + local iconw = self.icon:GetWidth() + local text_width = self.button.text:GetStringWidth() + if (text_width > w-15-iconw) then + if (not short_method) then + local new_width = text_width+15+iconw + self.button:SetWidth (new_width) + elseif (short_method == 1) then + local loop = true + local textsize = 11 + while (loop) do + if (text_width+15+iconw < w or textsize < 8) then + loop = false + break + else + _detalhes:SetFontSize (self.button.text, textsize) + text_width = self.button.text:GetStringWidth() + textsize = textsize - 1 + end + end + end + end + end -- frame stratas @@ -691,7 +715,7 @@ local ButtonMetaFunctions = {} ------------------------------------------------------------------------------------------------------------ --> object constructor -function gump:NewButton (parent, container, name, member, w, h, func, param1, param2, texture, text) +function gump:NewButton (parent, container, name, member, w, h, func, param1, param2, texture, text, short_method) if (not name) then return nil @@ -766,11 +790,34 @@ function gump:NewButton (parent, container, name, member, w, h, func, param1, pa ButtonObject.button.text:SetText (text) ButtonObject.button.text:SetPoint ("center", ButtonObject.button, "center") + local text_width = ButtonObject.button.text:GetStringWidth() + if (text_width > w-15) then + if (not short_method) then + local new_width = text_width+15 + ButtonObject.button:SetWidth (new_width) + elseif (short_method == 1) then + local loop = true + local textsize = 11 + while (loop) do + if (text_width+15 < w or textsize < 8) then + loop = false + break + else + _detalhes:SetFontSize (ButtonObject.button.text, textsize) + text_width = ButtonObject.button.text:GetStringWidth() + textsize = textsize - 1 + end + end + end + end + ButtonObject.func = func or cleanfunction ButtonObject.funcright = cleanfunction ButtonObject.param1 = param1 ButtonObject.param2 = param2 + ButtonObject.short_method = short_method + --> hooks ButtonObject.button:SetScript ("OnEnter", OnEnter) ButtonObject.button:SetScript ("OnLeave", OnLeave) diff --git a/framework/framework.lua b/framework/framework.lua index 23ee46cf..9ad1f20e 100644 --- a/framework/framework.lua +++ b/framework/framework.lua @@ -165,6 +165,21 @@ function gump:BuildMenu (parent, menu, x_offset, y_offset, height) switch:SetPoint ("left", label, "right", 2) label:SetPoint (cur_x, cur_y) + local size = label.widget:GetStringWidth() + 60 + 4 + if (size > max_x) then + max_x = size + end + + elseif (widget_table.type == "range" or widget_table.type == "slider") then + local is_decimanls = widget_table.usedecimals + local slider = self:NewSlider (parent, nil, "$parentWidget" .. index, nil, 140, 20, widget_table.min, widget_table.max, widget_table.step, widget_table.get(), is_decimanls) + slider.tooltip = widget_table.desc + slider:SetHook ("OnValueChange", widget_table.set) + + local label = self:NewLabel (parent, nil, "$parentLabel" .. index, nil, widget_table.name, "GameFontNormal", 12) + slider:SetPoint ("left", label, "right", 2) + label:SetPoint (cur_x, cur_y) + local size = label.widget:GetStringWidth() + 60 + 4 if (size > max_x) then max_x = size diff --git a/framework/pictureedit.lua b/framework/pictureedit.lua index 1f5b07ed..c602506b 100644 --- a/framework/pictureedit.lua +++ b/framework/pictureedit.lua @@ -1,5 +1,6 @@ local _detalhes = _G._detalhes local g = _detalhes.gump +local Loc = LibStub ("AceLocale-3.0"):GetLocale ( "Details" ) local _ local window = g:NewPanel (UIParent, nil, "DetailsImageEdit", nil, 100, 100, false) @@ -219,20 +220,20 @@ local _ window [side.."Slider"]:Show() end - local leftTexCoordButton = g:NewButton (buttonsBackground, nil, "$parentLeftTexButton", nil, 100, 20, enableTexEdit, "left", nil, nil, "Crop Left") + local leftTexCoordButton = g:NewButton (buttonsBackground, nil, "$parentLeftTexButton", nil, 100, 20, enableTexEdit, "left", nil, nil, Loc ["STRING_IMAGEEDIT_CROPLEFT"], 1) leftTexCoordButton:SetPoint ("topright", buttonsBackground, "topright", -8, -10) - local rightTexCoordButton = g:NewButton (buttonsBackground, nil, "$parentRightTexButton", nil, 100, 20, enableTexEdit, "right", nil, nil, "Crop Right") + local rightTexCoordButton = g:NewButton (buttonsBackground, nil, "$parentRightTexButton", nil, 100, 20, enableTexEdit, "right", nil, nil, Loc ["STRING_IMAGEEDIT_CROPRIGHT"], 1) rightTexCoordButton:SetPoint ("topright", buttonsBackground, "topright", -8, -30) - local topTexCoordButton = g:NewButton (buttonsBackground, nil, "$parentTopTexButton", nil, 100, 20, enableTexEdit, "top", nil, nil, "Crop Top") + local topTexCoordButton = g:NewButton (buttonsBackground, nil, "$parentTopTexButton", nil, 100, 20, enableTexEdit, "top", nil, nil, Loc ["STRING_IMAGEEDIT_CROPTOP"], 1) topTexCoordButton:SetPoint ("topright", buttonsBackground, "topright", -8, -50) - local bottomTexCoordButton = g:NewButton (buttonsBackground, nil, "$parentBottomTexButton", nil, 100, 20, enableTexEdit, "bottom", nil, nil, "Crop Bottom") + local bottomTexCoordButton = g:NewButton (buttonsBackground, nil, "$parentBottomTexButton", nil, 100, 20, enableTexEdit, "bottom", nil, nil, Loc ["STRING_IMAGEEDIT_CROPBOTTOM"], 1) bottomTexCoordButton:SetPoint ("topright", buttonsBackground, "topright", -8, -70) leftTexCoordButton:InstallCustomTexture() rightTexCoordButton:InstallCustomTexture() topTexCoordButton:InstallCustomTexture() bottomTexCoordButton:InstallCustomTexture() - local Alpha = g:NewButton (buttonsBackground, nil, "$parentBottomAlphaButton", nil, 100, 20, alpha, nil, nil, nil, "Transparency") + local Alpha = g:NewButton (buttonsBackground, nil, "$parentBottomAlphaButton", nil, 100, 20, alpha, nil, nil, nil, Loc ["STRING_IMAGEEDIT_ALPHA"], 1) Alpha:SetPoint ("topright", buttonsBackground, "topright", -8, -115) Alpha:InstallCustomTexture() @@ -283,7 +284,7 @@ local _ end end - local changeColorButton = g:NewButton (buttonsBackground, nil, "$parentOverlayColorButton", nil, 100, 20, changeColor, nil, nil, nil, "Overlay Color") + local changeColorButton = g:NewButton (buttonsBackground, nil, "$parentOverlayColorButton", nil, 100, 20, changeColor, nil, nil, nil, Loc ["STRING_IMAGEEDIT_COLOR"], 1) changeColorButton:SetPoint ("topright", buttonsBackground, "topright", -8, -95) changeColorButton:InstallCustomTexture() @@ -392,11 +393,11 @@ local _ end end - local flipButtonH = g:NewButton (buttonsBackground, nil, "$parentFlipButton", nil, 100, 20, flip, 1, nil, nil, "Flip Horizontal") + local flipButtonH = g:NewButton (buttonsBackground, nil, "$parentFlipButton", nil, 100, 20, flip, 1, nil, nil, Loc ["STRING_IMAGEEDIT_FLIPH"], 1) flipButtonH:SetPoint ("topright", buttonsBackground, "topright", -8, -140) flipButtonH:InstallCustomTexture() -- - local flipButtonV = g:NewButton (buttonsBackground, nil, "$parentFlipButton2", nil, 100, 20, flip, 2, nil, nil, "Flip Vertical") + local flipButtonV = g:NewButton (buttonsBackground, nil, "$parentFlipButton2", nil, 100, 20, flip, 2, nil, nil, Loc ["STRING_IMAGEEDIT_FLIPV"], 1) flipButtonV:SetPoint ("topright", buttonsBackground, "topright", -8, -160) flipButtonV:InstallCustomTexture() @@ -432,7 +433,7 @@ local _ return window.callback_func (edit_texture.width, edit_texture.height, {edit_texture:GetVertexColor()}, edit_texture:GetAlpha(), coords, window.extra_param) end - local acceptButton = g:NewButton (buttonsBackground, nil, "$parentAcceptButton", nil, 100, 20, window.accept, nil, nil, nil, "DONE") + local acceptButton = g:NewButton (buttonsBackground, nil, "$parentAcceptButton", nil, 100, 20, window.accept, nil, nil, nil, Loc ["STRING_IMAGEEDIT_DONE"], 1) acceptButton:SetPoint ("topright", buttonsBackground, "topright", -8, -200) acceptButton:InstallCustomTexture() diff --git a/framework/slider.lua b/framework/slider.lua index 7e251bbe..958d73b0 100644 --- a/framework/slider.lua +++ b/framework/slider.lua @@ -338,7 +338,8 @@ local SliderMetaFunctions = {} slider.thumb:SetAlpha (1) if (slider.MyObject.have_tooltip and slider.MyObject.have_tooltip ~= Loc ["STRING_RIGHTCLICK_TYPEVALUE"]) then - GameCooltip:Reset() + --GameCooltip:Reset() + _detalhes:CooltipPreset (2) GameCooltip:AddLine (slider.MyObject.have_tooltip) GameCooltip:ShowCooltip (slider, "tooltip") else diff --git a/functions/events.lua b/functions/events.lua index cdc3e511..4b111865 100644 --- a/functions/events.lua +++ b/functions/events.lua @@ -76,18 +76,19 @@ local common_events = { ["COMBAT_BOSS_FOUND"] = true, ["GROUP_ONENTER"] = true, ["GROUP_ONLEAVE"] = true, + ["ZONE_TYPE_CHANGED"] = true, } ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --> register a event function _detalhes:RegisterEvent (object, event, func) - + if (not _detalhes.RegistredEvents [event]) then if (object.Msg) then - object:Msg ("(debug) unknown event", event) + object:DelayMsg ("(debug) unknown event", event) else - _detalhes:Msg ("(debug) unknown event", event) + _detalhes:DelayMsg ("(debug) unknown event", event) end return end @@ -197,12 +198,10 @@ local common_events = { function _detalhes:SendEvent (event, object, ...) --> send event to all registred plugins - if (event == "PLUGIN_DISABLED" or event == "PLUGIN_ENABLED") then return object:OnDetailsEvent (event, ...) elseif (not object) then - for _, PluginObject in ipairs (_detalhes.RegistredEvents[event]) do if (PluginObject.__eventtable) then if (PluginObject [1].Enabled and PluginObject [1].__enabled) then diff --git a/functions/slash.lua b/functions/slash.lua index eada5321..f476373d 100644 --- a/functions/slash.lua +++ b/functions/slash.lua @@ -16,19 +16,19 @@ function SlashCmdList.DETAILS (msg, editbox) local command, rest = msg:match("^(%S*)%s*(.-)$") - if (command == Loc ["STRING_SLASH_NEW"]) then + if (command == Loc ["STRING_SLASH_NEW"] or command == "new") then _detalhes:CriarInstancia (nil, true) - elseif (command == Loc ["STRING_SLASH_HIDE"] or command == Loc ["STRING_SLASH_HIDE_ALIAS1"]) then + elseif (command == Loc ["STRING_SLASH_HIDE"] or command == Loc ["STRING_SLASH_HIDE_ALIAS1"] or command == "hide") then _detalhes:ShutDownAllInstances() - elseif (command == Loc ["STRING_SLASH_SHOW"] or command == Loc ["STRING_SLASH_SHOW_ALIAS1"]) then + elseif (command == Loc ["STRING_SLASH_SHOW"] or command == Loc ["STRING_SLASH_SHOW_ALIAS1"] or command == "show") then _detalhes:ReabrirTodasInstancias() - elseif (command == Loc ["STRING_SLASH_WIPECONFIG"]) then + elseif (command == Loc ["STRING_SLASH_WIPECONFIG"] or command == "reinstall") then _detalhes:WipeConfig() - elseif (command == Loc ["STRING_SLASH_DISABLE"]) then + elseif (command == Loc ["STRING_SLASH_DISABLE"] or command == "disable") then _detalhes:CaptureSet (false, "damage", true) _detalhes:CaptureSet (false, "heal", true) @@ -37,7 +37,7 @@ function SlashCmdList.DETAILS (msg, editbox) _detalhes:CaptureSet (false, "aura", true) print (Loc ["STRING_DETAILS1"] .. Loc ["STRING_SLASH_CAPTUREOFF"]) - elseif (command == Loc ["STRING_SLASH_ENABLE"]) then + elseif (command == Loc ["STRING_SLASH_ENABLE"] or command == "enable") then _detalhes:CaptureSet (true, "damage", true) _detalhes:CaptureSet (true, "heal", true) @@ -46,7 +46,7 @@ function SlashCmdList.DETAILS (msg, editbox) _detalhes:CaptureSet (true, "aura", true) print (Loc ["STRING_DETAILS1"] .. Loc ["STRING_SLASH_CAPTUREON"]) - elseif (command == Loc ["STRING_SLASH_OPTIONS"]) then + elseif (command == Loc ["STRING_SLASH_OPTIONS"] or command == "options") then if (rest and tonumber (rest)) then local instanceN = tonumber (rest) @@ -66,7 +66,7 @@ function SlashCmdList.DETAILS (msg, editbox) end - elseif (command == Loc ["STRING_SLASH_WORLDBOSS"]) then + elseif (command == Loc ["STRING_SLASH_WORLDBOSS"] or command == "worldboss") then --local questIds = {Galleon = 32098, Sha = 32099, Oondasta = 32519, Celestials = 33117, Ordos = 33118, Nalak = 32518} local questIds = {{"The Celestials", 33117}, {"Ordos", 33118}, {"Nalak", 32518}, {"Oondasta", 32519}, {"Salyis's Warband (Galleon)", 32098}, {"Sha of Anger", 32099}} @@ -74,14 +74,13 @@ function SlashCmdList.DETAILS (msg, editbox) print (format ("%s: \124cff%s\124r", _table [1], IsQuestFlaggedCompleted (_table [2]) and "ff0000"..Loc ["STRING_KILLED"] or "00ff00"..Loc ["STRING_ALIVE"])) end - elseif (command == Loc ["STRING_SLASH_CHANGES"] or command == Loc ["STRING_SLASH_CHANGES_ALIAS1"] or command == Loc ["STRING_SLASH_CHANGES_ALIAS2"]) then + elseif (command == Loc ["STRING_SLASH_CHANGES"] or command == Loc ["STRING_SLASH_CHANGES_ALIAS1"] or command == Loc ["STRING_SLASH_CHANGES_ALIAS2"] or command == "news" or command == "updates") then _detalhes:OpenNewsWindow() -------- debug --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- - elseif (msg == "chatmsg") then + elseif (msg == "chat") then - SendChatMessage("[RCELVA]"..RC.version.."_"..id.."_announce_"..time().."_", "CHANNEL", nil, RC:getChanID(GetChannelList())) elseif (msg == "chaticon") then _detalhes:Msg ("|TInterface\\AddOns\\Details\\images\\icones_barra:" .. 14 .. ":" .. 14 .. ":0:0:256:32:0:32:0:32|tteste") diff --git a/functions/timedata.lua b/functions/timedata.lua index 5243d3f8..15992340 100644 --- a/functions/timedata.lua +++ b/functions/timedata.lua @@ -7,6 +7,7 @@ local _ local _detalhes = _G._detalhes + local Loc = LibStub ("AceLocale-3.0"):GetLocale ( "Details" ) --> mantain the enabled time captures _detalhes.timeContainer = {} @@ -231,31 +232,70 @@ ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --> broker dps stuff - function _detalhes:BrokerTick() - local texttype = _detalhes.minimap.text_type - if (texttype == 1) then --dps - local time = _detalhes.tabela_vigente:GetCombatTime() + local broker_functions = { + -- raid dps [1] + function() + local combat = _detalhes.tabela_vigente + local time = combat:GetCombatTime() if (not time or time == 0) then - _detalhes.databroker.text = 0 + return 0 else - _detalhes.databroker.text = _detalhes:comma_value (_math_floor (_detalhes.tabela_vigente.totals_grupo[1] / time)) + return _detalhes:comma_value (_math_floor (combat.totals_grupo[1] / time)) end - - elseif (texttype == 2) then --hps - local time = _detalhes.tabela_vigente:GetCombatTime() + end, + -- raid hps [2] + function() + local combat = _detalhes.tabela_vigente + local time = combat:GetCombatTime() if (not time or time == 0) then - _detalhes.databroker.text = 0 + return 0 else - _detalhes.databroker.text = _detalhes:comma_value (_math_floor (_detalhes.tabela_vigente.totals_grupo[2] / time)) + return _detalhes:comma_value (_math_floor (combat.totals_grupo[2] / time)) end - + end, + -- elapsed time + function() + local combat_time = _detalhes.tabela_vigente:GetCombatTime() + local minutos, segundos = _math_floor (combat_time / 60), _math_floor (combat_time % 60) + return minutos .. "m " .. segundos .. "s" + end, + -- player dps + function() + local player_actor = _detalhes.tabela_vigente (1, _detalhes.playername) + if (player_actor) then + local combat_time = _detalhes.tabela_vigente:GetCombatTime() + return Loc ["STRING_ATTRIBUTE_DAMAGE_DPS"] .. ": " .. _math_floor (player_actor.total / combat_time) + else + return 0 + end + end, + -- player hps + function() + local player_actor = _detalhes.tabela_vigente (2, _detalhes.playername) + if (player_actor) then + local combat_time = _detalhes.tabela_vigente:GetCombatTime() + return Loc ["STRING_ATTRIBUTE_HEAL_HPS"] .. ": " .. _math_floor (player_actor.total / combat_time) + else + return 0 + end + end, + } + + local broker_generic_func = function() + local func = _detalhes.minimap.text_func + if (func) then + return func() else - if (_detalhes.minimap.text_func) then - _detalhes.databroker.text = _detalhes.minimap.text_func() - else - _detalhes.databroker.text = 0 - end + return 0 + end + end + + function _detalhes:BrokerTick() + local func = broker_functions [_detalhes.minimap.text_type] + if (func) then + _detalhes.databroker.text = func() + else + _detalhes.databroker.text = broker_generic_func() end - end \ No newline at end of file diff --git a/gumps/janela_options.lua b/gumps/janela_options.lua index 07486706..b2050d71 100644 --- a/gumps/janela_options.lua +++ b/gumps/janela_options.lua @@ -286,7 +286,7 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen) local hide_3d_world = CreateFrame ("CheckButton", "DetailsOptionsWindowDisable3D", window.widget, "ChatConfigCheckButtonTemplate") hide_3d_world:SetPoint ("bottomleft", window.widget, "bottomleft", 28, 7) - DetailsOptionsWindowDisable3DText:SetText ("Interface Edit Mode") + DetailsOptionsWindowDisable3DText:SetText (Loc ["STRING_OPTIONS_INTERFACEDIT"]) DetailsOptionsWindowDisable3DText:ClearAllPoints() DetailsOptionsWindowDisable3DText:SetPoint ("left", hide_3d_world, "right", -2, 1) DetailsOptionsWindowDisable3DText:SetTextColor (1, 0.8, 0) @@ -377,7 +377,7 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen) end end - local fillbars = g:NewButton (window, _, "$parentCreateExampleBarsButton", nil, 110, 14, fill_bars, nil, nil, nil, "Create Test Bars") + local fillbars = g:NewButton (window, _, "$parentCreateExampleBarsButton", nil, 110, 14, fill_bars, nil, nil, nil, Loc ["STRING_OPTIONS_TESTBARS"]) fillbars:SetPoint ("bottomleft", window.widget, "bottomleft", 200, 12) --fillbars:InstallCustomTexture() @@ -390,36 +390,41 @@ function _detalhes:OpenOptionsWindow (instance, no_reopen) --_detalhes:SetFontSize (right_click_close.widget, 12) --> left panel buttons - + local menus = { --labels nos menus - {"Display", "Combat", "Tooltips", "Data Feed", "Profiles"}, - {"Skin Selection", "Row Settings", "Row Texts", "Show & Hide Settings", "Window Settings", "Title Text", "Menus: Left Buttons", "Menus: Right Buttons", "Wallpaper", "Miscellaneous"}, - {"Data Collector", "Performance Tweaks", "Plugins Management", "Spell Customization", "Data for Charts"} + {Loc ["STRING_OPTIONSMENU_DISPLAY"], Loc ["STRING_OPTIONSMENU_COMBAT"], Loc ["STRING_OPTIONSMENU_TOOLTIP"], Loc ["STRING_OPTIONSMENU_DATAFEED"], Loc ["STRING_OPTIONSMENU_PROFILES"]}, + + {Loc ["STRING_OPTIONSMENU_SKIN"], Loc ["STRING_OPTIONSMENU_ROWSETTINGS"], Loc ["STRING_OPTIONSMENU_ROWTEXTS"], Loc ["STRING_OPTIONSMENU_SHOWHIDE"], + Loc ["STRING_OPTIONSMENU_WINDOW"], Loc ["STRING_OPTIONSMENU_TITLETEXT"], Loc ["STRING_OPTIONSMENU_LEFTMENU"], Loc ["STRING_OPTIONSMENU_RIGHTMENU"], + Loc ["STRING_OPTIONSMENU_WALLPAPER"], Loc ["STRING_OPTIONSMENU_MISC"]}, + + {Loc ["STRING_OPTIONSMENU_DATACOLLECT"], Loc ["STRING_OPTIONSMENU_PERFORMANCE"], Loc ["STRING_OPTIONSMENU_PLUGINS"], Loc ["STRING_OPTIONSMENU_SPELLS"], + Loc ["STRING_OPTIONSMENU_DATACHART"]} } - local menus2 = { - "Display", --1 - "Combat", --2 - "Skin Selection", --3 - "Row Settings", --4 - "Row Texts", --5 - "Window Settings", --6 - "Menus: Left Buttons", --7 - "Menus: Right Buttons", --8 - "Wallpaper", --9 - "Performance Tweaks",--10 - "Data Collector", --11 - "Plugins Management",--12 - "Profiles", --13 - "Title Text", --14 - "Spell Customization", --15 - "Data for Charts", --16 - "Show & Hide Settings", --17 - "Miscellaneous", --18 - "Data Feed", --19 - "Tooltip", --20 - } - + local menus2 = { + Loc ["STRING_OPTIONSMENU_DISPLAY"], --1 + Loc ["STRING_OPTIONSMENU_COMBAT"], --2 + Loc ["STRING_OPTIONSMENU_SKIN"], --3 + Loc ["STRING_OPTIONSMENU_ROWSETTINGS"], --4 + Loc ["STRING_OPTIONSMENU_ROWTEXTS"], --5 + Loc ["STRING_OPTIONSMENU_WINDOW"], --6 + Loc ["STRING_OPTIONSMENU_LEFTMENU"], --7 + Loc ["STRING_OPTIONSMENU_RIGHTMENU"], --8 + Loc ["STRING_OPTIONSMENU_WALLPAPER"], --9 + Loc ["STRING_OPTIONSMENU_PERFORMANCE"],--10 + Loc ["STRING_OPTIONSMENU_DATACOLLECT"], --11 + Loc ["STRING_OPTIONSMENU_PLUGINS"],--12 + Loc ["STRING_OPTIONSMENU_PROFILES"], --13 + Loc ["STRING_OPTIONSMENU_TITLETEXT"], --14 + Loc ["STRING_OPTIONSMENU_SPELLS"], --15 + Loc ["STRING_OPTIONSMENU_DATACHART"], --16 + Loc ["STRING_OPTIONSMENU_SHOWHIDE"], --17 + Loc ["STRING_OPTIONSMENU_MISC"], --18 + Loc ["STRING_OPTIONSMENU_DATAFEED"], --19 + Loc ["STRING_OPTIONSMENU_TOOLTIP"], --20 + } + local select_options = function (options_type, true_index) window:hide_all_options() @@ -688,7 +693,7 @@ local menus = { --labels nos menus container_slave:SetMovable (true) container_window:SetWidth (663) - container_window:SetHeight (500) + container_window:SetHeight (470) container_window:SetScrollChild (container_slave) container_window:SetPoint ("TOPLEFT", window.widget, "TOPLEFT", 198, -88) @@ -923,10 +928,24 @@ local menus = { --labels nos menus end return f - end + end function window:CreateLineBackground2 (frame, widget_name, label_name, desc_loc, icon, is_button1, is_button2) - + + local label + if (type (label_name) == "table") then + label = label_name + else + label = frame [label_name] + end + if (label:GetObjectType() == "FontString") then + if (label:GetStringWidth() > 200) then + _detalhes:SetFontSize (label, 10) + elseif (label:GetStringWidth() > 150) then + _detalhes:SetFontSize (label, 11) + end + end + if (type (widget_name) == "table") then widget_name.info = desc_loc widget_name.have_tooltip = desc_loc @@ -1457,7 +1476,7 @@ function window:CreateFrame19() --> broker --anchor g:NewLabel (frame19, _, "$parentHotcornerAnchor", "brokerAnchorLabel", Loc ["STRING_OPTIONS_DATABROKER"], "GameFontNormal") - + --broker text do g:NewLabel (frame19, _, "$parentBrokerTextLabel", "brokerTextLabel", Loc ["STRING_OPTIONS_DATABROKER_TEXT"], "GameFontHighlightLeft") @@ -1466,8 +1485,16 @@ function window:CreateFrame19() end local build_menu = function() return { + --raid dps {value = 1, label = Loc ["STRING_OPTIONS_DATABROKER_TEXT1"], onclick = on_select, icon = "Interface\\AddOns\\Details\\images\\atributos_icones", texcoord = {0, 0.125, 0, 1}}, + --raid hps {value = 2, label = Loc ["STRING_OPTIONS_DATABROKER_TEXT2"], onclick = on_select, icon = "Interface\\AddOns\\Details\\images\\atributos_icones", texcoord = {0.125, 0.25, 0, 1}}, + --combat time + {value = 3, label = Loc ["STRING_OPTIONS_DATABROKER_TEXT3"], onclick = on_select, icon = [[Interface\COMMON\mini-hourglass]], texcoord = {0, 1, 0, 1}}, + --player dps + {value = 4, label = Loc ["STRING_OPTIONS_DATABROKER_TEXT4"], onclick = on_select, icon = _detalhes.sub_atributos[1].icones[2][1], texcoord = _detalhes.sub_atributos[1].icones[2][2]}, + --player hps + {value = 5, label = Loc ["STRING_OPTIONS_DATABROKER_TEXT5"], onclick = on_select, icon = _detalhes.sub_atributos[2].icones[2][1], texcoord = _detalhes.sub_atributos[2].icones[2][2]}, } end local dropdown = g:NewDropDown (frame19, _, "$parentBrokerTextDropdown", "brokerTextDropdown", 160, 20, build_menu, _detalhes.minimap.text_type) @@ -3060,8 +3087,8 @@ function window:CreateFrame1() --> Max Segments - local titulo_display = g:NewLabel (frame1, _, "$parentTituloDisplay", "tituloDisplayLabel", "Display", "GameFontNormal", 16) --> localize-me - local titulo_display_desc = g:NewLabel (frame1, _, "$parentTituloDisplay2", "tituloDisplay2Label", "Preferencial adjustments of instances (windows).", "GameFontNormal", 9, "white") --> localize-me + local titulo_display = g:NewLabel (frame1, _, "$parentTituloDisplay", "tituloDisplayLabel", Loc ["STRING_OPTIONSMENU_DISPLAY"], "GameFontNormal", 16) --> localize-me + local titulo_display_desc = g:NewLabel (frame1, _, "$parentTituloDisplay2", "tituloDisplay2Label", Loc ["STRING_OPTIONSMENU_DISPLAY_DESC"], "GameFontNormal", 9, "white") --> localize-me titulo_display_desc.width = 320 g:NewLabel (frame1, _, "$parentSliderLabel", "segmentsLabel", Loc ["STRING_OPTIONS_MAXSEGMENTS"], "GameFontHighlightLeft") @@ -3146,14 +3173,14 @@ function window:CreateFrame1() local icon = [[Interface\COMMON\mini-hourglass]] local iconcolor = {1, 1, 1, .5} local abbreviationOptions = { - {value = 1, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_NONE"], desc = "Example: 305.500 -> 305500", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" - {value = 2, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOK"], desc = "Example: 305.500 -> 305.5K", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" - {value = 3, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOK2"], desc = "Example: 305.500 -> 305K", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" - {value = 4, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOK0"], desc = "Example: 25.305.500 -> 25M", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" - {value = 5, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOKMIN"], desc = "Example: 305.500 -> 305.5k", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" - {value = 6, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOK2MIN"], desc = "Example: 305.500 -> 305k", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" - {value = 7, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOK0MIN"], desc = "Example: 25.305.500 -> 25m", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" - {value = 8, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_COMMA"], desc = "Example: 25305500 -> 25.305.500", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor} --, desc = "" + {value = 1, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_NONE"], desc = Loc ["STRING_EXAMPLE"] .. ": 305.500 -> 305500", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" + {value = 2, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOK"], desc = Loc ["STRING_EXAMPLE"] .. ": 305.500 -> 305.5K", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" + {value = 3, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOK2"], desc = Loc ["STRING_EXAMPLE"] .. ": 305.500 -> 305K", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" + {value = 4, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOK0"], desc = Loc ["STRING_EXAMPLE"] .. ": 25.305.500 -> 25M", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" + {value = 5, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOKMIN"], desc = Loc ["STRING_EXAMPLE"] .. ": 305.500 -> 305.5k", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" + {value = 6, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOK2MIN"], desc = Loc ["STRING_EXAMPLE"] .. ": 305.500 -> 305k", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" + {value = 7, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_TOK0MIN"], desc = Loc ["STRING_EXAMPLE"] .. ": 25.305.500 -> 25m", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor}, --, desc = "" + {value = 8, label = Loc ["STRING_OPTIONS_PS_ABBREVIATE_COMMA"], desc = Loc ["STRING_EXAMPLE"] .. ": 25305500 -> 25.305.500", onclick = onSelectTimeAbbreviation, icon = icon, iconcolor = iconcolor} --, desc = "" } local buildAbbreviationMenu = function() return abbreviationOptions @@ -3223,7 +3250,7 @@ function window:CreateFrame1() local buttons_width = 140 --lock unlock - g:NewButton (frame1, _, "$parentLockButton", "LockButton", buttons_width, 18, _detalhes.lock_instance_function, nil, nil, nil, Loc ["STRING_OPTIONS_WC_LOCK"]) + g:NewButton (frame1, _, "$parentLockButton", "LockButton", buttons_width, 18, _detalhes.lock_instance_function, nil, nil, nil, Loc ["STRING_OPTIONS_WC_LOCK"], 1) frame1.LockButton:InstallCustomTexture() window:CreateLineBackground2 (frame1, "LockButton", "LockButton", Loc ["STRING_OPTIONS_WC_LOCK_DESC"], nil, {1, 0.8, 0}, {1, 1, 1}) @@ -3231,7 +3258,7 @@ function window:CreateFrame1() frame1.LockButton:SetTextColor (1, 1, 1, 1) --break snap - g:NewButton (frame1, _, "$parentBreakSnapButton", "BreakSnapButton", buttons_width, 18, _G.DetailsOptionsWindow.instance.Desagrupar, -1, nil, nil, Loc ["STRING_OPTIONS_WC_UNSNAP"]) + g:NewButton (frame1, _, "$parentBreakSnapButton", "BreakSnapButton", buttons_width, 18, _G.DetailsOptionsWindow.instance.Desagrupar, -1, nil, nil, Loc ["STRING_OPTIONS_WC_UNSNAP"], 1) frame1.BreakSnapButton:InstallCustomTexture() window:CreateLineBackground2 (frame1, "BreakSnapButton", "BreakSnapButton", Loc ["STRING_OPTIONS_WC_UNSNAP_DESC"], nil, {1, 0.8, 0}, {1, 1, 1}) @@ -3239,7 +3266,7 @@ function window:CreateFrame1() frame1.BreakSnapButton:SetTextColor (1, 1, 1, 1) --close - g:NewButton (frame1, _, "$parentCloseButton", "CloseButton", buttons_width, 18, _detalhes.close_instancia_func, _G.DetailsOptionsWindow.instance, nil, nil, Loc ["STRING_OPTIONS_WC_CLOSE"]) + g:NewButton (frame1, _, "$parentCloseButton", "CloseButton", buttons_width, 18, _detalhes.close_instancia_func, _G.DetailsOptionsWindow.instance, nil, nil, Loc ["STRING_OPTIONS_WC_CLOSE"], 1) frame1.CloseButton:InstallCustomTexture() window:CreateLineBackground2 (frame1, "CloseButton", "CloseButton", Loc ["STRING_OPTIONS_WC_CLOSE_DESC"], nil, {1, 0.8, 0}, {1, 1, 1}) @@ -3247,7 +3274,7 @@ function window:CreateFrame1() frame1.CloseButton:SetTextColor (1, 1, 1, 1) --create - g:NewButton (frame1, _, "$parentCreateWindowButton", "CreateWindowButton", buttons_width, 18, function() _detalhes.CriarInstancia (nil, nil, true) end, nil, nil, nil, Loc ["STRING_OPTIONS_WC_CREATE"]) + g:NewButton (frame1, _, "$parentCreateWindowButton", "CreateWindowButton", buttons_width, 18, function() _detalhes.CriarInstancia (nil, nil, true) end, nil, nil, nil, Loc ["STRING_OPTIONS_WC_CREATE"], 1) frame1.CreateWindowButton:InstallCustomTexture() window:CreateLineBackground2 (frame1, "CreateWindowButton", "CreateWindowButton", Loc ["STRING_OPTIONS_WC_CREATE_DESC"], nil, {1, 0.8, 0}, {1, 1, 1}) @@ -4061,7 +4088,7 @@ function window:CreateFrame3() _detalhes:Msg (Loc ["STRING_OPTIONS_SAVELOAD_STDSAVE"]) end - g:NewButton (frame3, _, "$parentToAllStyleButton", "applyToAll", 160, 18, applyToAll, nil, nil, nil, Loc ["STRING_OPTIONS_SAVELOAD_APPLYTOALL"]) + g:NewButton (frame3, _, "$parentToAllStyleButton", "applyToAll", 160, 18, applyToAll, nil, nil, nil, Loc ["STRING_OPTIONS_SAVELOAD_APPLYTOALL"], 1) frame3.applyToAll:InstallCustomTexture() g:NewButton (frame3, _, "$parentMakeDefaultButton", "makeDefault", 160, 18, makeDefault, nil, nil, nil, Loc ["STRING_OPTIONS_SAVELOAD_MAKEDEFAULT"]) frame3.makeDefault:InstallCustomTexture() @@ -6367,10 +6394,7 @@ function window:CreateFrame9() close:SetSize (32, 32) close:SetPoint ("topright", f, "topright", -3, -1) - local okey = CreateFrame ("button", "DetailsLoadWallpaperImageOkey", f, "OptionsButtonTemplate") - okey:SetPoint ("left", editbox.widget, "right", 2, 0) - okey:SetText (Loc ["STRING_OPTIONS_WALLPAPER_LOAD_OKEY"]) - okey:SetScript ("OnClick", function() + local okey_func = function() local text = editbox:GetText() if (text == "") then return @@ -6382,18 +6406,21 @@ function window:CreateFrame9() instance:InstanceWallpaper (path, "all", 0.50, {0, 1, 0, 1}, 256, 256, {1, 1, 1, 1}) _detalhes:OpenOptionsWindow (instance) window:update_wallpaper_info() - end) + end + local okey = g:NewButton (f, _, "$parentOkeyButton", nil, 105, 20, okey_func, nil, nil, nil, Loc ["STRING_OPTIONS_WALLPAPER_LOAD_OKEY"], 1) + okey:SetPoint ("left", editbox.widget, "right", 2, 0) + okey:InstallCustomTexture() - local throubleshoot = CreateFrame ("button", "DetailsLoadWallpaperImageOkey", f, "OptionsButtonTemplate") - throubleshoot:SetPoint ("left", okey, "right", 2, 0) - throubleshoot:SetText (Loc ["STRING_OPTIONS_WALLPAPER_LOAD_TROUBLESHOOT"]) - throubleshoot:SetScript ("OnClick", function() + local throubleshoot_func = function() if (t:GetText() == Loc ["STRING_OPTIONS_WALLPAPER_LOAD_EXCLAMATION"]) then t:SetText (Loc ["STRING_OPTIONS_WALLPAPER_LOAD_TROUBLESHOOT_TEXT"]) else DetailsLoadWallpaperImage.t:SetText (Loc ["STRING_OPTIONS_WALLPAPER_LOAD_EXCLAMATION"]) end - end) + end + local throubleshoot = g:NewButton (f, _, "$parentThroubleshootButton", nil, 105, 20, throubleshoot_func, nil, nil, nil, Loc ["STRING_OPTIONS_WALLPAPER_LOAD_TROUBLESHOOT"], 1) + throubleshoot:SetPoint ("left", okey, "right", 2, 0) + throubleshoot:InstallCustomTexture() end DetailsLoadWallpaperImage.t:SetText (Loc ["STRING_OPTIONS_WALLPAPER_LOAD_EXCLAMATION"]) @@ -7026,6 +7053,12 @@ function window:CreateFrame12() end end + if (pluginObject.OpenOptionsPanel) then + g:NewButton (bframe, nil, "$parentOptionsButton"..i, "OptionsButton"..i, 86, 16, pluginObject.OpenOptionsPanel, nil, nil, nil, Loc ["STRING_OPTIONS_PLUGINS_OPTIONS"]) + bframe ["OptionsButton"..i]:SetPoint ("topleft", frame4, "topleft", 510, y-2) + bframe ["OptionsButton"..i]:InstallCustomTexture() + end + i = i + 1 y = y - 20 end @@ -7097,6 +7130,12 @@ function window:CreateFrame12() end end + if (pluginObject.OpenOptionsPanel) then + g:NewButton (bframe, nil, "$parentOptionsButton"..i, "OptionsButton"..i, 86, 16, pluginObject.OpenOptionsPanel, nil, nil, nil, Loc ["STRING_OPTIONS_PLUGINS_OPTIONS"]) + bframe ["OptionsButton"..i]:SetPoint ("topleft", frame4, "topleft", 510, y-2) + bframe ["OptionsButton"..i]:InstallCustomTexture() + end + i = i + 1 y = y - 20 end diff --git a/locales/Details-enUS.lua b/locales/Details-enUS.lua index 461ad9ed..2286cd7e 100644 --- a/locales/Details-enUS.lua +++ b/locales/Details-enUS.lua @@ -1,9 +1,6 @@ local Loc = LibStub("AceLocale-3.0"):NewLocale ("Details", "enUS", true) if not Loc then return end -Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v1.19.0 - v1.19.1 (|cFFFFCC00Jul 18, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Trash segments won't be saved anymore.\n\n|cFFFFFF00-|r Added support for plugins options. Encounter Details is the first on to receive its panel.\n\n|cFFFFFF00-|r Revamp on Deaths report lines, adding links for harmful spells and changing the text order |cFF999999(thanks @skmzarn-mmochampion forum)|r.\n\n|cFFFFFF00-|r Modified the percentage used on Comparison panel |cFF999999(thanks @Mystery2012-mmochampion forum)|r.\n\n|cFFFFFF00-|r Fixed the Dps/Hps data exported by Data Broker |cFF999999(thanks @Arieth-mmochampion forum)|r.\n\n|cFFFFFF00-|r Details! it's now able to be translated by its community for all supported languages through Curse Forge Web Site:\n\nhttp://wow.curseforge.com/addons/details/localization/.\n\n|cFFFFFF00v1.18.4 - v1.18.5 - v1.18.6 (|cFFFFCC00Jul 13, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added option to customize the bar left text.\n\n|cFFFFFF00-|r Added option for show or hide bar placement number.\n\n|cFFFFFF00-|r Spell icon is shown in the bar when the enemy character is a environment spell type.\n\n|cFFFFFF00-|r Changed the non-player enemy icon (monsters).\n\n|cFFFFFF00-|r Fixed bug on flex performance profile |cFF999999(thanks @skmzarn-mmochampion forum)|r.\n\n|cFFFFFF00-|r Added new version tracker which should alert you when a newer Details! version is found.\n\n|cFFFFFF00-|r Added Enemy Damage Taken by clicking with middle mouse button over a enemy bar (enemies display).\n\n|cFFFFFF00-|r Added import/export for saved skins and custom displays created.\n\n|cFFFFFF00-|r Small changes on ElvUI Frame Style skin (need reaply).\n\n|cFFFFFF00-|r Fixed the death recognition for bosses, now it should show the correct color over segments menu.\n\n|cFFFFFF00-|r Fixed Dps inacuracy when plyaing solo (no party or raid group).\n\n|cFFFFFF00-|r Fixed the duration time of buffs applied before the pull, like pre-potions.\n\n|cFFFFFF00v1.17.5 (|cFFFFCC00Jun 30, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Shortcut panel is now known as Bookmarks and a revamp has done on its panel.\n\n|cFFFFFF00-|r NickTag now doesnt check anymore if a received nickname from other guild member is invalid.\n\n|cFFFFFF00-|r Healthstone now is considered a cooldown.\n\n|cFFFFFF00-|r Few improvements on Default Skin, Minimalistic Skin and ElvUI Frame Style Skin.\n\n|cFFFFFF00-|r Revamp on Image Editor, many bugs solves and now it is usable.\n\n|cFFFFFF00-|r 'Hide' slash command now hides all opened windows; 'Show', open all closed windows and 'New' create a new window.\n\n|cFFFFFF00-|r Added Devotion Aura, Rallying Cry as cooldowns.\n\n|cFFFFFF00-|r Added options for lock, unlock, break snap, close, reopen and create new window.\n\n|cFFFFFF00-|r Added a options panel for HotCorners, access it through options button or slash hotcorner command.\n\n|cFFFFFF00-|r Added 'Logos' and 'Raid & Dungeons' sections for Wallpapers. \n\n|cFFFFFF00-|r Added a option to load a image from the computer to use as wallpaper.\n\n|cFFFFFF00-|r Fixed the percent issue with Healing Done and HPS while in combat.\n\n|cFFFFFF00-|r Fixed non-combat switch by role where changing role wasnt changing the shown attribute.\n\n|cFFFFFF00-|r Fixed 'While in Combat' hiding schema |cFF999999(thanks @skmzarn-mmochampion forum)|r.\n\n|cFFFFFF00-|r Fixed several bugs on Interact Auto Transparency.\n\n|cFFFFFF00-|r Fixed the report window alert when opening the report window and it already is opened |cFF999999(thanks @Rasstapp-mmochampion forum)|r.\n\n|cFFFFFF00-|r Fixed the gap between last row created and the end of the window.\n\n|cFFFFFF00-|r Fixed all tooltips bugs on Wallpaper Section on Options Panel.\n\n|cFFFFFF00a1.17.0 (|cFFFFCC00Jun 21, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Support for Custom Displays has been rewrited, to access the new panel go to Sword Menu -> Custom -> Create New Display.\n\n|cFFFFFF00-|r Added a custom display for show potion usage.\n\n|cFFFFFF00-|r Fixed a bug where the player pet wasnt being tracked after logon in the game. This bug was affecting directly classes with pets playing out of a raid group.\n\n|cFFFFFF00-|r Fixed the report bug on healing, energy and misc attributes |cFF999999(thanks @skmzarn-mmochampion forum)|r.\n\n|cFFFFFF00a1.16.0 - a1.16.1 - a1.16.3b (|cFFFFCC00Jun 14, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed row creation while resizing where sometimes it was broking the last row in the window.\n\n|cFFFFFF00-|r Fixed small involuntary resizes after resizing a window. |cFF999999(thanks @Morimvudu-Nemesis)|r\n\n|cFFFFFF00-|r Fixed frame strata after stretching the window where was setting its strata to Medium.\n\n|cFFFFFF00-|r Fixed Vanguard strata where it wasnt following the strata from its host window.\n\n|cFFFFFF00-|r Mode menu now have a sub menu for raid plugins.\n\n|cFFFFFF00-|r Red and Green colors under comparison frame has been inverted. |cFF999999(thanks @skmzarn-mmochampion forum)|r\n\n|cFFFFFF00-|r Fixed some report issues with dps and hps, also almost all reports now have guide lines. |cFF999999(thanks @sosleapy-mmochampion forum)|r\n\n|cFFFFFF00-|r Pet dispell and interrupt count also for its owner as well. |cFF999999(thanks @skmzarn-mmochampion forum)|r\n\n|cFFFFFF00-|r Few fixes on comparison panel over Player Details Window.\n\n|cFFFFFF00-|r Added option to be able to save the windows size and position within the profile. |cFF999999(thanks @Torchler-mmochampion forum)|r\n\n|cFFFFFF00-|r Added performance profile settings. |cFF999999(thanks @SlippyCheeze-mmochampion forum)|r\n\n|cFFFFFF00-|r Added auto switch based on group roles also a switch for wipe. |cFF999999(thanks @SlippyCheeze-mmochampion forum)|r\n\n|cFFFFFF00-|r Fixed a bug where sometimes all non boss segments was considered boss encounters.\n\n|cFFFFFF00v1.15.4 (|cFFFFCC00Jun 06, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Added a compare tab under Player Details Window:\nThis new tab showns up when there is too characters with the same class and spec.\nIts useful to compare skills used, uptimes and targets.\n\n|cFFFFFF00-|r Few improvements on Default and ElvUI skins.\n\n|cFFFFFF00-|r Added a button for auto align two windows within right chat window when ElvUI skin is active.\n\n|cFFFFFF00-|r Fixed problem with Damage -> Enemies display.\n\n|cFFFFFF00-|r Fixed report Player Detail Window report buttons.\n\n|cFFFFFF00-|r Fixed some report lines where the numbers wasnt properly formatted.\n\n|cFFFFFF00-|r Fixed a rare bug where the owner of some pets wasnt detected.\n\n|cFFFFFF00-|r Fixed issue in dungeons where capture data get paused after a boss kill.\n\n|cFFFFFF00-|r Fixed issue with Encounter Details showing its icon for dungeons bosses.\n\n|cFFFFFF00-|r Fixed a rare bug where the capture of damage stops after erasing a trash segment.\n\n|cFFFFFF00v1.15.0 - v1.15.3 - v1.15.3b (|cFFFFCC00Jun 03, 2014|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Emergencial fix for death logs which sometimes was breaking the addon data capture.\n\n|cFFFFFF00-|r Fixed window alerts which was showing behind the bars.\n\n|cFFFFFF00-|r Fixed death log issue with friendly fire hits.\n\n|cFFFFFF00-|r Fixed a issue where Details! windows wasn't hidden when a pet battle starts.\n\n|cFFFFFF00-|r Fixed a issue with segments menu when a window is placed on the right side of the screen.\n\n|cFFFFFF00-|r Damage -> Enemies now also show neutral creatures.\n\n|cFFFFFF00-|r Added support to dungeons, bosses and trash mobs are now recognized." -Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " --> color and details name - -------------------------------------------------------------------------------------------------------------------------------------------- Loc ["STRING_YES"] = "Yes" @@ -117,7 +114,7 @@ Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " --> color and details name Loc ["STRING_SEGMENT_END"] = "End" Loc ["STRING_SEGMENT_ENEMY"] = "Enemy" Loc ["STRING_SEGMENT_TIME"] = "Time" - Loc ["STRING_SEGMENT_OVERALL"] = "Current Segments Overall" + Loc ["STRING_SEGMENT_OVERALL"] = "Overall Data" Loc ["STRING_TOTAL"] = "Total" Loc ["STRING_OVERALL"] = "Overall" Loc ["STRING_CURRENT"] = "Current" @@ -187,6 +184,18 @@ Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " --> color and details name Loc ["STRING_CUSTOM_EDITCODE_DESC"] = "This is a advanced function where the user can create its own display code." Loc ["STRING_CUSTOM_EDITTOOLTIP_DESC"] = "This is the code which runs after the used hover over a row using this display." + +--> Image Editor + Loc ["STRING_IMAGEEDIT_CROPLEFT"] = "Crop Left" + Loc ["STRING_IMAGEEDIT_CROPRIGHT"] = "Crop Right" + Loc ["STRING_IMAGEEDIT_CROPTOP"] = "Crop Top" + Loc ["STRING_IMAGEEDIT_CROPBOTTOM"] = "Crop Bottom" + + Loc ["STRING_IMAGEEDIT_ALPHA"] = "Transparency" + Loc ["STRING_IMAGEEDIT_COLOR"] = "Color" + Loc ["STRING_IMAGEEDIT_FLIPH"] = "Flip Horizontal" + Loc ["STRING_IMAGEEDIT_FLIPV"] = "Flip Vertical" + Loc ["STRING_IMAGEEDIT_DONE"] = "DONE" --> Switch Window @@ -449,11 +458,33 @@ Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " --> color and details name Loc ["STRING_CCBROKE"] = "Crowd Control Removed" Loc ["STRING_DISPELLED"] = "Buffs/Debuffs Removed" Loc ["STRING_SPELL_INTERRUPTED"] = "Spells interrupted" - - - + -- OPTIONS PANEL ----------------------------------------------------------------------------------------------------------------- + Loc ["STRING_OPTIONSMENU_DISPLAY"] = "Display" + Loc ["STRING_OPTIONSMENU_COMBAT"] = "Combat" + Loc ["STRING_OPTIONSMENU_TOOLTIP"] = "Tooltips" + Loc ["STRING_OPTIONSMENU_DATAFEED"] = "Data Feed" + Loc ["STRING_OPTIONSMENU_PROFILES"] = "Profiles" + Loc ["STRING_OPTIONSMENU_SKIN"] = "Skin Selection" + Loc ["STRING_OPTIONSMENU_ROWSETTINGS"] = "Row Settings" + Loc ["STRING_OPTIONSMENU_ROWTEXTS"] = "Row Texts" + Loc ["STRING_OPTIONSMENU_SHOWHIDE"] = "Show & Hide Settings" + Loc ["STRING_OPTIONSMENU_WINDOW"] = "Window Settings" + Loc ["STRING_OPTIONSMENU_TITLETEXT"] = "Title Text" + Loc ["STRING_OPTIONSMENU_LEFTMENU"] = "Menus: Left Buttons" + Loc ["STRING_OPTIONSMENU_RIGHTMENU"] = "Menus: Right Buttons" + Loc ["STRING_OPTIONSMENU_WALLPAPER"] = "Wallpaper" + Loc ["STRING_OPTIONSMENU_MISC"] = "Miscellaneous" + Loc ["STRING_OPTIONSMENU_DATACOLLECT"] = "Data Collector" + Loc ["STRING_OPTIONSMENU_PERFORMANCE"] = "Performance Tweaks" + Loc ["STRING_OPTIONSMENU_PLUGINS"] = "Plugins Management" + Loc ["STRING_OPTIONSMENU_SPELLS"] = "Spell Customization" + Loc ["STRING_OPTIONSMENU_DATACHART"] = "Data for Charts" + + Loc ["STRING_EXAMPLE"] = "Example" + Loc ["STRING_OPTIONSMENU_DISPLAY_DESC"] = "Overall basic adjustments and quick window control." + Loc ["STRING_MUSIC_DETAILS_ROBERTOCARLOS"] = "There's no use trying to forget\nFor a long time in your life I will live\nDetails as small of us" Loc ["STRING_OPTIONS_COMBATTWEEKS"] = "Combat Tweeks" @@ -526,6 +557,9 @@ Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " --> color and details name Loc ["STRING_OPTIONS_DATABROKER_TEXT_DESC"] = "Select what value is exported for data broker plugins." Loc ["STRING_OPTIONS_DATABROKER_TEXT1"] = "Raid DPS" Loc ["STRING_OPTIONS_DATABROKER_TEXT2"] = "Raid HPS" + Loc ["STRING_OPTIONS_DATABROKER_TEXT3"] = "Combat Time" + Loc ["STRING_OPTIONS_DATABROKER_TEXT4"] = "Player DPS" + Loc ["STRING_OPTIONS_DATABROKER_TEXT5"] = "Player HPS" @@ -568,6 +602,9 @@ Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r " --> color and details name Loc ["STRING_OPTIONS_GENERAL_ANCHOR"] = "General:" + Loc ["STRING_OPTIONS_TESTBARS"] = "Create Test Bars" + Loc ["STRING_OPTIONS_INTERFACEDIT"] = "Interface Edit Mode" + -- options window Display ~1 Loc ["STRING_OPTIONS_AVATAR_ANCHOR"] = "Identity:" diff --git a/locales/Details-ptBR.lua b/locales/Details-ptBR.lua index 3e54e941..41f7758b 100644 --- a/locales/Details-ptBR.lua +++ b/locales/Details-ptBR.lua @@ -2,15 +2,14 @@ local L = LibStub("AceLocale-3.0"):NewLocale("Details", "ptBR") if not L then return end -------------------------------------------------------------------------------------------------------------------------------------------- - L["ABILITY_ID"] = "id da habilidade" L["STRING_"] = "" L["STRING_ABSORBED"] = "Absorvido" -L["STRING_ACTORFRAME_NOTHING"] = "nao ha nada para reportar" +L["STRING_ACTORFRAME_NOTHING"] = "n\195\163o h\195\161 nada para reportar" -- Needs review L["STRING_ACTORFRAME_REPORTAT"] = "em" L["STRING_ACTORFRAME_REPORTOF"] = "de" -L["STRING_ACTORFRAME_REPORTTARGETS"] = "relatorio para os alvos de" -L["STRING_ACTORFRAME_REPORTTO"] = "relatorio para" +L["STRING_ACTORFRAME_REPORTTARGETS"] = "relat\195\179rio para os alvos de" -- Needs review +L["STRING_ACTORFRAME_REPORTTO"] = "relat\195\179rio para" -- Needs review L["STRING_ACTORFRAME_SPELLDETAILS"] = "detalhes da habilidade" L["STRING_ACTORFRAME_SPELLUSED"] = "Todas as habilidades usadas" L["STRING_AGAINST"] = "contra" @@ -37,8 +36,8 @@ L["STRING_ATTRIBUTE_DAMAGE_TAKEN"] = "Dano Recebido" L["STRING_ATTRIBUTE_ENERGY"] = "Energia" L["STRING_ATTRIBUTE_ENERGY_ENERGY"] = "Energia Gerada" L["STRING_ATTRIBUTE_ENERGY_MANA"] = "Mana Restaurada" -L["STRING_ATTRIBUTE_ENERGY_RAGE"] = "e_rage Gerada" -L["STRING_ATTRIBUTE_ENERGY_RUNEPOWER"] = "Power Runico Gerado" +L["STRING_ATTRIBUTE_ENERGY_RAGE"] = "Raiva Gerada" -- Needs review +L["STRING_ATTRIBUTE_ENERGY_RUNEPOWER"] = "Poder R\195\186nico Gerado" -- Needs review L["STRING_ATTRIBUTE_HEAL"] = "Cura" L["STRING_ATTRIBUTE_HEAL_DONE"] = "Cura Feita" L["STRING_ATTRIBUTE_HEAL_ENEMY"] = "Cura no Inimigo" @@ -47,25 +46,25 @@ L["STRING_ATTRIBUTE_HEAL_OVERHEAL"] = "Sobrecura" L["STRING_ATTRIBUTE_HEAL_PREVENT"] = "Dano Prevenido" L["STRING_ATTRIBUTE_HEAL_TAKEN"] = "Cura Recebida" L["STRING_ATTRIBUTE_MISC"] = "Diversos" -- Needs review -L["STRING_ATTRIBUTE_MISC_BUFF_UPTIME"] = "Buff Tempo Ativo" +L["STRING_ATTRIBUTE_MISC_BUFF_UPTIME"] = "Tempo Ativo: Buff" -- Needs review L["STRING_ATTRIBUTE_MISC_CCBREAK"] = "Quebras de CC" L["STRING_ATTRIBUTE_MISC_DEAD"] = "Mortes" -L["STRING_ATTRIBUTE_MISC_DEBUFF_UPTIME"] = "Debuff Tempo Ativo" +L["STRING_ATTRIBUTE_MISC_DEBUFF_UPTIME"] = "Tempo Ativo: Debuff" -- Needs review L["STRING_ATTRIBUTE_MISC_DEFENSIVE_COOLDOWNS"] = "Cooldowns" L["STRING_ATTRIBUTE_MISC_DISPELL"] = "Dissipados" L["STRING_ATTRIBUTE_MISC_INTERRUPT"] = "Interrup\195\167\195\181es" -- Needs review L["STRING_ATTRIBUTE_MISC_RESS"] = "Revividos" L["STRING_AUTO"] = "auto" -L["STRING_AUTOSHOT"] = "Tiro Automatico" +L["STRING_AUTOSHOT"] = "Tiro Autom\195\161tico" -- Needs review L["STRING_BLOCKED"] = "Bloqueado" L["STRING_BOTTOM"] = "baixo" L["STRING_CCBROKE"] = "CC Quebrados" L["STRING_CENTER"] = "centro" L["STRING_CHANGED_TO_CURRENT"] = "Segmento trocado para atual" -L["STRING_CLOSEALL"] = "Todas as janelas do Details estao fechadas, digite '/details new' para reabri-las." +L["STRING_CLOSEALL"] = "Todas as janelas do Details est\195\163o fechadas, digite '/details new' para reabri-las." -- Needs review L["STRING_COMMAND_LIST"] = "lista de comandos" -L["STRING_COOLTIP_NOOPTIONS"] = "Nao ha opcoes" -L["STRING_CRITICAL_HITS"] = "Golpes Criticos" +L["STRING_COOLTIP_NOOPTIONS"] = "N\195\163o h\195\161 op\195\167\195\181es" -- Needs review +L["STRING_CRITICAL_HITS"] = "Golpes Cr\195\173ticos" -- Needs review L["STRING_CURRENT"] = "Atual" L["STRING_CURRENTFIGHT"] = "Luta Atual" L["STRING_CUSTOM_ATTRIBUTE_DAMAGE"] = "Dano" -- Needs review @@ -86,6 +85,7 @@ L["STRING_CUSTOM_EDIT_TOOLTIP_CODE"] = "Editar o Tooltip" -- Needs review L["STRING_CUSTOM_EDITTOOLTIP_DESC"] = "Este c\195\179digo \195\169 executado quando o usu\195\161rio passa o mouse sobre uma barra, o c\195\179digo deve montar o tooltip." -- Needs review L["STRING_CUSTOM_ENEMY_DT"] = "Dano Recebido" -- Needs review L["STRING_CUSTOM_EXPORT"] = "Exportar" -- Needs review +L["STRING_CUSTOM_FUNC_INVALID"] = "O script customizado \195\169 inv\195\161lido e n\195\163o foi poss\195\173vel atualizar a janela." -- Needs review L["STRING_CUSTOM_HEALTHSTONE_DEFAULT"] = "Pedra da Vida Usada" -- Needs review L["STRING_CUSTOM_HEALTHSTONE_DEFAULT_DESC"] = "Mostra quem no seu grupo de raide usou a Pedra da Vida." -- Needs review L["STRING_CUSTOM_ICON"] = "Icone:" -- Needs review @@ -102,7 +102,7 @@ L["STRING_CUSTOM_PASTE"] = "Cole aqui:" -- Needs review L["STRING_CUSTOM_POT_DEFAULT"] = "Po\195\167\195\181es Usadas" -- Needs review L["STRING_CUSTOM_POT_DEFAULT_DESC"] = "Mostra quem na sua raide usou po\195\167\195\181es durante a luta." -- Needs review L["STRING_CUSTOM_REMOVE"] = "Remover" -- Needs review -L["STRING_CUSTOM_REPORT"] = "Relatorio para (custom)" +L["STRING_CUSTOM_REPORT"] = "Relat\195\179rio para (custom)" -- Needs review L["STRING_CUSTOM_SAVE"] = "Salvar Altera\195\167\195\181es" -- Needs review L["STRING_CUSTOM_SAVED"] = "O display foi salvo." -- Needs review L["STRING_CUSTOM_SHORTNAME"] = "O nome precisa ter no m\195\173nimo 5 letras." -- Needs review @@ -124,18 +124,19 @@ L["STRING_DAMAGE_DPS_IN"] = "DPS recebido de" L["STRING_DAMAGE_FROM"] = "Recebeu dano de" L["STRING_DAMAGE_TAKEN_FROM"] = "Dano Recebido Vindo De" L["STRING_DAMAGE_TAKEN_FROM2"] = "aplicou dano com" -L["STRING_DEFENSES"] = "Defensas" +L["STRING_DEFENSES"] = "Defesas" -- Needs review L["STRING_DETACH_DESC"] = "Desagrupar janelas" L["STRING_DISPELLED"] = "Auras Removidas" L["STRING_DODGE"] = "Desvio" L["STRING_DOT"] = " (DoT)" L["STRING_DPS"] = "Dps" L["STRING_EMPTY_SEGMENT"] = "Segmento vazio" -L["STRING_EQUILIZING"] = "Comparilhando dados" +L["STRING_EQUILIZING"] = "Compartilhando dados" -- Needs review L["STRING_ERASE"] = "apagar" L["STRING_ERASE_DATA"] = "Zerar todos os dados" L["STRING_ERASE_DATA_OVERALL"] = "Zerar os dados gerais" L["STRING_ERASE_IN_COMBAT"] = "Agendar limpeza completa ap\195\179s combate." +L["STRING_EXAMPLE"] = "Exemplo" -- Needs review L["STRING_FAIL_ATTACKS"] = "Falhas de Ataque" L["STRING_FIGHTNUMBER"] = "Luta #" L["STRING_FREEZE"] = "Este segmento n\195\163o est\195\161 dispon\195\173vel no momento" @@ -147,49 +148,58 @@ L["STRING_HEAL_ABSORBED"] = "Cura absorvida" L["STRING_HEAL_CRIT"] = "Cura Critica" L["STRING_HEALING_FROM"] = "Cura recebida de" L["STRING_HEALING_HPS_FROM"] = "HPS recebido de" -L["STRING_HELP_ERASE"] = "Apaga todo o historico de lutas." +L["STRING_HELP_ERASE"] = "Apaga todo o hist\195\179rico de lutas." -- Needs review L["STRING_HELP_INSTANCE"] = "Clique: abre uma nova janela.\ \ -Mouse em cima: mostra um menu com todas as janelas fechadas, voce pode reabrilas quando quiser." +Mouse em cima: mostra um menu com todas as janelas fechadas, voc\195\170 pode reabri-las quando quiser." -- Needs review L["STRING_HELP_MENUS"] = "Menu da Engrenagem: altera o modo de jogo.\ -Solo: ferramentas para voce jogar sozinho.\ +Solo: ferramentas para voc\195\170 jogar sozinho.\ Group: mostra apenas os atores que pertencem ao seu grupo de raide.\ All: mostra tudo.\ Raid: ferramentas para auxiliar em grupos de raide.\ \ Menu do Livro: altera o segmento que esta sendo mostrado na janela.\ \ -Menu da Espada: muda o atributo que esta janela esta mostrando." -L["STRING_HELP_MODEALL"] = "Nesta opcao os filtros de grupo estao desativados, o Details! mostra tudo o que foi capturado, incluindo monstros, chefes, adds, entre outros." -L["STRING_HELP_MODEGROUP"] = "Neste modo somendo \195\169 mostrado personagens que estao no seu grupo ou raide." -L["STRING_HELP_MODERAID"] = "O modo raide eh o oposto do modo lobo solitario, aqui voce encontra plugins destinados ao seu grupo em geral." -L["STRING_HELP_MODESELF"] = "Este modo possui plugins destinados apenas ao seu personagem. Voce pode escolher o plugin que deseja usar no menu da espada." -L["STRING_HELP_RESIZE"] = "Botoes de redimencionar e travar a janela." +Menu da Espada: muda o atributo que esta janela esta mostrando." -- Needs review +L["STRING_HELP_MODEALL"] = "Nesta op\195\167\195\163o os filtros de grupo est\195\163o desativados, o Details! mostra tudo o que foi capturado, incluindo monstros, chefes, adds, entre outros." -- Needs review +L["STRING_HELP_MODEGROUP"] = "Neste modo somente \195\169 mostrado personagens que est\195\163o no seu grupo ou raide." -- Needs review +L["STRING_HELP_MODERAID"] = "O modo raide eh o oposto do modo lobo solit\195\161rio, aqui voc\195\170 encontra plugins destinados ao seu grupo em geral." -- Needs review +L["STRING_HELP_MODESELF"] = "Este modo possui plugins destinados apenas ao seu personagem. Voc\195\170 pode escolher o plugin que deseja usar no menu da espada." -- Needs review +L["STRING_HELP_RESIZE"] = "Bot\195\181es de redimensionar e travar a janela." -- Needs review L["STRING_HELP_STATUSBAR"] = "A barra de status armazena 3 plugins: um na esquerda, outro no centro e na direita.\ \ -Botao direito: seleciona outro plugin para mostrar.\ +Bot\195\163o direito: seleciona outro plugin para mostrar.\ \ -Botao esquerdo: mostra as opcoes do plugin." +Botao esquerdo: mostra as op\195\167\195\181es do plugin." -- Needs review L["STRING_HELP_STRETCH"] = "Clique, segure e puxe para esticar a janela." -L["STRING_HELP_SWITCH"] = "Botao direito: mostra o painel de mudanca rapida.\ +L["STRING_HELP_SWITCH"] = "Bot\195\163o direito: mostra o painel de mudan\195\167a r\195\161pida.\ \ -Botao esquerdo em uma opcao do painel de mudanca rapida: muda o atributo que a janela esta mostrando.\ -botao direito: fecha o painel.\ +Bot\195\163o esquerdo em uma op\195\167\195\163o do painel de mudan\195\167a r\195\161pida: muda o atributo que a janela esta mostrando.\ +bot\195\163o direito: fecha o painel.\ \ -Voce pode clicar nos icones para escolher outro atributo." +Voc\195\170 pode clicar nos icones para escolher outro atributo." -- Needs review L["STRING_HITS"] = "Golpes" L["STRING_HPS"] = "Hps" -L["STRING_INSTANCE_LIMIT"] = "o limite de instancias foi atingido, voce pode modificar este limite no painel de opcoes." -L["STRING_INTERFACE_OPENOPTIONS"] = "Abrir Painel de Opcoes" +L["STRING_IMAGEEDIT_ALPHA"] = "Transpar\195\170ncia" -- Needs review +L["STRING_IMAGEEDIT_COLOR"] = "Cor" -- Needs review +L["STRING_IMAGEEDIT_CROPBOTTOM"] = "Cortar Baixo" -- Needs review +L["STRING_IMAGEEDIT_CROPLEFT"] = "Cortar Esquerda" -- Needs review +L["STRING_IMAGEEDIT_CROPRIGHT"] = "Cortar Direita" -- Needs review +L["STRING_IMAGEEDIT_CROPTOP"] = "Cortar Topo" -- Needs review +L["STRING_IMAGEEDIT_DONE"] = "TERMINAR" -- Needs review +L["STRING_IMAGEEDIT_FLIPH"] = "Inverter Horizontal" -- Needs review +L["STRING_IMAGEEDIT_FLIPV"] = "Inverter Vertical" -- Needs review +L["STRING_INSTANCE_LIMIT"] = "o limite de janelas criadas foi atingido, voc\195\170 pode modificar este limite no painel de op\195\167\195\181es." -- Needs review +L["STRING_INTERFACE_OPENOPTIONS"] = "Abrir Painel de Op\195\167\195\181es" -- Needs review L["STRING_ISA_PET"] = "Este Ator e um Ajudante" L["STRING_KILLED"] = "Morto" L["STRING_LAST_COOLDOWN"] = "ultimo cooldown usado" L["STRING_LEFT"] = "esquerda" -L["STRING_LEFT_CLICK_SHARE"] = "Clique para enviar relatorio." +L["STRING_LEFT_CLICK_SHARE"] = "Clique para enviar relat\195\179rio." -- Needs review L["STRING_LOCK_DESC"] = "Travar ou destravar esta janela" L["STRING_LOCK_WINDOW"] = "travar" L["STRING_MASTERY"] = "Maestria" -L["STRING_MAXIMUM"] = "Maximo" +L["STRING_MAXIMUM"] = "M\195\161ximo" -- Needs review L["STRING_MEDIA"] = "Media" L["STRING_MELEE"] = "Corpo-a-Corpo" L["STRING_MENU_CLOSE_INSTANCE"] = "Fechar esta janela" @@ -201,56 +211,56 @@ L["STRING_MINIMAPMENU_REOPEN"] = "Reabrir Janela" L["STRING_MINIMAPMENU_REOPENALL"] = "Reabrir Todas" L["STRING_MINIMAPMENU_RESET"] = "Resetar" L["STRING_MINIMAPMENU_UNLOCK"] = "Destravar" -L["STRING_MINIMAP_TOOLTIP1"] = "|cFFCFCFCFbotao esquerdo|r: abrir o painel de opcoes" -L["STRING_MINIMAP_TOOLTIP11"] = "|cFFCFCFCFbotao esquerdo|r: Limpe todos os segmentos." -L["STRING_MINIMAP_TOOLTIP2"] = "|cFFCFCFCFbotao direito|r: menu rapido" -L["STRING_MINIMUM"] = "Minimo" -L["STRING_MINITUTORIAL_1"] = "Botao de Instancias:\ +L["STRING_MINIMAP_TOOLTIP1"] = "|cFFCFCFCFbot\195\163o esquerdo|r: abrir o painel de op\195\167\195\181es" -- Needs review +L["STRING_MINIMAP_TOOLTIP11"] = "|cFFCFCFCFbot\195\163o esquerdo|r: Limpe todos os segmentos." -- Needs review +L["STRING_MINIMAP_TOOLTIP2"] = "|cFFCFCFCFbot\195\163o direito|r: menu r\195\161pido" -- Needs review +L["STRING_MINIMUM"] = "M\195\173nimo" -- Needs review +L["STRING_MINITUTORIAL_1"] = "Bot\195\163o de Janelas:\ \ Clique para abrir uma nova janela do Details!.\ \ -Passe o mouse sobre o botao para reabrir janelas fechadas." -L["STRING_MINITUTORIAL_2"] = "Botao de Esticar:\ +Passe o mouse sobre o bot\195\163o para reabrir janelas fechadas." -- Needs review +L["STRING_MINITUTORIAL_2"] = "Bot\195\163o de Esticar:\ \ Clique, segure e puxe para esticar a janela.\ \ -Solte o botao para a janela retornar ao tamanho normal." -L["STRING_MINITUTORIAL_3"] = "Redimencionar e Trancar:\ +Solte o botao para a janela retornar ao tamanho normal." -- Needs review +L["STRING_MINITUTORIAL_3"] = "Redimensionar e Trancar:\ \ -Use este botao para mudar o tamanho da janela.\ +Use este bot\195\163o para mudar o tamanho da janela.\ \ -Trancando ela, impede que a janela seja movida." +Trancando ela, impede que a janela seja movida." -- Needs review L["STRING_MINITUTORIAL_4"] = "Painel de Atalhos:\ \ -Clicando com o botao direito sobre uma barra ou no fundo da janela, o painel de atalho eh mostrado." +Clicando com o bot\195\163o direito sobre uma barra ou no fundo da janela, o painel de atalho eh mostrado." -- Needs review L["STRING_MINITUTORIAL_5"] = "Micro Displays:\ \ -Mostram informacoes importantes a voce.\ +Mostram informa\195\167\195\181es importantes a voc\195\170.\ \ -Botao esquerdo para configura-las.\ +Bot\195\163o esquerdo para configura-las.\ \ -Botao direito para escolhar outra informacao." +Bot\195\163o direito para escolher outra informa\195\167\195\163o." -- Needs review L["STRING_MINITUTORIAL_6"] = "Juntar Janelas:\ \ -Mova uma janela proxima a outra para junta-las.\ +Mova uma janela pr\195\179xima a outra para junta-las.\ \ -Sempre junte janelas com o numero anterior, exemplo: #5 junta com a #4, #2 junta com a #1, etc." +Sempre junte janelas com o n\195\186mero anterior, exemplo: #5 junta com a #4, #2 junta com a #1, etc." -- Needs review L["STRING_MISS"] = "Errou" L["STRING_MODE_ALL"] = "Mostrar Tudo" L["STRING_MODE_GROUP"] = "Grupo & Raide" L["STRING_MODE_PLUGINS"] = "plugins" -L["STRING_MODE_RAID"] = "Acessorios" -L["STRING_MODE_SELF"] = "Lobo Solitario" +L["STRING_MODE_RAID"] = "Plugins: Raide" -- Needs review +L["STRING_MODE_SELF"] = "Plugins: Individual" -- Needs review L["STRING_MORE_INFO"] = "Veja a caixa da direita para mais informa\195\167\195\181es." -L["STRING_MUSIC_DETAILS_ROBERTOCARLOS"] = "Nao adianta nem tentar me esquecer\ +L["STRING_MUSIC_DETAILS_ROBERTOCARLOS"] = "N\195\163o adianta nem tentar me esquecer\ Durante muito tempo em sua vida eu vou viver\ - Detalhes tao pequenos de nos dois" +Detalhes t\195\163o pequenos de nos dois" -- Needs review L["STRING_NEWROW"] = "esperando atualizar..." -L["STRING_NEWS_REINSTALL"] = "Encontrou problemas apos atualizar? tente o comando '/details reinstall'." -L["STRING_NEWS_TITLE"] = "Quais As Novidades Desta Versao" -L["STRING_NO"] = "Nao" -L["STRING_NOCLOSED_INSTANCES"] = "Nao ha instancias fechadas,\ -clique para abrir uma nova." +L["STRING_NEWS_REINSTALL"] = "Encontrou problemas ap\195\179s atualizar? tente o comando '/details reinstall'." -- Needs review +L["STRING_NEWS_TITLE"] = "Quais As Novidades Desta Vers\195\163o" -- Needs review +L["STRING_NO"] = "N\195\163o" -- Needs review +L["STRING_NOCLOSED_INSTANCES"] = "N\195\163o h\195\161 janelas fechadas,\ +clique para abrir uma nova." -- Needs review L["STRING_NO_DATA"] = "data j\195\161 foi limpada" L["STRING_NOLAST_COOLDOWN"] = "nenhum cooldown usado" L["STRING_NORMAL_HITS"] = "Golpes Normais" @@ -261,25 +271,25 @@ L["STRING_OPTIONS_ADVANCED"] = "Avan\195\167ado" L["STRING_OPTIONS_ALPHAMOD_ANCHOR"] = " (|cFFFFC000tempor\195\161rio|r)" -- Needs review L["STRING_OPTIONS_ANCHOR"] = "Lado" L["STRING_OPTIONS_ANIMATEBARS"] = "Animar as Barras" -L["STRING_OPTIONS_ANIMATEBARS_DESC"] = "Quando ativa as barras das janelas sao animadas ao inves de 'pularem'." +L["STRING_OPTIONS_ANIMATEBARS_DESC"] = "Quando ativa as barras das janelas s\195\163o animadas ao inv\195\169s de 'pularem'." -- Needs review L["STRING_OPTIONS_ANIMATESCROLL"] = "Animar Barra de Rolagem" -L["STRING_OPTIONS_ANIMATESCROLL_DESC"] = "Quanto ativa, a barra de rolagem faz uma animacao ao ser mostrada e escondida." -L["STRING_OPTIONS_APPEARANCE"] = "Aparencia" +L["STRING_OPTIONS_ANIMATESCROLL_DESC"] = "Quanto ativa, a barra de rolagem faz uma anima\195\167\195\163o ao ser mostrada e escondida." -- Needs review +L["STRING_OPTIONS_APPEARANCE"] = "Apar\195\170ncia" -- Needs review L["STRING_OPTIONS_ATTRIBUTE_TEXT"] = "Configura\195\167\195\181es de T\195\173tulos" L["STRING_OPTIONS_ATTRIBUTE_TEXT_DESC"] = "Essas op\195\167\195\181es controlam as configura\195\167\195\181es dos t\195\173tulos de uma janela." -L["STRING_OPTIONS_AUTO_SWITCH"] = "Troca Automatica" +L["STRING_OPTIONS_AUTO_SWITCH"] = "Troca Autom\195\161tica" -- Needs review L["STRING_OPTIONS_AUTO_SWITCH_COMBAT"] = "|cFFFFAA00(em combate)|r" L["STRING_OPTIONS_AUTO_SWITCH_DAMAGER_DESC"] = "Quando estiver com especializa\195\167\195\163o de dano, esta janela mostra o atributo ou plugin escolhido." -- Needs review -L["STRING_OPTIONS_AUTO_SWITCH_DESC"] = "Quando voce entra em combate, esta janela mudara o atributo mostrado para outro atributo ou plugin.\ +L["STRING_OPTIONS_AUTO_SWITCH_DESC"] = "Quando voc\195\170 entra em combate, esta janela mudara o atributo mostrado para outro atributo ou plugin.\ \ -Saindo do combate o atributo antigo volta a ser mostrado." +Saindo do combate o atributo antigo volta a ser mostrado." -- Needs review L["STRING_OPTIONS_AUTO_SWITCH_HEALER_DESC"] = "Quando estiver com especializa\195\167\195\163o de cura, esta janela mostra o atributo ou plugin escolhido." -- Needs review L["STRING_OPTIONS_AUTO_SWITCH_TANK_DESC"] = "Quando estiver com especializa\195\167\195\163o de tanque, esta janela mostra o atributo ou plugin escolhido." -- Needs review L["STRING_OPTIONS_AUTO_SWITCH_WIPE"] = "Depois de derrota em encontro" L["STRING_OPTIONS_AUTO_SWITCH_WIPE_DESC"] = "Depois de uma tentativa fracassada de derrotar um chefe inimigo num combate de raid, esta janela automaticamente mostrar\195\161 isso." L["STRING_OPTIONS_AVATAR"] = "Escolha o Seu Avatar" L["STRING_OPTIONS_AVATAR_ANCHOR"] = "Identidade:" -L["STRING_OPTIONS_AVATAR_DESC"] = "O avatar tambem eh enviado aos membros da guilda, ele eh mostrado sobre o tooltip quando passa o mouse sobre uma barra." +L["STRING_OPTIONS_AVATAR_DESC"] = "O avatar tamb\195\169m \195\169 enviado aos membros da guilda, ele eh mostrado sobre o tooltip quando passa o mouse sobre uma barra." -- Needs review L["STRING_OPTIONS_BAR_BACKDROP_ANCHOR"] = "Borda:" L["STRING_OPTIONS_BAR_BACKDROP_COLOR"] = "Cor" L["STRING_OPTIONS_BAR_BACKDROP_COLOR_DESC"] = "Muda a cor da borda." @@ -290,9 +300,9 @@ L["STRING_OPTIONS_BAR_BACKDROP_SIZE_DESC"] = "Aumenta ou diminui o tamanho da bo L["STRING_OPTIONS_BAR_BACKDROP_TEXTURE"] = "Textura" L["STRING_OPTIONS_BAR_BACKDROP_TEXTURE_DESC"] = "Muda a apar\195\170ncia da borda." L["STRING_OPTIONS_BAR_BCOLOR"] = "Cor da Textura de Fundo" -L["STRING_OPTIONS_BAR_BCOLOR_DESC"] = "Escolha a cor que a textura do fundo da barra tera, no painel, ha um controle de transparencia, nao esqueca de alterar." +L["STRING_OPTIONS_BAR_BCOLOR_DESC"] = "Escolha a cor que a textura do fundo da barra ter\195\161, no painel, h\195\161 um controle de transpar\195\170ncia, n\195\163o esque\195\167a de alterar." -- Needs review L["STRING_OPTIONS_BAR_BTEXTURE"] = "Textura de Fundo" -L["STRING_OPTIONS_BAR_BTEXTURE_DESC"] = "Altere a textura do fundo da barra, lembre-se de alterar a cor da textura e diminuir sua transparencia." +L["STRING_OPTIONS_BAR_BTEXTURE_DESC"] = "Altere a textura do fundo da barra, lembre-se de alterar a cor da textura e diminuir sua transpar\195\170ncia." -- Needs review L["STRING_OPTIONS_BAR_COLORBYCLASS"] = "Cor da Classe" L["STRING_OPTIONS_BAR_COLORBYCLASS2"] = "Cor da Classe (fundo)" L["STRING_OPTIONS_BAR_COLORBYCLASS2_DESC"] = "Quando ativada, as barras aplicam a cor da classe do personagem na textura de fundo.\ @@ -303,8 +313,8 @@ L["STRING_OPTIONS_BAR_COLORBYCLASS_DESC"] = "Quando ativada, as barras aplicam a Quando desligado, a barra ira utilizar a cor fixa determinada na caixa a direita." L["STRING_OPTIONS_BAR_COLOR_DESC"] = "Escolha a cor da textura.\ Essa cor ser\195\161 ignorada quando a op\195\167\195\163o Usar cor da Classe estiver ativo." -L["STRING_OPTIONS_BARGROW_DIRECTION"] = "Direcao de Crescimento" -L["STRING_OPTIONS_BARGROW_DIRECTION_DESC"] = "Altera a posicao em que as barras comecam a serem mostradas, de cima da janela para baixo ou de baixo da janela para cima." +L["STRING_OPTIONS_BARGROW_DIRECTION"] = "Dire\195\167\195\163o de Crescimento" -- Needs review +L["STRING_OPTIONS_BARGROW_DIRECTION_DESC"] = "Altera a posi\195\167\195\163o em que as barras come\195\167am a serem mostradas, de cima da janela para baixo ou de baixo da janela para cima." -- Needs review L["STRING_OPTIONS_BAR_HEIGHT"] = "Altura" L["STRING_OPTIONS_BAR_HEIGHT_DESC"] = "Altera a altura das barras." L["STRING_OPTIONS_BAR_ICONFILE"] = "Arquivo de \195\173cone" @@ -316,7 +326,7 @@ H\195\161 tr\195\170s arquivos de \195\173cones que vem junto ao instalar o addo - |cFFFFFF00classes_small|r\ - |cFFFFFF00classes_small_alpha|r" L["STRING_OPTIONS_BARLEFTTEXTCUSTOM"] = "Texto Customizado Ativado" -- Needs review -L["STRING_OPTIONS_BARLEFTTEXTCUSTOM2"] = "no used" -- Needs review +L["STRING_OPTIONS_BARLEFTTEXTCUSTOM2"] = "n\195\163o usou" -- Needs review L["STRING_OPTIONS_BARLEFTTEXTCUSTOM2_DESC"] = "|cFFFFFF00{data1}|r: simboliza o n\195\186mero da coloca\195\167\195\163o do jogador.\ \ |cFFFFFF00{data2}|r: simboliza o nome do jogador.\ @@ -333,7 +343,7 @@ L["STRING_OPTIONS_BARRIGHTTEXTCUSTOM"] = "Texto personalizado habilitado" L["STRING_OPTIONS_BARRIGHTTEXTCUSTOM2"] = "" L["STRING_OPTIONS_BARRIGHTTEXTCUSTOM2_DESC"] = "|cFFFFFF00{data1}|r: \195\169 o primeiro numero passado, geralmente esse numero representa o total feito.\ \ -|cFFFFFF00{data2}|r: \195\169 o segundo n\195\186mero passado, na maiora das vezes representa a m\195\169dia por segundos.\ +|cFFFFFF00{data2}|r: \195\169 o segundo n\195\186mero passado, na maioria das vezes representa a m\195\169dia por segundos.\ \ |cFFFFFF00{data3}|r: terceiro n\195\186mero passado, normalmente \195\169 a porcentagem. \ \ @@ -341,18 +351,18 @@ L["STRING_OPTIONS_BARRIGHTTEXTCUSTOM2_DESC"] = "|cFFFFFF00{data1}|r: \195\169 o Example: \ {func return 'hello azeroth'}\ \ -|cFFFFFF00Chaves de Edi\195\167\195\163o de Texto|r: use para mudar a cor ou adicionar texturas. Busque por 'UI escape sequences' para mais informa\195\167\195\181es." +|cFFFFFF00Chaves de Edi\195\167\195\163o de Texto|r: use para mudar a cor ou adicionar texturas. Busque por 'UI escape sequences' para mais informa\195\167\195\181es." -- Needs review L["STRING_OPTIONS_BARRIGHTTEXTCUSTOM_DESC"] = "Quando habilitado, o texto a direita \195\169 formatado seguindo as regras na caixa." -L["STRING_OPTIONS_BARS"] = "Configuracoes das Barras" -L["STRING_OPTIONS_BARS_DESC"] = "Estas opcoes controlam a aparencia das barra da janela." +L["STRING_OPTIONS_BARS"] = "Configura\195\167\195\181es das Barras" -- Needs review +L["STRING_OPTIONS_BARS_DESC"] = "Estas op\195\167\195\181es controlam a apar\195\170ncia das barra da janela." -- Needs review L["STRING_OPTIONS_BARSORT_DIRECTION"] = "Ordem das Barras" -L["STRING_OPTIONS_BARSORT_DIRECTION_DESC"] = "Altera como as barras sao preenchidas, crescente ou decrescente, mas ainda mostrando sempre os primeiros colocados." +L["STRING_OPTIONS_BARSORT_DIRECTION_DESC"] = "Altera como as barras s\195\163o preenchidas, crescente ou decrescente, mas ainda mostrando sempre os primeiros colocados." -- Needs review L["STRING_OPTIONS_BAR_SPACING"] = "Espa\195\167amento" L["STRING_OPTIONS_BAR_SPACING_DESC"] = "Aumenta ou diminui a dimens\195\163o de tamanho entre cada linha." L["STRING_OPTIONS_BARSTART"] = "Barra inicia depois do \195\173cone" L["STRING_OPTIONS_BARSTART_DESC"] = "Quando desabilitado, a textura superior inicia no \195\173cone do lado esquerdo ao inv\195\169s do direito (\195\186til para \195\173cones transparentes)." L["STRING_OPTIONS_BAR_TEXTURE"] = "Textura" -L["STRING_OPTIONS_BAR_TEXTURE_DESC"] = "Esta opcao altera a textura superior das barras." +L["STRING_OPTIONS_BAR_TEXTURE_DESC"] = "Esta op\195\167\195\163o altera a textura superior das barras." -- Needs review L["STRING_OPTIONS_CAURAS"] = "Coletar Auras" L["STRING_OPTIONS_CAURAS_DESC"] = "Ativa a Captura de:\ \ @@ -373,15 +383,15 @@ L["STRING_OPTIONS_CENERGY_DESC"] = "Ativa a Captura de:\ - |cFFFFFFFFMana Restaurada|r\ - |cFFFFFFFFRaiva Gerada|r\ - |cFFFFFFFFEnergia Gerada|r\ -- |cFFFFFFFFPoder Runico Gerado|r" +- |cFFFFFFFFPoder R\195\186nico Gerado|r" -- Needs review L["STRING_OPTIONS_CHART_ADD"] = "Adicionar Data" -- Needs review L["STRING_OPTIONS_CHART_ADD2"] = "Adicionar" -- Needs review -L["STRING_OPTIONS_CHART_ADDAUTHOR"] = "Author:" -- Needs review +L["STRING_OPTIONS_CHART_ADDAUTHOR"] = "Autor:" -- Needs review L["STRING_OPTIONS_CHART_ADDCODE"] = "C\195\179digo:" -- Needs review L["STRING_OPTIONS_CHART_ADDICON"] = "\195\141cone:" -- Needs review L["STRING_OPTIONS_CHART_ADDNAME"] = "Nome:" -- Needs review L["STRING_OPTIONS_CHART_ADDVERSION"] = "Vers\195\163o:" -- Needs review -L["STRING_OPTIONS_CHART_AUTHOR"] = "Author" -- Needs review +L["STRING_OPTIONS_CHART_AUTHOR"] = "Autor" -- Needs review L["STRING_OPTIONS_CHART_AUTHORERROR"] = "O nome do autor \195\169 inv\195\161lido" -- Needs review L["STRING_OPTIONS_CHART_CANCEL"] = "Cancelar" -- Needs review L["STRING_OPTIONS_CHART_CLOSE"] = "Fechar" -- Needs review @@ -404,31 +414,31 @@ L["STRING_OPTIONS_CHEAL"] = "Coletar Cura" L["STRING_OPTIONS_CHEAL_DESC"] = "Ativa a Captura de:\ \ - |cFFFFFFFFCura Feita|r\ -- |cFFFFFFFFAbsorcoes|r\ +- |cFFFFFFFFAbsor\195\167\195\181es|r\ - |cFFFFFFFFCura Por Segundo|r\ - |cFFFFFFFFSobre Cura|r\ - |cFFFFFFFFCura Recebida|r\ - |cFFFFFFFFCura Inimiga|r\ -- |cFFFFFFFFDano Prevenido|r" +- |cFFFFFFFFDano Prevenido|r" -- Needs review L["STRING_OPTIONS_CLEANUP"] = "Apagar Segmentos de Limpeza" -L["STRING_OPTIONS_CLEANUP_DESC"] = "Segmentos com 'trash mobs' sao considerados segmentos de limpeza.\ +L["STRING_OPTIONS_CLEANUP_DESC"] = "Segmentos com 'trash mobs' s\195\163o considerados segmentos de limpeza.\ \ -Esta opcao ativa a remocao automatica destes segmetnso quando possivel." +Esta op\195\167\195\163o ativa a remo\195\167\195\163o autom\195\161tica destes segmentos quando poss\195\173vel." -- Needs review L["STRING_OPTIONS_CLOSE_BUTTON_ANCHOR"] = "Bot\195\163o Fechar:" L["STRING_OPTIONS_CLOSE_OVERLAY"] = "Sobreposi\195\167\195\163o de cor" L["STRING_OPTIONS_CLOSE_OVERLAY_DESC"] = "Muda o bot\195\163o fechar da sobreposi\195\167\195\163o de cor." -L["STRING_OPTIONS_CLOUD"] = "Captura Atraves de Nuvem" -L["STRING_OPTIONS_CLOUD_DESC"] = "Quando ativado, as informacoes de capturas deligadas eh buscada em outros membros da raide." -L["STRING_OPTIONS_CMISC"] = "Coletar Misc" +L["STRING_OPTIONS_CLOUD"] = "Captura Atrav\195\169s de Nuvem" -- Needs review +L["STRING_OPTIONS_CLOUD_DESC"] = "Quando ativado, as informa\195\167\195\181es de capturas desligadas eh buscada em outros membros da raide." -- Needs review +L["STRING_OPTIONS_CMISC"] = "Coletar Diversos" -- Needs review L["STRING_OPTIONS_CMISC_DESC"] = "Ativa a Captura de:\ \ - |cFFFFFFFFQuebra de CC|r\ -- |cFFFFFFFFDissipacoes|r\ -- |cFFFFFFFFInterrupcoes|r\ -- |cFFFFFFFFRess|r\ -- |cFFFFFFFFMortes|r" +- |cFFFFFFFFDissipa\195\167\195\181es|r\ +- |cFFFFFFFFInterrup\195\167\195\181es|r\ +- |cFFFFFFFFRevividos|r\ +- |cFFFFFFFFMortes|r" -- Needs review L["STRING_OPTIONS_COLOR"] = "Cor" -L["STRING_OPTIONS_COLORANDALPHA"] = "Cor & Traspar\195\170ncia" +L["STRING_OPTIONS_COLORANDALPHA"] = "Cor & Transpar\195\170ncia" -- Needs review L["STRING_OPTIONS_COLORFIXED"] = "Cor Fixada" L["STRING_OPTIONS_COMBAT_ALPHA"] = "Modificar tipo" L["STRING_OPTIONS_COMBAT_ALPHA_1"] = "Sem modifica\195\167\195\181es" @@ -443,33 +453,36 @@ L["STRING_OPTIONS_COMBAT_ALPHA_DESC"] = "Seleciona a forma como o combate afeta \ |cFFFFFF00Quando fora de combate|r: O alpha \195\169 aplicado sempre que seu personagem n\195\163o estiver em combate.\ \ -|cFFFFFF00Quando fora de um grupo|r: Quando voc\195\170 n\195\163o estiver num grupo ou numa raid, a instancia assume o alfa selecionado.\ +|cFFFFFF00Quando fora de um grupo|r: Quando voc\195\170 n\195\163o estiver num grupo ou numa raid, a janela assume o alfa selecionado.\ \ -|cFFFFFF00Important|r: Essa op\195\167\195\163o sobrescrece o alfa determinado pela op\195\167\195\163o de Auto Transpar\195\170ncia." +|cFFFFFF00Important|r: Essa op\195\167\195\163o sobrescreve o alfa determinado pela op\195\167\195\163o de Auto Transpar\195\170ncia." -- Needs review L["STRING_OPTIONS_COMBATTWEEKS"] = "Ajustes de Combate" L["STRING_OPTIONS_COMBATTWEEKS_DESC"] = "Ajustes comportamentais de como Details! lida com alguns aspectos de combate." L["STRING_OPTIONS_CUSTOMSPELL_ADD"] = "Adicionar feiti\195\167o" L["STRING_OPTIONS_CUSTOMSPELLTITLE"] = "Configura\195\167\195\181es de edi\195\167\195\163o de feiti\195\167o" -L["STRING_OPTIONS_CUSTOMSPELLTITLE_DESC"] = "Esse painel permite voc\195\170 modificar o nome e o \195\173cone de feiti\195\167ps." +L["STRING_OPTIONS_CUSTOMSPELLTITLE_DESC"] = "Esse painel permite voc\195\170 modificar o nome e o \195\173cone de feiti\195\167os." -- Needs review L["STRING_OPTIONS_DATABROKER"] = "Exportar dados:" L["STRING_OPTIONS_DATABROKER_TEXT"] = "Texto" -L["STRING_OPTIONS_DATABROKER_TEXT1"] = "Raid DPS" -L["STRING_OPTIONS_DATABROKER_TEXT2"] = "Raid HPS" +L["STRING_OPTIONS_DATABROKER_TEXT1"] = "DPS da Raide" -- Needs review +L["STRING_OPTIONS_DATABROKER_TEXT2"] = "HPS da Raide" -- Needs review +L["STRING_OPTIONS_DATABROKER_TEXT3"] = "Tempo do Combate" -- Needs review +L["STRING_OPTIONS_DATABROKER_TEXT4"] = "DPS do Jogador" -- Needs review +L["STRING_OPTIONS_DATABROKER_TEXT5"] = "HPS do Jogador" -- Needs review L["STRING_OPTIONS_DATABROKER_TEXT_DESC"] = "Selecione qual valor \195\169 exportado." L["STRING_OPTIONS_DATACHARTTITLE"] = "Criar dados cronometrados para tabelas" L["STRING_OPTIONS_DATACHARTTITLE_DESC"] = "Esse painel permite que voc\195\170 crie capturas de dados customizados para cria\195\167\195\163o de tabelas." L["STRING_OPTIONS_DATACOLLECT_ANCHOR"] = "Tipos de dados:" -L["STRING_OPTIONS_DESATURATE_MENU"] = "Menu de Desatura\195\167\195\163o" +L["STRING_OPTIONS_DESATURATE_MENU"] = "Menu de Dessatura\195\167\195\163o" -- Needs review L["STRING_OPTIONS_DESATURATE_MENU_DESC"] = "Habilitando essa op\195\167\195\163o far\195\161 com que os \195\173cones do menu da barra de ferramentas se tornem brancos e pretos." L["STRING_OPTIONS_EDITIMAGE"] = "Editar Imagem" -L["STRING_OPTIONS_EDITINSTANCE"] = "Editando a Instancia:" +L["STRING_OPTIONS_EDITINSTANCE"] = "Editando a Janela:" -- Needs review L["STRING_OPTIONS_ERASECHARTDATA"] = "Apagar Gr\195\161ficos" -- Needs review L["STRING_OPTIONS_ERASECHARTDATA_DESC"] = "Quando deslogar do jogo, as informa\195\167\195\181es guardadas para gerar gr\195\161ficos s\195\163o apagadas." -- Needs review L["STRING_OPTIONS_EXTERNALS_TITLE"] = "Widgets Externos" L["STRING_OPTIONS_EXTERNALS_TITLE2"] = "Esta op\195\167\195\163o controla o comportamento de v\195\161rios widgets externos." -L["STRING_OPTIONS_GENERAL"] = "Configuracoes Gerais" +L["STRING_OPTIONS_GENERAL"] = "Configura\195\167\195\181es Gerais" -- Needs review L["STRING_OPTIONS_GENERAL_ANCHOR"] = "Geral:" -L["STRING_OPTIONS_HIDECOMBATALPHA"] = "Transparencia" +L["STRING_OPTIONS_HIDECOMBATALPHA"] = "Transpar\195\170ncia" -- Needs review L["STRING_OPTIONS_HIDECOMBATALPHA_DESC"] = "A janela pode ser completamente escondida ou apenas ficar mais transparente." L["STRING_OPTIONS_HIDE_ICON"] = "Esconder \195\173cone" L["STRING_OPTIONS_HIDE_ICON_DESC"] = "Quando habilitado, o \195\173cone no canto superior esquerdo n\195\163o ser\195\161 exibido.\ @@ -483,26 +496,26 @@ L["STRING_OPTIONS_HOTCORNER_DESC"] = "Exibe ou oculta o bot\195\163o sobre o pai L["STRING_OPTIONS_HOTCORNER_QUICK_CLICK"] = "Habilitar clique r\195\161pido" L["STRING_OPTIONS_HOTCORNER_QUICK_CLICK_DESC"] = "Habilita ou desabilita a op\195\167\195\163o clique r\195\161pido para os Hotcorners.\ \ -O bot\195\163o r\195\161pido est\195\161 localizado no cantu superior esquerdo do pixel, movendo seu mouse por toda essa \195\161rea, ativa o hot corner superior esquerdo e quando clicado, uma a\195\167\195\163o \195\169 executada." +O bot\195\163o r\195\161pido est\195\161 localizado no canto superior esquerdo do pixel, movendo seu mouse por toda essa \195\161rea, ativa o hot corner superior esquerdo e quando clicado, uma a\195\167\195\163o \195\169 executada." -- Needs review L["STRING_OPTIONS_HOTCORNER_QUICK_CLICK_FUNC"] = "Clique r\195\161pido no clique" L["STRING_OPTIONS_HOTCORNER_QUICK_CLICK_FUNC_DESC"] = "Seleciona o que fazer quando o bot\195\163o de clique r\195\161pido do Hotcorner \195\169 acionado." -L["STRING_OPTIONS_INSBUTTON_X"] = "Bot\195\163o de Inst\195\162ncia Button X" -L["STRING_OPTIONS_INSBUTTON_X_DESC"] = "Muda o bot\195\163o de inst\195\162ncia de posi\195\167\195\163o." -L["STRING_OPTIONS_INSBUTTON_Y"] = "Bot\195\163o de Inst\195\162ncia Button Y" -L["STRING_OPTIONS_INSBUTTON_Y_DESC"] = "Muda o bot\195\163o de inst\195\162ncia de posi\195\167\195\163o." -L["STRING_OPTIONS_INSTANCE_ALPHA"] = "Transparencia do Fundo" +L["STRING_OPTIONS_INSBUTTON_X"] = "Bot\195\163o de Janela X" -- Needs review +L["STRING_OPTIONS_INSBUTTON_X_DESC"] = "Muda o bot\195\163o de janela de posi\195\167\195\163o." -- Needs review +L["STRING_OPTIONS_INSBUTTON_Y"] = "Bot\195\163o de Janela Y" -- Needs review +L["STRING_OPTIONS_INSBUTTON_Y_DESC"] = "Muda o bot\195\163o de janela de posi\195\167\195\163o." -- Needs review +L["STRING_OPTIONS_INSTANCE_ALPHA"] = "Transpar\195\170ncia do Fundo" -- Needs review L["STRING_OPTIONS_INSTANCE_ALPHA2"] = "Cor de Fundo" L["STRING_OPTIONS_INSTANCE_ALPHA2_DESC"] = "Seleciona a cor do fundo da janela." -L["STRING_OPTIONS_INSTANCE_ALPHA_DESC"] = "Esta opcao altera a transparencia do fundo da janela." +L["STRING_OPTIONS_INSTANCE_ALPHA_DESC"] = "Esta op\195\167\195\163o altera a transpar\195\170ncia do fundo da janela." -- Needs review L["STRING_OPTIONS_INSTANCE_BACKDROP"] = "Textura de fundo" L["STRING_OPTIONS_INSTANCE_BACKDROP_DESC"] = "Seleciona a textura de fundo usada por essa janela.\ \ |cFFFFFF00Padr\195\163o|r: Details Background." -L["STRING_OPTIONS_INSTANCE_BUTTON_ANCHOR"] = "Bot\195\163o de Inst\195\162ncia:" -L["STRING_OPTIONS_INSTANCE_COLOR"] = "Cor e Transparencia" -L["STRING_OPTIONS_INSTANCE_COLOR_DESC"] = "Altera a cor e a transparencia da janela." +L["STRING_OPTIONS_INSTANCE_BUTTON_ANCHOR"] = "Bot\195\163o de Janela:" -- Needs review +L["STRING_OPTIONS_INSTANCE_COLOR"] = "Cor e Transpar\195\170ncia" -- Needs review +L["STRING_OPTIONS_INSTANCE_COLOR_DESC"] = "Altera a cor e a transpar\195\170ncia da janela." -- Needs review L["STRING_OPTIONS_INSTANCE_CURRENT"] = "Mudar Para Atual" -L["STRING_OPTIONS_INSTANCE_CURRENT_DESC"] = "Quando qualquer combate comecar e nao ha nenhuma instancia no segmento atual, esta instancia automaticamente troca para o segmento atual." +L["STRING_OPTIONS_INSTANCE_CURRENT_DESC"] = "Quando qualquer combate come\195\167ar e n\195\163o h\195\161 nenhuma janela no segmento atual, esta janela automaticamente troca para o segmento atual." -- Needs review L["STRING_OPTIONS_INSTANCE_DELETE"] = "Apagar" L["STRING_OPTIONS_INSTANCE_DELETE_DESC"] = "Remove permanentemente uma janela.\ Seu jogo poder\195\161 recarregar durante o processo de limpeza." @@ -510,52 +523,53 @@ L["STRING_OPTIONS_INSTANCE_OVERLAY"] = "Sobrepor cor" L["STRING_OPTIONS_INSTANCE_OVERLAY_DESC"] = "Muda a sobreposi\195\167\195\163o de cor do bot\195\163o de inst\195\162ncia." L["STRING_OPTIONS_INSTANCES"] = "Janelas:" L["STRING_OPTIONS_INSTANCE_SKIN"] = "Pele (skin)" -L["STRING_OPTIONS_INSTANCE_SKIN_DESC"] = "Modifica todas as texturas e opcoes da janela atraves de um padrao pre definido." +L["STRING_OPTIONS_INSTANCE_SKIN_DESC"] = "Modifica todas as texturas e op\195\167\195\181es da janela atrav\195\169s de um padr\195\163o pr\195\169-definido." -- Needs review L["STRING_OPTIONS_INSTANCE_STATUSBAR_ANCHOR"] = "Barra de Status:" -L["STRING_OPTIONS_INSTANCE_STATUSBARCOLOR"] = "Cor e transparencia" +L["STRING_OPTIONS_INSTANCE_STATUSBARCOLOR"] = "Cor e transpar\195\170ncia" -- Needs review L["STRING_OPTIONS_INSTANCE_STATUSBARCOLOR_DESC"] = "Seleciona a cor usada pela barra de status.\ \ |cFFFFFF00Importante|r: Essa op\195\167\195\163o sobrescreve a cor e a transpar\195\170ncia da cor da janela escolhida." -L["STRING_OPTIONS_INSTANCE_STRATA"] = "Layer Strata" +L["STRING_OPTIONS_INSTANCE_STRATA"] = "Ajuste de Camada" -- Needs review L["STRING_OPTIONS_INSTANCE_STRATA_DESC"] = "Seleciona a altura da camada em que o quadro ser\195\161 posicionado.\ \ Camada inferior \195\169 o padr\195\163o e faz com que a janela fique atr\195\161s da maioria dos pain\195\169is de interface.\ \ Usar uma camada alta far\195\161 com que a janela fica na frente dos outros pain\195\169is..\ \ -Quando alterando as camadas voc\195\170 pode encontar alguns conflitos com outros paineis cobrindo uns aos outros." +Quando alterando as camadas voc\195\170 pode encontar alguns conflitos com outros pain\195\169is cobrindo uns aos outros." -- Needs review L["STRING_OPTIONS_INSTANCE_TEXTCOLOR"] = "Cor de texto" L["STRING_OPTIONS_INSTANCE_TEXTCOLOR_DESC"] = "Muda o bot\195\163o de inst\195\162ncia de cor de texto." L["STRING_OPTIONS_INSTANCE_TEXTFONT"] = "Fonte de texto" L["STRING_OPTIONS_INSTANCE_TEXTFONT_DESC"] = "Muda o bot\195\163o de inst\195\162ncia de fonte de texto." L["STRING_OPTIONS_INSTANCE_TEXTSIZE"] = "Tamanho de texto" L["STRING_OPTIONS_INSTANCE_TEXTSIZE_DESC"] = "Muda o bot\195\163o de inst\195\162ncia de tamanho de texto." +L["STRING_OPTIONS_INTERFACEDIT"] = "Editar Interface" -- Needs review L["STRING_OPTIONS_LEFT_MENU_ANCHOR"] = "Op\195\167\195\181es de Menu:" L["STRING_OPTIONS_LOCKSEGMENTS"] = "Segmentos travados" L["STRING_OPTIONS_LOCKSEGMENTS_DESC"] = "Quando habilitado, modificar um seguimento em uma janela tamb\195\169m modifica todas as outras." -L["STRING_OPTIONS_MAXINSTANCES"] = "Max. Instancias" +L["STRING_OPTIONS_MAXINSTANCES"] = "Quantidade de Janelas" -- Needs review L["STRING_OPTIONS_MAXINSTANCES_DESC"] = "Limita o numero de janelas que podem ser criadas.\ \ -Voce pode abrir ou reabrir as janelas atraves do botao de instancia localizado a esquerda do botao de fechar." -L["STRING_OPTIONS_MAXSEGMENTS"] = "Max. Segmentos" -L["STRING_OPTIONS_MAXSEGMENTS_DESC"] = "Esta opcao controla quantos segmentos voce deseja manter.\ +Voc\195\170 pode abrir ou reabrir as janelas atrav\195\169s do bot\195\163o de janela localizado a esquerda do bot\195\163o de fechar." -- Needs review +L["STRING_OPTIONS_MAXSEGMENTS"] = "Quantidade de Segmentos" -- Needs review +L["STRING_OPTIONS_MAXSEGMENTS_DESC"] = "Esta op\195\167\195\163o controla quantos segmentos voc\195\170 deseja manter.\ \ O recomendado eh |cFFFFFFFF12|r, mas sinta-se livre para ajustar este numero como desejar.\ \ -Computadores com |cFFFFFFFF2GB|r ou menos de memoria ram devem manter um numero de segmentos baixo, isto pode ajudar a preservar a memoria." -L["STRING_OPTIONS_MEMORYT"] = "Ajuste de Memoria" -L["STRING_OPTIONS_MEMORYT_DESC"] = "Details! possui mecanismos internos que lidam com a memoria e tentam ajustar o uso dela de acordo com a memoria disponivel no seu sistema.\ +Computadores com |cFFFFFFFF2GB|r ou menos de memoria ram devem manter um numero de segmentos baixo, isto pode ajudar a preservar a memoria." -- Needs review +L["STRING_OPTIONS_MEMORYT"] = "Ajuste de Mem\195\179ria" -- Needs review +L["STRING_OPTIONS_MEMORYT_DESC"] = "Details! possui mecanismos internos que lidam com a memoria e tentam ajustar o uso dela de acordo com a memoria dispon\195\173vel no seu sistema.\ \ -Tambem eh recomendado limitar o numero de segmentos se o seu computador tiver |cFFFFFFFF2GB|r ou menos de memoria." +Tamb\195\169m eh recomendado limitar o numero de segmentos se o seu computador tiver |cFFFFFFFF2GB|r ou menos de memoria." -- Needs review L["STRING_OPTIONS_MENU2_X"] = "Menu Pos X" L["STRING_OPTIONS_MENU2_X_DESC"] = "Muda a posi\195\167\195\163o de todos os bot\195\181es de menu da direita." L["STRING_OPTIONS_MENU2_Y"] = "Menu Pos Y" L["STRING_OPTIONS_MENU2_Y_DESC"] = "Muda a posi\195\167\195\163o de todos os bot\195\181es de menu da direita." L["STRING_OPTIONS_MENU_ALPHA"] = "Interagir auto transpar\195\170ncia:" L["STRING_OPTIONS_MENU_ALPHAENABLED"] = "Habilitar" -L["STRING_OPTIONS_MENU_ALPHAENABLED_DESC"] = "Habilita ou esabilita a auto-transpar\195\170ncia. Quando habilitada, o alfa muda automaticamente quando voce arrasta e solta a janela.\ +L["STRING_OPTIONS_MENU_ALPHAENABLED_DESC"] = "Habilita ou desabilita a auto-transpar\195\170ncia. Quando habilitada, o alfa muda automaticamente quando voc\195\170 arrasta e solta a janela.\ \ -|cFFFFFF00Important|r: Essa configura\195\167\195\163o sobrescreve o alfa selecionado para a cor de janela." +|cFFFFFF00Important|r: Essa configura\195\167\195\163o sobrescreve o alfa selecionado para a cor de janela." -- Needs review L["STRING_OPTIONS_MENU_ALPHAENTER"] = "Quando interagindo" L["STRING_OPTIONS_MENU_ALPHAENTER_DESC"] = "Quando voc\195\170 tiver um mouse sobre uma janela, a transpar\195\170ncia muda para este valor" L["STRING_OPTIONS_MENU_ALPHAICONSTOO"] = "Afetar bot\195\181es" @@ -564,13 +578,13 @@ L["STRING_OPTIONS_MENU_ALPHALEAVE"] = "Em espera" L["STRING_OPTIONS_MENU_ALPHALEAVE_DESC"] = "Quando voc\195\170 n\195\163o tiver o mouse sobre a janela, a transpar\195\170ncia muda para este valor" L["STRING_OPTIONS_MENU_ALPHAWARNING"] = "Auto transpar\195\170ncia est\195\161 habilitada, o alfa pode n\195\163o ser afetado." L["STRING_OPTIONS_MENU_ANCHOR"] = "Lado da \195\130ncora do Menu" -L["STRING_OPTIONS_MENU_ANCHOR_DESC"] = "Muda a poci\195\167\195\163o da \195\162ncora do menu, podendo posiciona-lo a direita ou esquerda da janela." +L["STRING_OPTIONS_MENU_ANCHOR_DESC"] = "Muda a posi\195\167\195\163o da \195\162ncora do menu, podendo posiciona-lo a direita ou esquerda da janela." -- Needs review L["STRING_OPTIONS_MENU_ATTRIBUTE_ANCHORX"] = "Pos X" -L["STRING_OPTIONS_MENU_ATTRIBUTE_ANCHORX_DESC"] = "Ajusta a localiza\195\167\195\163oo de atributo de texto em X axis." +L["STRING_OPTIONS_MENU_ATTRIBUTE_ANCHORX_DESC"] = "Ajusta a localiza\195\167\195\163o de atributo de texto no eixo X." -- Needs review L["STRING_OPTIONS_MENU_ATTRIBUTE_ANCHORY"] = "Pos Y" -L["STRING_OPTIONS_MENU_ATTRIBUTE_ANCHORY_DESC"] = "Ajusta a localiza\195\167\195\163oo de atributo de texto em Y axis." +L["STRING_OPTIONS_MENU_ATTRIBUTE_ANCHORY_DESC"] = "Ajusta a localiza\195\167\195\163o de atributo de texto no eixo Y." -- Needs review L["STRING_OPTIONS_MENU_ATTRIBUTE_ENABLED"] = "Habilitar" -L["STRING_OPTIONS_MENU_ATTRIBUTE_ENABLED_DESC"] = "Habilita ou desabilita o nome do atributo que est\195\161 sendo exibido atualmente nessa instancia" +L["STRING_OPTIONS_MENU_ATTRIBUTE_ENABLED_DESC"] = "Habilita ou desabilita o nome do atributo que est\195\161 sendo exibido atualmente nessa janela." -- Needs review L["STRING_OPTIONS_MENU_ATTRIBUTE_FONT"] = "Fonte de texto" L["STRING_OPTIONS_MENU_ATTRIBUTE_FONT_DESC"] = "Seleciona a fonte de texto para o texto do atributo." L["STRING_OPTIONS_MENU_ATTRIBUTESETTINGS_ANCHOR"] = "Configura\195\167\195\181es:" @@ -584,33 +598,54 @@ L["STRING_OPTIONS_MENU_ATTRIBUTE_TEXTCOLOR_DESC"] = "Muda a cor do texto do atri L["STRING_OPTIONS_MENU_ATTRIBUTE_TEXTSIZE"] = "Tamanho do texto" L["STRING_OPTIONS_MENU_ATTRIBUTE_TEXTSIZE_DESC"] = "Ajusta o tamanho do texto do atributo." L["STRING_OPTIONS_MENU_AUTOHIDE_ANCHOR"] = "Auto esconder bot\195\181es de menu" -L["STRING_OPTIONS_MENU_AUTOHIDE_DESC"] = "Quando habilitado o menu automaticamente esconde a si mesmo quando o mouse deixa a janela e aparece novamente quando voce estiver interagindo com ela novamente." +L["STRING_OPTIONS_MENU_AUTOHIDE_DESC"] = "Quando habilitado o menu automaticamente esconde a si mesmo quando o mouse deixa a janela e aparece novamente quando voc\195\170 estiver interagindo com ela novamente." -- Needs review L["STRING_OPTIONS_MENU_AUTOHIDE_LEFT"] = "Menu auto esconder" L["STRING_OPTIONS_MENU_AUTOHIDE_RIGHT"] = "Menu auto esconder" -L["STRING_OPTIONS_MENU_BUTTONSSIZE"] = "Tamanho de bot\195\181esButtons Size" -L["STRING_OPTIONS_MENU_BUTTONSSIZE_DESC"] = "Escolher os tamanhos dos bot\195\181es. Isso tamb\195\169m modifica os bot\195\181s adicionados por plugins." +L["STRING_OPTIONS_MENU_BUTTONSSIZE"] = "Tamanho dos bot\195\181es" -- Needs review +L["STRING_OPTIONS_MENU_BUTTONSSIZE_DESC"] = "Escolher os tamanhos dos bot\195\181es. Isso tamb\195\169m modifica os \195\173cones adicionados por plugins." -- Needs review +L["STRING_OPTIONSMENU_COMBAT"] = "Combate" -- Needs review +L["STRING_OPTIONSMENU_DATACHART"] = "Dados Para Gr\195\161ficos" -- Needs review +L["STRING_OPTIONSMENU_DATACOLLECT"] = "Coletor de Dados" -- Needs review +L["STRING_OPTIONSMENU_DATAFEED"] = "Alimenta\195\167\195\163o de Dados" -- Needs review +L["STRING_OPTIONSMENU_DISPLAY"] = "Display" -- Needs review +L["STRING_OPTIONSMENU_DISPLAY_DESC"] = "Ajustes b\195\161sicos gerais e controles r\195\161pidos da janela." -- Needs review L["STRING_OPTIONS_MENU_IGNOREBARS"] = "Ignore linhas" -L["STRING_OPTIONS_MENU_IGNOREBARS_DESC"] = "Quando habilitad, todas as linhas nessa janela n\195\163o ser\195\163o afetadas por esse mecanismo." +L["STRING_OPTIONS_MENU_IGNOREBARS_DESC"] = "Quando habilitada, todas as linhas nessa janela n\195\163o ser\195\163o afetadas por esse mecanismo." -- Needs review +L["STRING_OPTIONSMENU_LEFTMENU"] = "Menu da Esquerdo" -- Needs review +L["STRING_OPTIONSMENU_MISC"] = "Diversos" -- Needs review +L["STRING_OPTIONSMENU_PERFORMANCE"] = "Ajustes de Performance" -- Needs review +L["STRING_OPTIONSMENU_PLUGINS"] = "Gerenciador de Plugins" -- Needs review +L["STRING_OPTIONSMENU_PROFILES"] = "Perfis" -- Needs review +L["STRING_OPTIONSMENU_RIGHTMENU"] = "Menu da Direita" +L["STRING_OPTIONSMENU_ROWSETTINGS"] = "Ajustes das Barras" -- Needs review +L["STRING_OPTIONSMENU_ROWTEXTS"] = "Ajustes dos Textos" -- Needs review L["STRING_OPTIONS_MENU_SHOWBUTTONS"] = "Exibir bot\195\181es" L["STRING_OPTIONS_MENU_SHOWBUTTONS_DESC"] = "Seleciona quais bot\195\181es s\195\163o exibidos na barra de ferramentas." +L["STRING_OPTIONSMENU_SHOWHIDE"] = "Mostrar e Esconder Janela" -- Needs review +L["STRING_OPTIONSMENU_SKIN"] = "Seletor de Skin" -- Needs review +L["STRING_OPTIONSMENU_SPELLS"] = "Customiza\195\167\195\163o de Magia" -- Needs review +L["STRING_OPTIONSMENU_TITLETEXT"] = "Texto do T\195\173tulo" -- Needs review +L["STRING_OPTIONSMENU_TOOLTIP"] = "Tooltips" -- Needs review +L["STRING_OPTIONSMENU_WALLPAPER"] = "Papel de Parede" -- Needs review +L["STRING_OPTIONSMENU_WINDOW"] = "Configura\195\167\195\181es da Janela" -- Needs review L["STRING_OPTIONS_MENU_X"] = "Menu Pos X" L["STRING_OPTIONS_MENU_X_DESC"] = "Muda a posi\195\167\195\163o de todos os bot\195\181es de menu a esquerda." L["STRING_OPTIONS_MENU_Y"] = "Menu Pos Y" L["STRING_OPTIONS_MENU_Y_DESC"] = "Muda a posi\195\167\195\163o de todos os bot\195\181es de menu a esquerda." L["STRING_OPTIONS_MICRODISPLAYSSIDE"] = "\195\162ncora dos Mini Displays" -L["STRING_OPTIONS_MICRODISPLAYSSIDE_DESC"] = "Muda a poci\195\167\195\163o dos mini displays para a poci\195\167\195\163o no topo ou no fundo da janela." +L["STRING_OPTIONS_MICRODISPLAYSSIDE_DESC"] = "Muda a posi\195\167\195\163o dos mini displays para a posi\195\167\195\163o no topo ou no fundo da janela." -- Needs review L["STRING_OPTIONS_MICRODISPLAYWARNING"] = "Mini displays n\195\163o est\195\163o sendo mostrados pois a barra de status esta desligada." -L["STRING_OPTIONS_MINIMAP"] = "Icone no Mini Mapa" +L["STRING_OPTIONS_MINIMAP"] = "\195\141cone no Mini Mapa" -- Needs review L["STRING_OPTIONS_MINIMAP_ACTION"] = "no clique" L["STRING_OPTIONS_MINIMAP_ACTION1"] = "Abrir painel de controle" L["STRING_OPTIONS_MINIMAP_ACTION2"] = "Resetar segmentos" L["STRING_OPTIONS_MINIMAP_ACTION_DESC"] = "Selecionar o que fazer quando o \195\173cone do minimapa \195\169 clicado com o bot\195\163o esquerdo do mouse." L["STRING_OPTIONS_MINIMAP_ANCHOR"] = "Minimapa:" -L["STRING_OPTIONS_MINIMAP_DESC"] = "Mostra ou esconde o icone no mini mapa." -L["STRING_OPTIONS_MISCTITLE"] = "Comfigura\195\167\195\181es Diversas" +L["STRING_OPTIONS_MINIMAP_DESC"] = "Mostra ou esconde o \195\173cone no mini mapa." -- Needs review +L["STRING_OPTIONS_MISCTITLE"] = "Configura\195\167\195\181es Diversas" -- Needs review L["STRING_OPTIONS_MISCTITLE2"] = "Essa op\195\167\195\163o controla v\195\161rias op\195\167\195\181es." L["STRING_OPTIONS_NICKNAME"] = "Apelido" -L["STRING_OPTIONS_NICKNAME_DESC"] = "Digite o seu apelido neste campo. O apelido escolhido sera enviado aos membros da sua guilda e o Details! ira substituir o nome do personagem pelo aplido." +L["STRING_OPTIONS_NICKNAME_DESC"] = "Digite o seu apelido neste campo. O apelido escolhido ser\195\161 enviado aos membros da sua guilda e o Details! ira substituir o nome do personagem pelo apelido." -- Needs review L["STRING_OPTIONS_OVERALL_ALL"] = "Todos os segmentos" L["STRING_OPTIONS_OVERALL_ALL_DESC"] = "Todos os segmentos s\195\163o adicionados aos dados globais." L["STRING_OPTIONS_OVERALL_ANCHOR"] = "Dados Globais:" @@ -619,15 +654,15 @@ L["STRING_OPTIONS_OVERALL_CHALLENGE_DESC"] = "Quando habilitado, os dados globai L["STRING_OPTIONS_OVERALL_DUNGEONBOSS"] = "Chefes de Masmorras" L["STRING_OPTIONS_OVERALL_DUNGEONBOSS_DESC"] = "Segmentos com chefes de masmorras s\195\163o adicionados aos dados globais." L["STRING_OPTIONS_OVERALL_DUNGEONCLEAN"] = "'Trash' de Masmorra" -L["STRING_OPTIONS_OVERALL_DUNGEONCLEAN_DESC"] = "Segmentos de limpeza de trash mobs em masmorras s\195\163o adicionados aos dados globais." +L["STRING_OPTIONS_OVERALL_DUNGEONCLEAN_DESC"] = "Segmentos de limpeza de 'trash mobs' em masmorras s\195\163o adicionados aos dados globais." -- Needs review L["STRING_OPTIONS_OVERALL_NEWBOSS"] = "Limpar em um novo chefe" L["STRING_OPTIONS_OVERALL_NEWBOSS_DESC"] = "Quando habilitado, os dados gerais s\195\163o limpos automaticamente quando enfrentando um novo chefe." -L["STRING_OPTIONS_OVERALL_RAIDBOSS"] = "Chefes de raid" -L["STRING_OPTIONS_OVERALL_RAIDBOSS_DESC"] = "Segmentos com encontros de raid s\195\163o adicionados aos dados globais." -L["STRING_OPTIONS_OVERALL_RAIDCLEAN"] = "Trash de Raid" -L["STRING_OPTIONS_OVERALL_RAIDCLEAN_DESC"] = "Segmentos de limpeza de trash mobs em raid s\195\163o adicionados aos dados globais." -L["STRING_OPTIONS_PANIMODE"] = "Modo de Panico" -L["STRING_OPTIONS_PANIMODE_DESC"] = "Quando voce cair do jogo durante uma luta contra um Chefe de uma Raide e esta opcao estiver antiva, todos os segmentos sao apagados para o processo de logoff ser rapido." +L["STRING_OPTIONS_OVERALL_RAIDBOSS"] = "Chefes de raide" -- Needs review +L["STRING_OPTIONS_OVERALL_RAIDBOSS_DESC"] = "Segmentos com encontros de raide s\195\163o adicionados aos dados globais." -- Needs review +L["STRING_OPTIONS_OVERALL_RAIDCLEAN"] = "Trash de Raide" -- Needs review +L["STRING_OPTIONS_OVERALL_RAIDCLEAN_DESC"] = "Segmentos de limpeza de 'trash mobs' em raides s\195\163o adicionados aos dados globais." -- Needs review +L["STRING_OPTIONS_PANIMODE"] = "Modo de P\195\162nico" -- Needs review +L["STRING_OPTIONS_PANIMODE_DESC"] = "Quando voc\195\170 cair do jogo durante uma luta contra um Chefe de uma Raide e esta op\195\167\195\163o estiver ativa, todos os segmentos s\195\163o apagados para o processo de logoff ser r\195\161pido." -- Needs review L["STRING_OPTIONS_PERCENT_TYPE"] = "Tipo de porcentagem" L["STRING_OPTIONS_PERCENT_TYPE_DESC"] = "Muda o m\195\169todo de porcentagem:\ \ @@ -636,24 +671,24 @@ L["STRING_OPTIONS_PERCENT_TYPE_DESC"] = "Muda o m\195\169todo de porcentagem:\ |cFFFFFF00Relativo ao Melhor Jogador|r: A porcentagem \195\169 relativa com o total do melhor jogador." L["STRING_OPTIONS_PERFORMANCE"] = "Performance" L["STRING_OPTIONS_PERFORMANCE1"] = "Ajustes de Performance" -L["STRING_OPTIONS_PERFORMANCE1_DESC"] = "Estas opcoes podem ajudar no desempenho deste addon." +L["STRING_OPTIONS_PERFORMANCE1_DESC"] = "Estas op\195\167\195\181es podem ajudar no desempenho deste addon." -- Needs review L["STRING_OPTIONS_PERFORMANCE_ANCHOR"] = "Geral:" L["STRING_OPTIONS_PERFORMANCE_ARENA"] = "Arena" L["STRING_OPTIONS_PERFORMANCE_BG15"] = "Campo de batalha 15" L["STRING_OPTIONS_PERFORMANCE_BG40"] = "Campo de batalha 40" -L["STRING_OPTIONS_PERFORMANCECAPTURES"] = "Coletor de Informacao do Combate" -L["STRING_OPTIONS_PERFORMANCECAPTURES_DESC"] = "Esta opcao controla quais informacoes serao capturadas durante o combate." +L["STRING_OPTIONS_PERFORMANCECAPTURES"] = "Coletor de Informa\195\167\195\163o do Combate" -- Needs review +L["STRING_OPTIONS_PERFORMANCECAPTURES_DESC"] = "Esta op\195\167\195\163o controla quais informa\195\167\195\181es ser\195\163o capturadas durante o combate." -- Needs review L["STRING_OPTIONS_PERFORMANCE_DUNGEON"] = "Masmorra" L["STRING_OPTIONS_PERFORMANCE_ENABLE"] = "Habilitar" -L["STRING_OPTIONS_PERFORMANCE_ENABLE_DESC"] = "Se habilitado, essas configura\195\167\195\181es ser\195\163o aplicadas quando sua raid for compat\195\173vel com o tipo de raid selecionado." +L["STRING_OPTIONS_PERFORMANCE_ENABLE_DESC"] = "Se habilitado, essas configura\195\167\195\181es ser\195\163o aplicadas quando sua raide for compat\195\173vel com o tipo de raide selecionado." -- Needs review L["STRING_OPTIONS_PERFORMANCE_MYTHIC"] = "M\195\173tico" L["STRING_OPTIONS_PERFORMANCE_PROFILE_LOAD"] = "Perfil de desempenho alterado: " L["STRING_OPTIONS_PERFORMANCEPROFILES_ANCHOR"] = "Perfis de performance:" -L["STRING_OPTIONS_PERFORMANCE_RAID15"] = "Raid 10-15" -L["STRING_OPTIONS_PERFORMANCE_RAID30"] = "Raid 16-30" -L["STRING_OPTIONS_PERFORMANCE_RF"] = "Localizador de raid" +L["STRING_OPTIONS_PERFORMANCE_RAID15"] = "Raide 10-15" -- Needs review +L["STRING_OPTIONS_PERFORMANCE_RAID30"] = "Raide 16-30" -- Needs review +L["STRING_OPTIONS_PERFORMANCE_RF"] = "Localizador de raide" -- Needs review L["STRING_OPTIONS_PERFORMANCE_TYPES"] = "Tipo" -L["STRING_OPTIONS_PERFORMANCE_TYPES_DESC"] = "Estes s\195\163o os tipos de raid onde diferentes op\195\167\195\181es podem mudar automaticamente." +L["STRING_OPTIONS_PERFORMANCE_TYPES_DESC"] = "Estes s\195\163o os tipos de raide onde diferentes op\195\167\195\181es podem mudar automaticamente." -- Needs review L["STRING_OPTIONS_PICKCOLOR"] = "cor" L["STRING_OPTIONS_PICONS_DIRECTION"] = "Dire\195\167\195\163o dos \195\173cones de plugin" L["STRING_OPTIONS_PICONS_DIRECTION_DESC"] = "Muda a dire\195\167\195\163o dos \195\173cones dos plugins que s\195\163o exibidos na barra de ferramentas." @@ -662,12 +697,12 @@ L["STRING_OPTIONS_PLUGINS_AUTHOR"] = "Autor" L["STRING_OPTIONS_PLUGINS_ENABLED"] = "Habilitar" L["STRING_OPTIONS_PLUGINS_NAME"] = "Nome" L["STRING_OPTIONS_PLUGINS_OPTIONS"] = "Op\195\167\195\181es" -- Needs review -L["STRING_OPTIONS_PLUGINS_RAID_ANCHOR"] = "Plugins de raid" +L["STRING_OPTIONS_PLUGINS_RAID_ANCHOR"] = "Plugins de raide" -- Needs review L["STRING_OPTIONS_PLUGINS_SOLO_ANCHOR"] = "Solo Plugins" L["STRING_OPTIONS_PLUGINS_TOOLBAR_ANCHOR"] = "Toolbar Plugins" L["STRING_OPTIONS_PLUGINS_VERSION"] = "Vers\195\163o" -L["STRING_OPTIONS_PRESETNONAME"] = "De um nome a sua predefinicao." -L["STRING_OPTIONS_PRESETTOOLD"] = "Esta predefinicao requer uma versao atualizada do Details!." +L["STRING_OPTIONS_PRESETNONAME"] = "De um nome a sua predefini\195\167\195\163o." -- Needs review +L["STRING_OPTIONS_PRESETTOOLD"] = "Esta predefini\195\167\195\163o requer uma vers\195\163o atualizada do Details!." -- Needs review L["STRING_OPTIONS_PROFILE_COPYOKEY"] = "C\195\179pia de perfil bem sucedida." L["STRING_OPTIONS_PROFILE_FIELDEMPTY"] = "Campo do nome est\195\161 vazio" L["STRING_OPTIONS_PROFILE_LOADED"] = "Perfil carregado:" @@ -685,50 +720,48 @@ L["STRING_OPTIONS_PROFILES_CURRENT_DESC"] = "Este \195\169 o nome do seu perfil L["STRING_OPTIONS_PROFILE_SELECT"] = "Selecione um perfil." L["STRING_OPTIONS_PROFILES_ERASE"] = "Remover perfil" L["STRING_OPTIONS_PROFILES_ERASE_DESC"] = "Remove o perfil selecionado." -L["STRING_OPTIONS_PROFILES_RESET"] = "Reestabelecer o perfil atual" +L["STRING_OPTIONS_PROFILES_RESET"] = "Restabelecer o perfil atual" -- Needs review L["STRING_OPTIONS_PROFILES_RESET_DESC"] = "Reinicia para os valores padr\195\163o todas as configura\195\167\195\181es do perfil selecionado" L["STRING_OPTIONS_PROFILES_SELECT"] = "Selecionar perfil" L["STRING_OPTIONS_PROFILES_SELECT_DESC"] = "Carrega um perfil, todas as configura\195\167\195\181es s\195\163o sobrescritas pelas configura\195\167\195\181es do novo perfil" L["STRING_OPTIONS_PROFILES_TITLE"] = "Perfis" L["STRING_OPTIONS_PROFILES_TITLE_DESC"] = "Essa op\195\167\195\163o permite a voc\195\170 dividir as mesmas configura\195\167\195\181es com diferentes personagens" -L["STRING_OPTIONS_PS_ABBREVIATE"] = "PS Abreviacao" -L["STRING_OPTIONS_PS_ABBREVIATE_COMMA"] = "Seperado por pontos" -L["STRING_OPTIONS_PS_ABBREVIATE_DESC"] = "Escolha o metodo de abreviacao para o Dps e Hps.\ +L["STRING_OPTIONS_PS_ABBREVIATE"] = "Abreviar Texto" -- Needs review +L["STRING_OPTIONS_PS_ABBREVIATE_COMMA"] = "Separado por pontos" -- Needs review +L["STRING_OPTIONS_PS_ABBREVIATE_DESC"] = "Escolha o m\195\169todo de abrevia\195\167\195\163o para o Dps e Hps.\ \ -|cFFFFFFFFNenhuma|r: sem abreviacao, o numero inteiro e mostrado.\ +|cFFFFFFFFNenhuma|r: sem abrevia\195\167\195\163o, o numero inteiro e mostrado.\ \ -|cFFFFFFFFCem I|r: o numero e reduzido e uma letra indica o valor.\ +|cFFFFFFFFCentenas I|r: o numero e reduzido e uma letra indica o valor.\ \ 59874 = 59.8K\ 100.000 = 100.0K\ 19.530.000 = 19.53M\ \ -|cFFFFFFFFHundreds II|r: o numero e reduzido e uma letra indica o valor.\ +|cFFFFFFFFCentenas II|r: o numero e reduzido e uma letra indica o valor.\ \ 59874 = 59.8K\ 100.000 = 100K\ -19.530.000 = 19.53M" +19.530.000 = 19.53M" -- Needs review L["STRING_OPTIONS_PS_ABBREVIATE_NONE"] = "Nenhuma" -L["STRING_OPTIONS_PS_ABBREVIATE_TOK"] = "Cem I" -L["STRING_OPTIONS_PS_ABBREVIATE_TOK0"] = "ToM I Caixa-alta" -L["STRING_OPTIONS_PS_ABBREVIATE_TOK0MIN"] = "ToM I" -L["STRING_OPTIONS_PS_ABBREVIATE_TOK2"] = "Cem II" -L["STRING_OPTIONS_PS_ABBREVIATE_TOK2MIN"] = "ToK II" -L["STRING_OPTIONS_PS_ABBREVIATE_TOKMIN"] = "ToK I" -L["STRING_OPTIONS_PVPFRAGS"] = "Apenas Frags de Pvp" -L["STRING_OPTIONS_PVPFRAGS_DESC"] = "Quando ativado, serao registrados apenas mortes de jogadores da faccao inimiga." +L["STRING_OPTIONS_PS_ABBREVIATE_TOK"] = "Centena I" -- Needs review +L["STRING_OPTIONS_PS_ABBREVIATE_TOK0"] = "Milhar I Caixa-alta" -- Needs review +L["STRING_OPTIONS_PS_ABBREVIATE_TOK0MIN"] = "Milhar I" -- Needs review +L["STRING_OPTIONS_PS_ABBREVIATE_TOK2"] = "Centena II Caixa-Alta" -- Needs review +L["STRING_OPTIONS_PS_ABBREVIATE_TOK2MIN"] = "Centena II" -- Needs review +L["STRING_OPTIONS_PS_ABBREVIATE_TOKMIN"] = "Centena I" -- Needs review +L["STRING_OPTIONS_PVPFRAGS"] = "Apenas Abates de PvP" -- Needs review +L["STRING_OPTIONS_PVPFRAGS_DESC"] = "Quando ativado, ser\195\163o registrados apenas mortes de jogadores da fac\195\167\195\163o inimiga." -- Needs review L["STRING_OPTIONS_REALMNAME"] = "Remover o Nome do Reino" -L["STRING_OPTIONS_REALMNAME_DESC"] = "Quando ativado, o nome do reino do que o personagem pertence nao eh mostrado.\ +L["STRING_OPTIONS_REALMNAME_DESC"] = "Quando ativado, o nome do reino do que o personagem pertence n\195\163o eh mostrado.\ \ |cFFFFFFFFExemplo:|r\ \ Charles-Azralon |cFFFFFFFF(desativado)|r\ -Charles |cFFFFFFFF(ativado)|r" +Charles |cFFFFFFFF(ativado)|r" -- Needs review L["STRING_OPTIONS_RESET_BUTTON_ANCHOR"] = "Bot\195\163o Reset:" L["STRING_OPTIONS_RESET_OVERLAY"] = "Sobrepor cor" -L["STRING_OPTIONS_RESET_OVERLAY_DESC"] = "Modifica o bot\195\163o reset da sobreposi\195\167\195\163o de cor.\ -\ -Only applied when reset button is hosted by this instance." +L["STRING_OPTIONS_RESET_OVERLAY_DESC"] = "Modifica a cor do bot\195\163o reset." -- Needs review L["STRING_OPTIONS_RESET_SMALL"] = "Always Small" L["STRING_OPTIONS_RESET_SMALL_DESC"] = "Quando habilitado, o bot\195\163o reset sempre ser\195\161 exibido no seu menor tamanho.\ \ @@ -748,41 +781,41 @@ Apenas aplicado quando o bot\195\163o reset est\195\161 hospedado nesta inst\195 L["STRING_OPTIONS_ROW_SETTING_ANCHOR"] = "Geral:" L["STRING_OPTIONS_SAVELOAD"] = "Salvar e Carregar" L["STRING_OPTIONS_SAVELOAD_APPLYALL"] = "A skin atual foi aplicada a todas as outras inst\195\162ncias." -L["STRING_OPTIONS_SAVELOAD_APPLYALL_DESC"] = "Aplica a skin atual em todas as instancias criadas." +L["STRING_OPTIONS_SAVELOAD_APPLYALL_DESC"] = "Aplica a skin atual em todas as janelas criadas." -- Needs review L["STRING_OPTIONS_SAVELOAD_APPLYTOALL"] = "aplicar em todas as janelas" L["STRING_OPTIONS_SAVELOAD_CREATE_DESC"] = "Digite o nome da skin customizada no campo e clique no bot\195\163o 'criar'.\ \ -Esse processo cria uma skin customizada que voce pode carregar em outras inst\195\162ncias ou apenas deixar salva para outra hora." -L["STRING_OPTIONS_SAVELOAD_DESC"] = "Estas opcoes permitem guardar as configuracoes da janela podendo carrega-las em outros personagens." -L["STRING_OPTIONS_SAVELOAD_ERASE_DESC"] = "Essa op\195\163o apaga a skin previamente salva." +Esse processo cria uma skin customizada que voc\195\170 pode carregar em outras inst\195\162ncias ou apenas deixar salva para outra hora." -- Needs review +L["STRING_OPTIONS_SAVELOAD_DESC"] = "Estas op\195\167\195\181es permitem guardar as configura\195\167\195\181es da janela podendo carrega-las em outros personagens." -- Needs review +L["STRING_OPTIONS_SAVELOAD_ERASE_DESC"] = "Essa op\195\167\195\163o apaga a skin previamente salva." -- Needs review L["STRING_OPTIONS_SAVELOAD_EXPORT"] = "Exportar" -- Needs review L["STRING_OPTIONS_SAVELOAD_EXPORT_COPY"] = "Pressione CTRL + C" -- Needs review L["STRING_OPTIONS_SAVELOAD_EXPORT_DESC"] = "Salva a skin no formato de texto." -- Needs review L["STRING_OPTIONS_SAVELOAD_IMPORT"] = "Importar" -- Needs review L["STRING_OPTIONS_SAVELOAD_IMPORT_DESC"] = "Importa uma skin " -- Needs review L["STRING_OPTIONS_SAVELOAD_IMPORT_OKEY"] = "Skin importada com sucesso." -- Needs review -L["STRING_OPTIONS_SAVELOAD_LOAD"] = "carregar" -L["STRING_OPTIONS_SAVELOAD_LOAD_DESC"] = "Escolha uma das skins previamente salvas para ser aplicada a atual instancia selecionada." +L["STRING_OPTIONS_SAVELOAD_LOAD"] = "Carregar" -- Needs review +L["STRING_OPTIONS_SAVELOAD_LOAD_DESC"] = "Escolha uma das skins previamente salvas para ser aplicada a atual janela selecionada." -- Needs review L["STRING_OPTIONS_SAVELOAD_MAKEDEFAULT"] = "Salva a skin padr\195\163o." L["STRING_OPTIONS_SAVELOAD_PNAME"] = "Nome" -L["STRING_OPTIONS_SAVELOAD_REMOVE"] = "x" -L["STRING_OPTIONS_SAVELOAD_RESET"] = "resetar p/ padroes" +L["STRING_OPTIONS_SAVELOAD_REMOVE"] = "Excluir" -- Needs review +L["STRING_OPTIONS_SAVELOAD_RESET"] = "resetar p/ padr\195\181es" -- Needs review L["STRING_OPTIONS_SAVELOAD_SAVE"] = "salvar" L["STRING_OPTIONS_SAVELOAD_SKINCREATED"] = "Skin criada." -L["STRING_OPTIONS_SAVELOAD_STD_DESC"] = "Skin padr\195\163o \195\169 apilcada em todas as novas inst\195\162ncias criadas." -L["STRING_OPTIONS_SAVELOAD_STDSAVE"] = "Skin padr\195\163o foi salva, novas instancias estar\195\163o usando essa skin por padr\195\163o." +L["STRING_OPTIONS_SAVELOAD_STD_DESC"] = "Skin padr\195\163o \195\169 aplicada em todas as novas inst\195\162ncias criadas." -- Needs review +L["STRING_OPTIONS_SAVELOAD_STDSAVE"] = "Skin padr\195\163o foi salva, novas janelas estar\195\163o usando essa skin por padr\195\163o." -- Needs review L["STRING_OPTIONS_SCROLLBAR"] = "Barra de Rolagem" L["STRING_OPTIONS_SCROLLBAR_DESC"] = "Ativa ou desativa a barra de rolagem.\ \ -Details! usa como padrao um mecanismo para estivar a janela.\ +Details! usa como padr\195\163o um mecanismo para estivar a janela.\ \ -A |cFFFFFFFFalca|r para estica-lo encontra-se fora da janela em cima do botao de fechar e de criar instancias." +A |cFFFFFFFFal\195\167a|r para estica-lo encontra-se fora da janela em cima do bot\195\163o de fechar e de criar janelas." -- Needs review L["STRING_OPTIONS_SEGMENTSSAVE"] = "Segmentos Salvos" -L["STRING_OPTIONS_SEGMENTSSAVE_DESC"] = "Esta opcao controla quantos segmentos voce deseja salvar entre logouts e loginss.\ +L["STRING_OPTIONS_SEGMENTSSAVE_DESC"] = "Esta op\195\167\195\163o controla quantos segmentos voc\195\170 deseja salvar entre as sess\195\181es de jogo.\ \ Valores altos podem fazer o tempo de logoff do seu personagem demorar mais.\ \ -Se voce raramente olha os dados da raide do dia anterior, eh muito recomendado deixar esta opcao em 1|cFFFFFFFF1|r." +Se voc\195\170 raramente olha os dados da raide do dia anterior, eh muito recomendado deixar esta op\195\167\195\163o em 1|cFFFFFFFF1|r." -- Needs review L["STRING_OPTIONS_SHOWHIDE"] = "Exibir & Ocultar Configura\195\167\195\181es" L["STRING_OPTIONS_SHOWHIDE_DESC"] = "Controla quando uma janela deve se ocultar ou aparecer na janela." L["STRING_OPTIONS_SHOW_SIDEBARS"] = "Mostrar Barras Laterais" @@ -798,19 +831,19 @@ L["STRING_OPTIONS_SHOW_TOTALBAR_INGROUP"] = "Apenas em grupo" L["STRING_OPTIONS_SHOW_TOTALBAR_INGROUP_DESC"] = "A barra total n\195\163o \195\169 exibida se voc\195\170 n\195\163o estiver em um grupo." L["STRING_OPTIONS_SIZE"] = "Tamanho" L["STRING_OPTIONS_SKIN_A"] = "Ajustes da Pele (Skin)" -L["STRING_OPTIONS_SKIN_A_DESC"] = "Estas opcoes alteram as caracteristicas gerais da janela." +L["STRING_OPTIONS_SKIN_A_DESC"] = "Estas op\195\167\195\181es alteram as caracter\195\173sticas gerais da janela." -- Needs review L["STRING_OPTIONS_SKIN_ELVUI_BUTTON1"] = "Alinhar Com o Chat da Direita" -- Needs review L["STRING_OPTIONS_SKIN_ELVUI_BUTTON1_DESC"] = "Move e redimensiona as janelas |cFFFFFF00#1|r e |cFFFFFF00#2|r colocando-as em cima do chat da direita.\ \ Este processo n\195\163o trava ou gruda as janelas." -- Needs review L["STRING_OPTIONS_SKIN_EXTRA_OPTIONS_ANCHOR"] = "Op\195\167\195\181es de Skin:" L["STRING_OPTIONS_SKIN_LOADED"] = "Carregamento de skin bem sucedido." -L["STRING_OPTIONS_SKIN_PRESETS_ANCHOR"] = "Save Presets:" +L["STRING_OPTIONS_SKIN_PRESETS_ANCHOR"] = "Salvar Skin:" -- Needs review L["STRING_OPTIONS_SKIN_REMOVED"] = "skin removida." L["STRING_OPTIONS_SKIN_SELECT"] = "selecione uma skin" L["STRING_OPTIONS_SKIN_SELECT_ANCHOR"] = "Sele\195\167\195\163o de skin:" L["STRING_OPTIONS_SOCIAL"] = "Social" -L["STRING_OPTIONS_SOCIAL_DESC"] = "Diga como voce gostaria de ser conhecido na sua guilda." +L["STRING_OPTIONS_SOCIAL_DESC"] = "Diga-nos o seu apelido ou como voc\195\170 \195\169 conhecido na sua guilda." -- Needs review L["STRING_OPTIONS_SPELL_ADD"] = "Adicionar" -- Needs review L["STRING_OPTIONS_SPELL_ADDICON"] = "Novo \195\141cone:" -- Needs review L["STRING_OPTIONS_SPELL_ADDNAME"] = "Novo Nome:" -- Needs review @@ -833,17 +866,18 @@ L["STRING_OPTIONS_SPELL_SPELLID_DESC"] = "A ID \195\169 o n\195\186mero \195\186 - P\195\161ginas na internet da comunidade do WoW, na maioria deles o id da habilidade esta junto ao link do site.\ - Navegando no bloco abaixo:" -- Needs review L["STRING_OPTIONS_STRETCH"] = "\195\130ncora do bot\195\163o de esticar" -L["STRING_OPTIONS_STRETCH_DESC"] = "Alternate the stretch button position.\ +L["STRING_OPTIONS_STRETCH_DESC"] = "Altera a posi\195\167\195\163o da al\195\167a de esticar.\ \ -|cFFFFFF00Top|r: the grab is placed on the top right corner.\ +|cFFFFFF00Cima|r: a al\195\167a \195\169 posta no canto direito superior da janela.\ \ -|cFFFFFF00Bottom|r: the grab is placed on the bottom center." +|cFFFFFF00Baixo|r: a al\195\167a \195\169 posta no centro abaixo da janela." -- Needs review L["STRING_OPTIONS_STRETCHTOP"] = "Bot\195\163o de esticar sempre vis\195\173vel" -L["STRING_OPTIONS_STRETCHTOP_DESC"] = "The stretch button will be placed on the FULLSCREEN strata and always stay higher than the others frames.\ +L["STRING_OPTIONS_STRETCHTOP_DESC"] = "O bot\195\163o de esticar ser\195\161 posto mais alto do que as outras janelas e estar\195\161 sempre vis\195\173vel ao passar o mouse sobre ele.\ \ -|cFFFFFF00Important|r: Moving the grab for a high layer, it might stay in front of others frames like backpacks, use only if you really need." +|cFFFFFF00Importante|r: Movendo a al\195\167a para cima, far\195\161 com que ela as vezes fica em cima de outras janelas como sua mochila entre outros." -- Needs review L["STRING_OPTIONS_SWITCHINFO"] = "|cFFF79F81 ESQUERDA DESATIVADO|r |cFF81BEF7 DIREITA ATIVADO|r" -L["STRING_OPTIONS_TEXT"] = "Opcoes dos Textos das Barras" +L["STRING_OPTIONS_TESTBARS"] = "Criar Barras de Teste" -- Needs review +L["STRING_OPTIONS_TEXT"] = "Op\195\167\195\181es dos Textos das Barras" -- Needs review L["STRING_OPTIONS_TEXT_DESC"] = "Os ajustes abaixo personalizam os textos mostrados nas barras." L["STRING_OPTIONS_TEXTEDITOR_CANCEL"] = "Cancelar" -- Needs review L["STRING_OPTIONS_TEXTEDITOR_CANCEL_TOOLTIP"] = "Termina a edi\195\167\195\163o sem salvar as mudan\195\167as." -- Needs review @@ -865,27 +899,27 @@ L["STRING_OPTIONS_TEXTEDITOR_FUNC"] = "Fun\195\167\195\163o" L["STRING_OPTIONS_TEXTEDITOR_FUNC_TOOLTIP"] = "Adiciona uma fun\195\167\195\163o, fun\195\167\195\181es sempre precisam retornar um n\195\186mero." L["STRING_OPTIONS_TEXTEDITOR_RESET"] = "Reset" -- Needs review L["STRING_OPTIONS_TEXTEDITOR_RESET_TOOLTIP"] = "Limpa todo o c\195\179digo e adiciona o c\195\179digo padr\195\163o" -- Needs review -L["STRING_OPTIONS_TEXTEDITOR_TOK"] = "ToK" +L["STRING_OPTIONS_TEXTEDITOR_TOK"] = "Centenas" -- Needs review L["STRING_OPTIONS_TEXTEDITOR_TOK_TOOLTIP"] = "Add a abbreviation function call for use inside functions on return values." L["STRING_OPTIONS_TEXT_FIXEDCOLOR"] = "Cor de Texto" L["STRING_OPTIONS_TEXT_FIXEDCOLOR_DESC"] = "Muda a cor dos textos da direita e esquerda.\ \ \195\137 ignorado se |cFFFFFFFFcor pela classe|r estiver ativado." -L["STRING_OPTIONS_TEXT_FONT"] = "Font" +L["STRING_OPTIONS_TEXT_FONT"] = "Fonte" -- Needs review L["STRING_OPTIONS_TEXT_FONT_DESC"] = "Modifica a fonte do texto usado nas barras." L["STRING_OPTIONS_TEXT_LCLASSCOLOR"] = "Texto Esquerdo Cor da Classe" -L["STRING_OPTIONS_TEXT_LCLASSCOLOR_DESC"] = "Quando ativado a cor do texto esquerdo sera automaticamento ajustado para a cor da classe do personagem mostrado.\ +L["STRING_OPTIONS_TEXT_LCLASSCOLOR_DESC"] = "Quando ativado a cor do texto esquerdo ser\195\161 automaticamente ajustado para a cor da classe do personagem mostrado.\ \ -Quando desligado a cor na caixa a direita eh usado." +Quando desligado a cor na caixa a direita \195\169 usado." -- Needs review L["STRING_OPTIONS_TEXT_LEFT_ANCHOR"] = "Texto a Esquerda:" L["STRING_OPTIONS_TEXT_LOUTILINE"] = "Sombra do Texto Esquerdo" L["STRING_OPTIONS_TEXT_LOUTILINE_DESC"] = "Quando ativado o texto esquerdo ganhara um efeito de sombra ao seu redor." L["STRING_OPTIONS_TEXT_LPOSITION"] = "Mostrar N\195\186mero" -- Needs review L["STRING_OPTIONS_TEXT_LPOSITION_DESC"] = "Mostra o n\195\186mero da coloca\195\167\195\163o do jogador ao lado esquerdo do seu nome." -- Needs review L["STRING_OPTIONS_TEXT_RCLASSCOLOR"] = "Texto Direito Cor da Classe" -L["STRING_OPTIONS_TEXT_RCLASSCOLOR_DESC"] = "Quando ativado a cor do texto da direita sera automaticamento ajustado para a cor da classe do personagem mostrado.\ +L["STRING_OPTIONS_TEXT_RCLASSCOLOR_DESC"] = "Quando ativado a cor do texto da direita ser\195\161 automaticamente ajustado para a cor da classe do personagem mostrado.\ \ -Quando desligado a cor na caixa a direita eh usado." +Quando desligado a cor na caixa a direita \195\169 usado." -- Needs review L["STRING_OPTIONS_TEXT_RIGHT_ANCHOR"] = "Texto a Direita:" L["STRING_OPTIONS_TEXT_ROUTILINE"] = "Sombra do Texto Direito" L["STRING_OPTIONS_TEXT_ROUTILINE_DESC"] = "Quando ativado o texto da direita ganhara um efeito de sombra ao seu redor." @@ -905,7 +939,7 @@ L["STRING_OPTIONS_TOOLBAR2_SETTINGS"] = "Configura\195\167\195\181es do menu dir L["STRING_OPTIONS_TOOLBAR2_SETTINGS_DESC"] = "This options change the reset, instance and close buttons from the toolbar menu on the top of the window." L["STRING_OPTIONS_TOOLBAR_SETTINGS"] = "Configura\195\167\195\181es do menu esquerdo" L["STRING_OPTIONS_TOOLBAR_SETTINGS_DESC"] = "Essa op\195\167\195\163o altera o menu principal no topo da janela" -L["STRING_OPTIONS_TOOLBARSIDE"] = "Toolbar Anchor" +L["STRING_OPTIONS_TOOLBARSIDE"] = "\195\130ncora da Barra de Ferramentas" -- Needs review L["STRING_OPTIONS_TOOLBARSIDE_DESC"] = "Coloca a barra de ferramentas no topo ou no fundo de uma janela." L["STRING_OPTIONS_TOOLTIP_ANCHOR"] = "Configura\195\167\195\181es:" L["STRING_OPTIONS_TOOLTIP_ANCHORTEXTS"] = "Textos:" @@ -922,7 +956,7 @@ L["STRING_OPTIONS_TOOLTIPS_ANCHOR_TO"] = "\195\130ncora" L["STRING_OPTIONS_TOOLTIPS_ANCHOR_TO1"] = "Barra da Janela" L["STRING_OPTIONS_TOOLTIPS_ANCHOR_TO2"] = "Ponto na Tela" L["STRING_OPTIONS_TOOLTIPS_ANCHOR_TO_CHOOSE"] = "Mover o Ponto na Tela" -L["STRING_OPTIONS_TOOLTIPS_ANCHOR_TO_CHOOSE_DESC"] = "Move a poci\195\167\195\163o da \195\162ncora quando o tipo da \195\162ncora esta em |cFFFFFF00Ponto na Tela|r." +L["STRING_OPTIONS_TOOLTIPS_ANCHOR_TO_CHOOSE_DESC"] = "Move a posi\195\167\195\163o da \195\162ncora quando o tipo da \195\162ncora esta em |cFFFFFF00Ponto na Tela|r." -- Needs review L["STRING_OPTIONS_TOOLTIPS_ANCHOR_TO_DESC"] = "O tooltip \195\169 mostrado sobre uma barra da janela ou anexado a um ponto fixo na tela." L["STRING_OPTIONS_TOOLTIPS_BACKGROUNDCOLOR"] = "Cor de fundo" L["STRING_OPTIONS_TOOLTIPS_BACKGROUNDCOLOR_DESC"] = "Seleciona a cor usada no fundo." @@ -937,12 +971,12 @@ L["STRING_OPTIONS_TOOLTIPS_FONTSIZE_DESC"] = "Aumenta ou diminui o tamanho do te L["STRING_OPTIONS_TOOLTIPS_MAXIMIZE"] = "Maximizar m\195\169todo" L["STRING_OPTIONS_TOOLTIPS_MAXIMIZE1"] = "usando Shift Ctrl Alt" L["STRING_OPTIONS_TOOLTIPS_MAXIMIZE2"] = "Sempre maximizado" -L["STRING_OPTIONS_TOOLTIPS_MAXIMIZE3"] = "Apenas Shift Block" -L["STRING_OPTIONS_TOOLTIPS_MAXIMIZE4"] = "Apenas Ctrl Block" -L["STRING_OPTIONS_TOOLTIPS_MAXIMIZE5"] = "Apenas Alt Block" +L["STRING_OPTIONS_TOOLTIPS_MAXIMIZE3"] = "Apenas o Bloco do SHIFT" -- Needs review +L["STRING_OPTIONS_TOOLTIPS_MAXIMIZE4"] = "Apenas o bloco do CTRL" -- Needs review +L["STRING_OPTIONS_TOOLTIPS_MAXIMIZE5"] = "Apenas o bloco do ALT" -- Needs review L["STRING_OPTIONS_TOOLTIPS_MAXIMIZE_DESC"] = "Seleciona o m\195\169todo utilizado para expandir a informa\195\167\195\163o exibida no tooltip.\ \ -|cFFFFFF00 Teclas de Controle|r: a caixa do tooltip \195\169 expandida ao precionar Shift, Ctrl or Alt.\ +|cFFFFFF00 Teclas de Controle|r: a caixa do tooltip \195\169 expandida ao pressionar Shift, Ctrl or Alt.\ \ |cFFFFFF00 Sempre Maximizado|r: O tooltip sempre mostra toda a informa\195\167\195\163o sem nenhuma limita\195\167\195\163o de linhas.\ \ @@ -950,13 +984,13 @@ L["STRING_OPTIONS_TOOLTIPS_MAXIMIZE_DESC"] = "Seleciona o m\195\169todo utilizad \ |cFFFFFF00Apenas o bloco Ctrl|r: o segundo bloco \195\169 sempre expandido por padr\195\163o.\ \ -|cFFFFFF00Apenas o bloco Alt|r: o terceiro bloco \195\169 sempre expandido por padr\195\163o." +|cFFFFFF00Apenas o bloco Alt|r: o terceiro bloco \195\169 sempre expandido por padr\195\163o." -- Needs review L["STRING_OPTIONS_TOOLTIPS_OFFSETX"] = "Dist\195\162ncia X" L["STRING_OPTIONS_TOOLTIPS_OFFSETX_DESC"] = "Qu\195\163o distante horizontalmente o tooltip \195\169 colocado da sua \195\162ncora." L["STRING_OPTIONS_TOOLTIPS_OFFSETY"] = "Dist\195\162ncia Y" L["STRING_OPTIONS_TOOLTIPS_OFFSETY_DESC"] = "Qu\195\163o distante verticalmente o tooltip \195\169 colocado da sua \195\162ncora" L["STRING_OPTIONS_TOOLTIPS_SHOWAMT"] = "Mostrar quantidade" -L["STRING_OPTIONS_TOOLTIPS_SHOWAMT_DESC"] = "Exibe um n\195\186mero indicando quantos feiti\195\167\195\181es, alvos e pets existem no tooptip." +L["STRING_OPTIONS_TOOLTIPS_SHOWAMT_DESC"] = "Exibe um n\195\186mero indicando quantas abilidades, alvos e pets existem no tooptip." -- Needs review L["STRING_OPTIONS_TOOLTIPS_TITLE"] = "Tooltips" L["STRING_OPTIONS_TOOLTIPS_TITLE_DESC"] = "Essa op\195\167\195\163o controla a apar\195\170ncia dos tooltips." L["STRING_OPTIONS_WALLPAPER_ALPHA"] = "Transpar\195\170ncia:" -- Needs review @@ -1005,38 +1039,38 @@ L["STRING_OPTIONS_WC_REOPEN"] = "Reabrir" -- Needs review L["STRING_OPTIONS_WC_UNLOCK"] = "Destravar" -- Needs review L["STRING_OPTIONS_WC_UNSNAP"] = "Desgrudar" -- Needs review L["STRING_OPTIONS_WC_UNSNAP_DESC"] = "Quebra o link entre duas janelas grudadas." -- Needs review -L["STRING_OPTIONS_WINDOW"] = "Painel de Opcoes" +L["STRING_OPTIONS_WINDOW"] = "Painel de Op\195\167\195\181es" -- Needs review L["STRING_OPTIONS_WINDOW_ANCHOR"] = "Ajustes de apar\195\170ncia:" -L["STRING_OPTIONS_WINDOWSPEED"] = "Velocidade de Atualizacao" -L["STRING_OPTIONS_WINDOWSPEED_DESC"] = "Segundos entre cada atualizacao da janela.\ +L["STRING_OPTIONS_WINDOWSPEED"] = "Velocidade de Atualiza\195\167\195\163o" -- Needs review +L["STRING_OPTIONS_WINDOWSPEED_DESC"] = "Segundos entre cada atualiza\195\167\195\163o da janela.\ \ |cFFFFFFFF0.3|r: atualiza cerca de 3 vezes por segundo.\ \ -|cFFFFFFFF3.0|r: atualiza a cada 3 segundos." +|cFFFFFFFF3.0|r: atualiza a cada 3 segundos." -- Needs review L["STRING_OPTIONS_WINDOW_TITLE"] = "Configura\195\167\195\181es de Janela" L["STRING_OPTIONS_WINDOW_TITLE_DESC"] = "Essa op\195\167\195\163o controla a apar\195\170ncia da janela de uma inst\195\162ncia selecionada." L["STRING_OPTIONS_WP"] = "Papel de Parede" L["STRING_OPTIONS_WP_ALIGN"] = "Alinhamento" -L["STRING_OPTIONS_WP_ALIGN_DESC"] = "Selecione como o papel de parede sera alinhado com a janela.\ +L["STRING_OPTIONS_WP_ALIGN_DESC"] = "Selecione como o papel de parede ser\195\161 alinhado com a janela.\ \ -- |cFFFFFFFFPreencher|r: redimenciona e alinha com os quatro cantos da janela.\ +- |cFFFFFFFFPreencher|r: redimensiona e alinha com os quatro cantos da janela.\ \ -- |cFFFFFFFFCentralizado|r: nao redimenciona e alinha com o centro da jane\195\167a.\ +- |cFFFFFFFFCentralizado|r: n\195\163o redimensiona e alinha com o centro da jane\195\167a.\ \ --|cFFFFFFFFEsticado|r: redimenciona na vertical ou horizontal e alinha com os cantos da esquerda-direita ou lado superior-inferior.\ +-|cFFFFFFFFEsticado|r: redimensiona na vertical ou horizontal e alinha com os cantos da esquerda-direita ou lado superior-inferior.\ \ --|cFFFFFFFFQuatro Laterais|r: alinha com um canto especifico, nao ha redimencionamento automatico." -L["STRING_OPTIONS_WP_DESC"] = "Estas opcoes controlam o papel de parede que eh mostrado no fundo da janela." +-|cFFFFFFFFQuatro Laterais|r: alinha com um canto especifico, n\195\163o h\195\161 redimensionamento autom\195\161tico." -- Needs review +L["STRING_OPTIONS_WP_DESC"] = "Estas op\195\167\195\181es controlam o papel de parede que eh mostrado no fundo da janela." -- Needs review L["STRING_OPTIONS_WP_EDIT"] = "Editar Imagem" L["STRING_OPTIONS_WP_EDIT_DESC"] = "Abre o editor de imagens para alterar os aspectos do papel de parede escolhido." L["STRING_OPTIONS_WP_ENABLE"] = "Ativar/Desativar" L["STRING_OPTIONS_WP_ENABLE_DESC"] = "Liga ou desliga o papel de parede.\ \ -Voce pode escolher qual papel de parede voce deseja usar nas caixas abaixo." +Voc\195\170 pode escolher qual papel de parede voc\195\170 deseja usar nas caixas abaixo." -- Needs review L["STRING_OPTIONS_WP_GROUP"] = "Categoria" L["STRING_OPTIONS_WP_GROUP2"] = "Papel de Parede" -L["STRING_OPTIONS_WP_GROUP2_DESC"] = "Selecione qual voce deseja colocar no fundo da janela, para mais opcoes troque de categoria na caixa da esquerda." -L["STRING_OPTIONS_WP_GROUP_DESC"] = "Nesta caixa, selecione o tipo do papel de parede, apos selecionar, a caixa a direita ira mostrar as opcoes da categoria escolhida." +L["STRING_OPTIONS_WP_GROUP2_DESC"] = "Selecione qual voc\195\170 deseja colocar no fundo da janela, para mais op\195\167\195\181es troque de categoria na caixa da esquerda." -- Needs review +L["STRING_OPTIONS_WP_GROUP_DESC"] = "Nesta caixa, selecione o tipo do papel de parede, ap\195\179s selecionar, a caixa a direita ira mostrar as opcoes da categoria escolhida." -- Needs review L["STRING_OVERALL"] = "Dados Gerais" L["STRING_OVERHEAL"] = "Sobrecura" L["STRING_OVERHEALED"] = "Sobrecura" @@ -1053,11 +1087,11 @@ L["STRING_PLUGIN_CLOCKTYPE"] = "Tipo do Tempo" L["STRING_PLUGIN_DURABILITY"] = "Durabilidade" L["STRING_PLUGIN_FPS"] = "Quadros por Segundo" L["STRING_PLUGIN_GOLD"] = "Dinheiro" -L["STRING_PLUGIN_LATENCY"] = "Latencia" +L["STRING_PLUGIN_LATENCY"] = "Lat\195\170ncia" -- Needs review L["STRING_PLUGIN_MINSEC"] = "Minutos & Segundos" -L["STRING_PLUGIN_NAMEALREADYTAKEN"] = "Details! nao pode instalar um plugin pois o nome dele ja esta em uso" +L["STRING_PLUGIN_NAMEALREADYTAKEN"] = "Details! n\195\163o pode instalar um plugin pois o nome dele j\195\161 esta em uso" -- Needs review L["STRING_PLUGINOPTIONS_ABBREVIATE"] = "Abreviar" -L["STRING_PLUGINOPTIONS_COMMA"] = "Virgula" +L["STRING_PLUGINOPTIONS_COMMA"] = "V\195\173rgula" -- Needs review L["STRING_PLUGINOPTIONS_FONTFACE"] = "Fonte" L["STRING_PLUGINOPTIONS_NOFORMAT"] = "Nenhum" L["STRING_PLUGINOPTIONS_TEXTALIGN"] = "Alinhamento" @@ -1069,24 +1103,24 @@ L["STRING_PLUGINOPTIONS_TEXTSTYLE"] = "Estilo do Texto" L["STRING_PLUGIN_PATTRIBUTENAME"] = "Atributo" L["STRING_PLUGIN_PDPSNAME"] = "Dps da Raide" L["STRING_PLUGIN_PSEGMENTNAME"] = "Segmento Mostrado" -L["STRING_PLUGIN_SECONLY"] = "Somentte Segundos" +L["STRING_PLUGIN_SECONLY"] = "Somente Segundos" -- Needs review L["STRING_PLUGIN_SEGMENTTYPE"] = "Tipo de Segmento" L["STRING_PLUGIN_SEGMENTTYPE_1"] = "Combate #X" L["STRING_PLUGIN_SEGMENTTYPE_2"] = "Nome do Encontro" L["STRING_PLUGIN_SEGMENTTYPE_3"] = "Nome do encontro mais segmento" L["STRING_PLUGIN_THREATNAME"] = "Minha Amea\195\167a" -L["STRING_PLUGIN_TIME"] = "Relogio" -L["STRING_PLUGIN_TIMEDIFF"] = "Diferenca do Ultimo Combate" +L["STRING_PLUGIN_TIME"] = "Rel\195\179gio" -- Needs review +L["STRING_PLUGIN_TIMEDIFF"] = "Diferen\195\167a do Ultimo Combate" -- Needs review L["STRING_PLUGIN_TOOLTIP_LEFTBUTTON"] = "Configura a ferramenta atual" L["STRING_PLUGIN_TOOLTIP_RIGHTBUTTON"] = "Escolher uma outra ferramenta" L["STRING_RAID_WIDE"] = "[*] cooldown de raide" -L["STRING_REPORT"] = "Relatorio para" -L["STRING_REPORT_BUTTON_TOOLTIP"] = "Clique para abrir a Caixa de Relatorios." +L["STRING_REPORT"] = "Relat\195\179rio para" -- Needs review +L["STRING_REPORT_BUTTON_TOOLTIP"] = "Clique para abrir a Caixa de Relat\195\179rios." -- Needs review L["STRING_REPORT_FIGHT"] = "luta" L["STRING_REPORT_FIGHTS"] = "lutas" L["STRING_REPORTFRAME_COPY"] = "Copiar e Colar" L["STRING_REPORTFRAME_CURRENT"] = "Mostrando" -L["STRING_REPORTFRAME_CURRENTINFO"] = "Reporta apenas as informacoes que estao sendo mostradas no momento." +L["STRING_REPORTFRAME_CURRENTINFO"] = "Reporta apenas as informa\195\167\195\181es que est\195\163o sendo mostradas no momento." -- Needs review L["STRING_REPORTFRAME_GUILD"] = "Guilda" L["STRING_REPORTFRAME_INSERTNAME"] = "entre com um nome" L["STRING_REPORTFRAME_LINES"] = "Linhas" @@ -1095,52 +1129,52 @@ L["STRING_REPORTFRAME_PARTY"] = "Grupo" L["STRING_REPORTFRAME_RAID"] = "Raide" L["STRING_REPORTFRAME_REVERT"] = "Inverter" L["STRING_REPORTFRAME_REVERTED"] = "invertido" -L["STRING_REPORTFRAME_REVERTINFO"] = "Inverte as posicoes colocando em ordem crescente." +L["STRING_REPORTFRAME_REVERTINFO"] = "Inverte as posi\195\167\195\181es colocando em ordem crescente." -- Needs review L["STRING_REPORTFRAME_SAY"] = "Dizer" L["STRING_REPORTFRAME_SEND"] = "Enviar" L["STRING_REPORTFRAME_WHISPER"] = "Sussurrar" -L["STRING_REPORTFRAME_WHISPERTARGET"] = "Sussurar o Alvo" -L["STRING_REPORTFRAME_WINDOW_TITLE"] = "Emitir Relatorio" -L["STRING_REPORT_INVALIDTARGET"] = "O alvo nao pode ser encontrado" +L["STRING_REPORTFRAME_WHISPERTARGET"] = "Sussurrar o Alvo" -- Needs review +L["STRING_REPORTFRAME_WINDOW_TITLE"] = "Emitir Relat\195\179rio" -- Needs review +L["STRING_REPORT_INVALIDTARGET"] = "O alvo n\195\163o pode ser encontrado" -- Needs review L["STRING_REPORT_LAST"] = "Ultimas" L["STRING_REPORT_LASTFIGHT"] = "ultima luta" -L["STRING_REPORT_LEFTCLICK"] = "Clique para abrir a janela de relatorio" +L["STRING_REPORT_LEFTCLICK"] = "Clique para abrir a janela de relat\195\179rio" -- Needs review L["STRING_REPORT_PREVIOUSFIGHTS"] = "lutas anteriores" -L["STRING_REPORT_SINGLE_BUFFUPTIME"] = "duracao dos buffs de" +L["STRING_REPORT_SINGLE_BUFFUPTIME"] = "dura\195\167\195\163o dos buffs de" -- Needs review L["STRING_REPORT_SINGLE_COOLDOWN"] = "cooldowns usados por" L["STRING_REPORT_SINGLE_DEATH"] = "detalhes da morte de" -L["STRING_REPORT_SINGLE_DEBUFFUPTIME"] = "duracao dos debuffs de" +L["STRING_REPORT_SINGLE_DEBUFFUPTIME"] = "dura\195\167\195\163o dos debuffs de" -- Needs review L["STRING_RESISTED"] = "Resistido" -L["STRING_RESIZE_ALL"] = "Redimenciona livremente\ - e reajusta todas as janelas" +L["STRING_RESIZE_ALL"] = "Redimensiona livremente\ + e reajusta todas as janelas" -- Needs review L["STRING_RESIZE_COMMON"] = "Redimensiona livremente\ " -L["STRING_RESIZE_HORIZONTAL"] = "Redimenciona a largura\ - de todas as janelas na linha horizontal" -L["STRING_RESIZE_VERTICAL"] = "Redimenciona a altura\ - de todas as janelas na linha horizontal" +L["STRING_RESIZE_HORIZONTAL"] = "Redimensiona a largura\ + de todas as janelas na linha horizontal" -- Needs review +L["STRING_RESIZE_VERTICAL"] = "Redimensiona a altura\ + de todas as janelas na linha horizontal" -- Needs review L["STRING_RIGHT"] = "direita" -L["STRING_RIGHTCLICK_CLOSE_LARGE"] = "Clique com o botao direito do mouse para fechar esta janela." -L["STRING_RIGHTCLICK_CLOSE_MEDIUM"] = "Use o botao direito para fechar esta janela." -L["STRING_RIGHTCLICK_CLOSE_SHORT"] = "Botao direito para fechar." -L["STRING_RIGHTCLICK_TYPEVALUE"] = "botao direito para digitar o valor" +L["STRING_RIGHTCLICK_CLOSE_LARGE"] = "Clique com o bot\195\163o direito do mouse para fechar esta janela." -- Needs review +L["STRING_RIGHTCLICK_CLOSE_MEDIUM"] = "Use o bot\195\163o direito para fechar esta janela." -- Needs review +L["STRING_RIGHTCLICK_CLOSE_SHORT"] = "Bot\195\163o direito para fechar." -- Needs review +L["STRING_RIGHTCLICK_TYPEVALUE"] = "bot\195\163o direito para digitar o valor" -- Needs review L["STRING_SEE_BELOW"] = "veja abaixo" L["STRING_SEGMENT"] = "Segmento" L["STRING_SEGMENT_EMPTY"] = "este segmento esta vazio" L["STRING_SEGMENT_END"] = "Fim" L["STRING_SEGMENT_ENEMY"] = "Contra" L["STRING_SEGMENT_LOWER"] = "segmento" -L["STRING_SEGMENT_OVERALL"] = "Total dos Segmentos Atuais" +L["STRING_SEGMENT_OVERALL"] = "Dados Gerais" -- Needs review L["STRING_SEGMENT_START"] = "Inicio" L["STRING_SEGMENT_TIME"] = "Tempo" -L["STRING_SEGMENT_TRASH"] = "Caminho do Proximo Boss" -L["STRING_SHORTCUT_RIGHTCLICK"] = "Menu de Atalho (botao direito para fechar)" +L["STRING_SEGMENT_TRASH"] = "Limpeza de Trash" -- Needs review +L["STRING_SHORTCUT_RIGHTCLICK"] = "Menu de Atalho (bot\195\163o direito para fechar)" -- Needs review L["STRING_SLASH_CAPTUREOFF"] = "todas as capturas foram desligadas." L["STRING_SLASH_CAPTUREON"] = "todas as capturas foram ligadas." L["STRING_SLASH_CHANGES"] = "updates" L["STRING_SLASH_CHANGES_ALIAS1"] = "novidades" -- Needs review L["STRING_SLASH_CHANGES_ALIAS2"] = "mudan\195\167as" -- Needs review -L["STRING_SLASH_CHANGES_DESC"] = "mostra o que foi implementado e corrigido nesta versao do Details." +L["STRING_SLASH_CHANGES_DESC"] = "mostra o que foi implementado e corrigido nesta vers\195\163o do Details." -- Needs review L["STRING_SLASH_DISABLE"] = "desativar" L["STRING_SLASH_DISABLE_DESC"] = "desliga todas as capturas de dados." L["STRING_SLASH_ENABLE"] = "ativa" @@ -1149,38 +1183,36 @@ L["STRING_SLASH_HIDE"] = "esconder" -- Needs review L["STRING_SLASH_HIDE_ALIAS1"] = "fechar" -- Needs review L["STRING_SLASH_HIDE_DESC"] = "fecha todas as janelas abertas." -- Needs review L["STRING_SLASH_NEW"] = "novo" -L["STRING_SLASH_NEW_DESC"] = "abre ou reabre uma instancia." -L["STRING_SLASH_OPTIONS"] = "opcoes" -L["STRING_SLASH_OPTIONS_DESC"] = "abre o painel de opcoes." +L["STRING_SLASH_NEW_DESC"] = "abre ou reabre uma janela." -- Needs review +L["STRING_SLASH_OPTIONS"] = "op\195\167\195\181es" -- Needs review +L["STRING_SLASH_OPTIONS_DESC"] = "abre o painel de op\195\167\195\181es." -- Needs review L["STRING_SLASH_SHOW"] = "mostrar" L["STRING_SLASH_SHOW_ALIAS1"] = "abrir" -- Needs review -L["STRING_SLASH_SHOW_DESC"] = "abre uma janela caso nao tenha nenhuma aberta." +L["STRING_SLASH_SHOW_DESC"] = "abre uma janela caso n\195\163o tenha nenhuma aberta." -- Needs review L["STRING_SLASH_WIPECONFIG"] = "reinstalar" -L["STRING_SLASH_WIPECONFIG_CONFIRM"] = "Continuar com a reinstalacao?." -L["STRING_SLASH_WIPECONFIG_DESC"] = "faz a reinstalacao do addon limpando toda a configuracao, use caso o Details! nao esteja funcionando corretamente." +L["STRING_SLASH_WIPECONFIG_CONFIRM"] = "Continuar com a reinstala\195\167\195\163o?." -- Needs review +L["STRING_SLASH_WIPECONFIG_DESC"] = "faz a reinstala\195\167\195\163o do addon limpando toda a configura\195\167\195\163o, use caso o Details! n\195\163o esteja funcionando corretamente." -- Needs review L["STRING_SLASH_WORLDBOSS"] = "worldboss" -L["STRING_SLASH_WORLDBOSS_DESC"] = "executa uma macro mostrando quais 'world boss' voce matou esta semana." +L["STRING_SLASH_WORLDBOSS_DESC"] = "executa uma macro mostrando quais 'world boss' voc\195\170 matou esta semana." -- Needs review L["STRING_SPELL_INTERRUPTED"] = "Magias Interrompidas" L["STRING_SPELLS"] = "Habilidades" -L["STRING_STATUSBAR_NOOPTIONS"] = "Nao ha opcoes para esta ferramenta." +L["STRING_STATUSBAR_NOOPTIONS"] = "N\195\163o h\195\161 opcoes para esta ferramenta." -- Needs review L["STRING_SWITCH_CLICKME"] = "clique-me" L["STRING_SWITCH_WARNING"] = "Especializa\195\167\195\163o Alterada. Trocando: |cFFFFAA00%s|r " -- Needs review L["STRING_TARGET"] = "Alvo" L["STRING_TARGETS"] = "Alvos" L["STRING_TIME_OF_DEATH"] = "Morreu" -L["STRING_TOOOLD"] = "nao pode ser instalado pois sua versao do Details! e muito antiga." +L["STRING_TOOOLD"] = "n\195\163o pode ser instalado pois sua vers\195\163o do Details! e muito antiga." -- Needs review L["STRING_TOP"] = "topo" L["STRING_TOTAL"] = "Total" L["STRING_UNKNOW"] = "Desconhecido" L["STRING_UNKNOWSPELL"] = "Magia Desconhecida" L["STRING_UNLOCK"] = "Separe as janelas\ - neste botao" +neste bot\195\163o" -- Needs review L["STRING_UNLOCK_WINDOW"] = "destravar" L["STRING_UPTADING"] = "atualizando" -L["STRING_VERSION_UPDATE"] = "nova versao: clique para ver o que mudou" +L["STRING_VERSION_UPDATE"] = "nova vers\195\163o: clique para ver o que mudou" -- Needs review L["STRING_VOIDZONE_TOOLTIP"] = "Dano e tempo:" L["STRING_WAITPLUGIN"] = "esperando por\ plugins" L["STRING_YES"] = "Sim" - - diff --git a/plugins/Details_EncounterDetails/Details_EncounterDetails.lua b/plugins/Details_EncounterDetails/Details_EncounterDetails.lua index 85f8cc73..1ec86c6c 100644 --- a/plugins/Details_EncounterDetails/Details_EncounterDetails.lua +++ b/plugins/Details_EncounterDetails/Details_EncounterDetails.lua @@ -1507,13 +1507,7 @@ function EncounterDetails:OnEvent (_, event, ...) show_icon = 5, --automatic hide_on_combat = false, --hide the window when a new combat start } - - -- 1 = only when inside a raid map - -- 2 = only when in raid group - -- 3 = only after a boss encounter - -- 4 = always show - -- 5 = automatic show when have at least 1 encounter with boss - + --> Install local install, saveddata, is_enabled = _G._detalhes:InstallPlugin ( PLUGIN_TYPE, diff --git a/plugins/Details_EncounterDetails/frames.lua b/plugins/Details_EncounterDetails/frames.lua index 3a82962a..7043356e 100644 --- a/plugins/Details_EncounterDetails/frames.lua +++ b/plugins/Details_EncounterDetails/frames.lua @@ -43,10 +43,11 @@ do options_frame.TitleText:SetText ("Encounter Details Options") options_frame.portrait:SetTexture ([[Interface\CHARACTERFRAME\TEMPORARYPORTRAIT-FEMALE-BLOODELF]]) --- 1 = only when inside a raid map --- 2 = only when in raid group --- 3 = only after a boss encounter --- 4 = always show + -- 1 = only when inside a raid map + -- 2 = only when in raid group + -- 3 = only after a boss encounter + -- 4 = always show + -- 5 = automatic show when have at least 1 encounter with boss local set = function (_, _, value) EncounterDetails.db.show_icon = value diff --git a/plugins/Details_TinyThreat/Details_TinyThreat.lua b/plugins/Details_TinyThreat/Details_TinyThreat.lua index dacc5995..a9ab8be9 100644 --- a/plugins/Details_TinyThreat/Details_TinyThreat.lua +++ b/plugins/Details_TinyThreat/Details_TinyThreat.lua @@ -9,11 +9,14 @@ local _UnitDetailedThreatSituation = UnitDetailedThreatSituation local _IsInRaid = IsInRaid --> wow api local _IsInGroup = IsInGroup --> wow api local _UnitGroupRolesAssigned = UnitGroupRolesAssigned --> wow api +local GetUnitName = GetUnitName local _ipairs = ipairs --> lua api local _table_sort = table.sort --> lua api local _cstr = string.format --> lua api local _unpack = unpack +local _math_floor = math.floor +local _math_abs = math.abs local RAID_CLASS_COLORS = RAID_CLASS_COLORS --> Create the plugin Object @@ -56,6 +59,7 @@ local function CreatePluginFrames (data) ThreatMeter:Cancel() elseif (event == "SHOW") then + instance = ThreatMeter:GetInstance (ThreatMeter.instance_id) ThreatMeter.RowWidth = instance.baseframe:GetWidth()-6 @@ -70,6 +74,9 @@ local function CreatePluginFrames (data) ThreatMeter.Actived = false if (ThreatMeter:IsInCombat() or UnitAffectingCombat ("player")) then + if (not ThreatMeter.initialized) then + return + end ThreatMeter.Actived = true ThreatMeter:Start() end @@ -200,14 +207,6 @@ local function CreatePluginFrames (data) return false end end - --[[ - local percent = threat_actor [2] - if (percentagem >= 50) then - thisRow:SetColor ( percent/100, 1, 0, 1) - else - thisRow:SetColor ( 1, percent/100, 0, 1) - end ---]] local Threater = function() @@ -229,9 +228,11 @@ local function CreatePluginFrames (data) if (status) then threat_table [2] = threatpct threat_table [3] = isTanking + threat_table [6] = threatvalue else threat_table [2] = 0 threat_table [3] = false + threat_table [6] = 0 end end @@ -252,9 +253,11 @@ local function CreatePluginFrames (data) if (status) then threat_table [2] = threatpct threat_table [3] = isTanking + threat_table [6] = threatvalue else threat_table [2] = 0 threat_table [3] = false + threat_table [6] = 0 end end @@ -266,9 +269,11 @@ local function CreatePluginFrames (data) if (status) then threat_table [2] = threatpct threat_table [3] = isTanking + threat_table [6] = threatvalue else threat_table [2] = 0 threat_table [3] = false + threat_table [6] = 0 end else @@ -282,9 +287,11 @@ local function CreatePluginFrames (data) if (status) then threat_table [2] = threatpct threat_table [3] = isTanking + threat_table [6] = threatvalue else threat_table [2] = 0 threat_table [3] = false + threat_table [6] = 0 end --> pet @@ -298,9 +305,11 @@ local function CreatePluginFrames (data) if (status) then threat_table [2] = threatpct threat_table [3] = isTanking + threat_table [6] = threatvalue else threat_table [2] = 0 threat_table [3] = false + threat_table [6] = 0 end end end @@ -321,9 +330,39 @@ local function CreatePluginFrames (data) local lastIndex = 0 local shownMe = false - for index = 1, #ThreatMeter.ShownRows do + local pullRow = ThreatMeter.ShownRows [1] + local me = ThreatMeter.player_list_indexes [ ThreatMeter.player_list_hash [player] ] + if (me) then + + local myThreat = me [6] or 0 + local myRole = me [4] + + local topThreat = ThreatMeter.player_list_indexes [1] + local aggro = topThreat [6] * (CheckInteractDistance ("target", 3) and 1.1 or 1.3) + + pullRow:SetLeftText ("Pull Aggro At") + local realPercent = _math_floor (aggro / topThreat [6] * 100) + pullRow:SetRightText ("+" .. ThreatMeter:ToK2 (aggro - myThreat) .. " (" .. _math_floor (_math_abs ((myThreat / aggro * 100) - realPercent)) .. "%)") -- + --thisRow.textleft:SetTextColor () + pullRow:SetValue (100) + + local myPercentToAggro = myThreat / aggro * 100 + local r, g = myPercentToAggro / 100, (100-myPercentToAggro) / 100 + pullRow:SetColor (r, g, 0) + pullRow._icon:SetTexture ([[Interface\PVPFrame\Icon-Combat]]) + --pullRow._icon:SetVertexColor (r, g, 0) + pullRow._icon:SetTexCoord (0, 1, 0, 1) + + pullRow:Show() + else + if (pullRow) then + pullRow:Hide() + end + end + + for index = 2, #ThreatMeter.ShownRows do local thisRow = ThreatMeter.ShownRows [index] - local threat_actor = ThreatMeter.player_list_indexes [index] + local threat_actor = ThreatMeter.player_list_indexes [index-1] if (threat_actor) then local role = threat_actor [4] @@ -336,15 +375,15 @@ local function CreatePluginFrames (data) local pct = threat_actor [2] - thisRow:SetRightText (_cstr ("%.1f", pct).."%") + thisRow:SetRightText (ThreatMeter:ToK2 (threat_actor [6]) .. " (" .. _cstr ("%.1f", pct) .. "%)") thisRow:SetValue (pct) - if (index == 1) then - thisRow:SetColor (pct*0.01, math.abs (pct-100)*0.01, 0, 1) + if (index == 2) then + thisRow:SetColor (pct*0.01, _math_abs (pct-100)*0.01, 0, 1) else - thisRow:SetColor (pct*0.01, math.abs (pct-100)*0.01, 0, .3) + thisRow:SetColor (pct*0.01, _math_abs (pct-100)*0.01, 0, .3) if (pct >= 50) then - thisRow:SetColor ( 1, math.abs (pct - 100)/100, 0, 1) + thisRow:SetColor ( 1, _math_abs (pct - 100)/100, 0, 1) else thisRow:SetColor (pct/100, 1, 0, 1) end @@ -371,9 +410,9 @@ local function CreatePluginFrames (data) --thisRow.textleft:SetTextColor (unpack (RAID_CLASS_COLORS [threat_actor [5]])) local role = threat_actor [4] thisRow._icon:SetTexCoord (_unpack (RoleIconCoord [role])) - thisRow:SetRightText (_cstr ("%.1f", threat_actor [2]).."%") + thisRow:SetRightText (ThreatMeter:ToK2 (threat_actor [6]) .. " (" .. _cstr ("%.1f", threat_actor [2]) .. "%)") thisRow:SetValue (threat_actor [2]) - thisRow:SetColor (threat_actor [2]*0.01, math.abs (threat_actor [2]-100)*0.01, 0, .3) + thisRow:SetColor (threat_actor [2]*0.01, _math_abs (threat_actor [2]-100)*0.01, 0, .3) end end end @@ -418,7 +457,7 @@ local function CreatePluginFrames (data) local thisplayer_name = GetUnitName ("raid"..i, true) local role = _UnitGroupRolesAssigned (thisplayer_name) local _, class = UnitClass (thisplayer_name) - local t = {thisplayer_name, 0, false, role, class} + local t = {thisplayer_name, 0, false, role, class, 0} ThreatMeter.player_list_indexes [#ThreatMeter.player_list_indexes+1] = t ThreatMeter.player_list_hash [thisplayer_name] = #ThreatMeter.player_list_indexes end @@ -428,14 +467,14 @@ local function CreatePluginFrames (data) local thisplayer_name = GetUnitName ("party"..i, true) local role = _UnitGroupRolesAssigned (thisplayer_name) local _, class = UnitClass (thisplayer_name) - local t = {thisplayer_name, 0, false, role, class} + local t = {thisplayer_name, 0, false, role, class, 0} ThreatMeter.player_list_indexes [#ThreatMeter.player_list_indexes+1] = t ThreatMeter.player_list_hash [thisplayer_name] = #ThreatMeter.player_list_indexes end local thisplayer_name = GetUnitName ("player", true) local role = _UnitGroupRolesAssigned (thisplayer_name) local _, class = UnitClass (thisplayer_name) - local t = {thisplayer_name, 0, false, role, class} + local t = {thisplayer_name, 0, false, role, class, 0} ThreatMeter.player_list_indexes [#ThreatMeter.player_list_indexes+1] = t ThreatMeter.player_list_hash [thisplayer_name] = #ThreatMeter.player_list_indexes @@ -443,14 +482,14 @@ local function CreatePluginFrames (data) local thisplayer_name = GetUnitName ("player", true) local role = _UnitGroupRolesAssigned (thisplayer_name) local _, class = UnitClass (thisplayer_name) - local t = {thisplayer_name, 0, false, role, class} + local t = {thisplayer_name, 0, false, role, class, 0} ThreatMeter.player_list_indexes [#ThreatMeter.player_list_indexes+1] = t ThreatMeter.player_list_hash [thisplayer_name] = #ThreatMeter.player_list_indexes if (UnitExists ("pet")) then local thispet_name = GetUnitName ("pet", true) .. " *PET*" local role = "DAMAGER" - local t = {thispet_name, 0, false, role, class} + local t = {thispet_name, 0, false, role, class, 0} ThreatMeter.player_list_indexes [#ThreatMeter.player_list_indexes+1] = t ThreatMeter.player_list_hash [thispet_name] = #ThreatMeter.player_list_indexes end @@ -480,6 +519,74 @@ local function CreatePluginFrames (data) end +local build_options_panel = function() + local options_frame = CreateFrame ("frame", "ThreatMeterOptionsWindow", UIParent) + tinsert (UISpecialFrames, "ThreatMeterOptionsWindow") + options_frame:SetSize (500, 200) + options_frame:SetFrameStrata ("DIALOG") + options_frame:SetScript ("OnMouseDown", function(self, button) + if (button == "RightButton") then + if (self.moving) then + self.moving = false + self:StopMovingOrSizing() + end + return options_frame:Hide() + elseif (button == "LeftButton" and not self.moving) then + self.moving = true + self:StartMoving() + end + end) + options_frame:SetScript ("OnMouseUp", function(self) + if (self.moving) then + self.moving = false + self:StopMovingOrSizing() + end + end) + options_frame:SetMovable (true) + options_frame:EnableMouse (true) + options_frame:Hide() + options_frame:SetPoint ("center", UIParent, "center") + + options_frame:SetBackdrop ({bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", tile = true, tileSize = 16, + edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 32, + insets = {left = 5, right = 5, top = 5, bottom = 5}}) + options_frame:SetBackdropColor (.3, .3, .3, .3) + + local title = ThreatMeter.gump:NewLabel (options_frame, nil, "$parentTitle", nil, "Tiny Threat Options", nil, 20, "yellow") + title:SetPoint (12, -13) + ThreatMeter:SetFontOutline (title, true) + + local c = CreateFrame ("Button", nil, options_frame, "UIPanelCloseButton") + c:SetWidth (32) + c:SetHeight (32) + c:SetPoint ("TOPRIGHT", options_frame, "TOPRIGHT", -3, -3) + c:SetFrameLevel (options_frame:GetFrameLevel()+1) + + local menu = { + { + type = "range", + get = function() return ThreatMeter.saveddata.updatespeed end, + set = function (self, fixedparam, value) ThreatMeter.saveddata.updatespeed = value end, + min = 0.2, + max = 3, + step = 0.2, + desc = "How fast the window get updates.", + name = "Update Speed", + usedecimals = true, + }, + } + + _detalhes.gump:BuildMenu (options_frame, menu, 15, -65, 260) + +end + +ThreatMeter.OpenOptionsPanel = function() + if (not ThreatMeterOptionsWindow) then + build_options_panel() + end + ThreatMeterOptionsWindow:Show() +end + function ThreatMeter:OnEvent (_, event, ...) if (event == "PLAYER_TARGET_CHANGED") then @@ -572,6 +679,8 @@ function ThreatMeter:OnEvent (_, event, ...) end + ThreatMeter.initialized = true + end end diff --git a/plugins/Details_YouAreNotPrepared/Details_YouAreNotPrepared.lua b/plugins/Details_YouAreNotPrepared/Details_YouAreNotPrepared.lua index fcf9cead..4f281b74 100644 --- a/plugins/Details_YouAreNotPrepared/Details_YouAreNotPrepared.lua +++ b/plugins/Details_YouAreNotPrepared/Details_YouAreNotPrepared.lua @@ -1,439 +1,489 @@ -local AceLocale = LibStub ("AceLocale-3.0") -local Loc = AceLocale:GetLocale ("Details_YouAreNotPrepared") +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +--> init the plugin ---> create the plugin object -local YouAreNotPrepared = _detalhes:NewPluginObject ("Details_YouAreNotPrepared", DETAILSPLUGIN_ALWAYSENABLED) -tinsert (UISpecialFrames, "Details_YouAreNotPrepared") ---> main frame (shortcut) -local YouAreNotPreparedFrame = YouAreNotPrepared.Frame + --> localization + local Loc = LibStub ("AceLocale-3.0"):GetLocale ("Details_YouAreNotPrepared") + --> create the plugin object + local YouAreNotPrepared = _detalhes:NewPluginObject ("Details_YouAreNotPrepared", DETAILSPLUGIN_ALWAYSENABLED) + tinsert (UISpecialFrames, "Details_YouAreNotPrepared") + --> main frame (shortcut) + local YouAreNotPreparedFrame = YouAreNotPrepared.Frame -local debugmode = false - -local function CreatePluginFrames() - - --> catch Details! main object - local _detalhes = _G._detalhes - local DetailsFrameWork = _detalhes.gump - - local GameCooltip = GameCooltip - local _GetSpellInfo = _detalhes.getspellinfo + local debugmode = false - YouAreNotPrepared.deaths_table = {} - YouAreNotPrepared.last_death_combat_id = -1 - ----------- event parser ------------- - function YouAreNotPrepared:OnDetailsEvent (event, ...) - if (event == "HIDE") then --> plugin hidded, disabled - self.open = false - - elseif (event == "SHOW") then --> plugin hidded, disabled - self.open = true - - elseif (event == "COMBAT_PLAYER_ENTER") then --> combat started - - elseif (event == "COMBAT_PLAYER_LEAVE") then --> combat ended - YouAreNotPrepared:EndCombat() - - elseif (event == "DETAILS_DATA_RESET") then - table.wipe (YouAreNotPrepared.deaths_table) - YouAreNotPrepared:Clear() - - elseif (event == "PLUGIN_DISABLED") then - table.wipe (YouAreNotPrepared.deaths_table) - YouAreNotPrepared:Clear() - YouAreNotPreparedFrame:Hide() - - elseif (event == "PLUGIN_ENABLED") then - - end - end ----------- build frames ------------- - - local BAR_HEIGHT = 13 - local BAR_AMOUNT = 10 - local BUTTON_AMOUNT = 6 +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +--> init the frames - function YouAreNotPrepared:Clear() - YouAreNotPrepared.deaths_table = {} - _detalhes_databaseYANP = YouAreNotPrepared.deaths_table - - for i = 1, BUTTON_AMOUNT do - local button = YouAreNotPrepared.buttons [i] - button:Disable() - button.widget.b_texture:SetDesaturated (true) - button.lefttext.text = "#" .. i - end - - for bar_index = 1, BAR_AMOUNT do - YouAreNotPrepared.container_bars.bars [bar_index]:Hide() - end - end + local function CreatePluginFrames() - --main frame - YouAreNotPreparedFrame:SetSize (424, 223) - YouAreNotPreparedFrame:SetPoint ("center", UIParent, "center") - YouAreNotPreparedFrame:EnableMouse (true) - YouAreNotPreparedFrame:SetResizable (false) - YouAreNotPreparedFrame:SetMovable (true) - - YouAreNotPreparedFrame:SetScript ("OnMouseUp", function (self, button) - if (button == "RightButton") then - YouAreNotPreparedFrame:Hide() - else - if (YouAreNotPreparedFrame.isMoving) then - YouAreNotPreparedFrame:StopMovingOrSizing() - YouAreNotPreparedFrame.isMoving = false + --> catch Details! main object + local _detalhes = _G._detalhes + local DetailsFrameWork = _detalhes.gump + + local GameCooltip = GameCooltip + local _GetSpellInfo = _detalhes.getspellinfo + + YouAreNotPrepared.last_death_combat_id = -1 + + ---------- event parser ------------- + function YouAreNotPrepared:OnDetailsEvent (event, ...) + if (event == "HIDE") then --> plugin hidded, disabled + self.open = false + + elseif (event == "SHOW") then --> plugin hidded, disabled + self.open = true + + elseif (event == "COMBAT_PLAYER_ENTER") then --> combat started + + elseif (event == "COMBAT_PLAYER_LEAVE") then --> combat ended + YouAreNotPrepared:EndCombat() + + elseif (event == "DETAILS_DATA_RESET") then + table.wipe (YouAreNotPrepared.db.deaths_table) + YouAreNotPrepared:Clear() + + elseif (event == "PLUGIN_DISABLED") then + table.wipe (YouAreNotPrepared.db.deaths_table) + YouAreNotPrepared:Clear() + YouAreNotPreparedFrame:Hide() + + elseif (event == "PLUGIN_ENABLED") then + end end - end) - - YouAreNotPreparedFrame:SetScript ("OnMouseDown", function (self, button) - if (button == "LeftButton") then - if (not YouAreNotPreparedFrame.isMoving) then - YouAreNotPreparedFrame:StartMoving() - YouAreNotPreparedFrame.isMoving = true + + ---------- build frames ------------- + + local BAR_HEIGHT = 13 + local BAR_AMOUNT = 10 + local BUTTON_AMOUNT = 6 + + function YouAreNotPrepared:Clear() + table.wipe (YouAreNotPrepared.db.deaths_table) + + for i = 1, BUTTON_AMOUNT do + local button = YouAreNotPrepared.buttons [i] + button:Disable() + button.widget.b_texture:SetDesaturated (true) + button.lefttext.text = "#" .. i + end + + for bar_index = 1, BAR_AMOUNT do + YouAreNotPrepared.container_bars.bars [bar_index]:Hide() end end - end) - - --close button - local c = CreateFrame ("Button", nil, YouAreNotPreparedFrame, "UIPanelCloseButton") - c:SetWidth (32) - c:SetHeight (32) - c:SetPoint ("TOPRIGHT", YouAreNotPreparedFrame, "TOPRIGHT", 1, -15) - c:SetFrameLevel (YouAreNotPreparedFrame:GetFrameLevel()+1) - - --background image - local b = DetailsFrameWork:NewImage (YouAreNotPreparedFrame, [[Interface\AddOns\Details_YouAreNotPrepared\background]], 512, 256, nil, nil, nil, "$parentBackground") - b:SetPoint ("topleft", YouAreNotPreparedFrame, "topleft") - - --title - local t = DetailsFrameWork:NewLabel (YouAreNotPreparedFrame, nil, "$parentTitle", nil, Loc ["STRING_PLUGIN_NAME"], "GameFontHighlightLeft", 12, {227/255, 186/255, 4/255}) - - t:SetPoint ("top", YouAreNotPreparedFrame, "top", 20, -26) - t:SetPoint ("center", YouAreNotPreparedFrame, "center", 0, 0) - --bar container - local container_bars = CreateFrame ("frame", "Details_YouAreNotPrepared_FauxScroll_Box", YouAreNotPreparedFrame) - container_bars:SetPoint ("topleft", YouAreNotPreparedFrame, "topleft", 23, -80) - container_bars:SetSize (252, 137) - container_bars:SetBackdrop ({bgFile = "Interface\\AddOns\\Details\\images\\background", tile = true, tileSize = 16, - insets = {left = 0, right = 0, top = 0, bottom = 0}}) - container_bars:SetBackdropColor (.1, .1, .1, .2) - YouAreNotPrepared.container_bars = container_bars - - container_bars.bars = {} - - local MouseUpCloseHook = function (_, button) - if (button == "RightButton") then - YouAreNotPreparedFrame:Hide() - return true --> interrupt - end - end - - function container_bars:CreateChild() - - local bar_number = #self.bars + 1 + --main frame + YouAreNotPreparedFrame:SetSize (424, 223) + YouAreNotPreparedFrame:SetPoint ("center", UIParent, "center") + YouAreNotPreparedFrame:EnableMouse (true) + YouAreNotPreparedFrame:SetResizable (false) + YouAreNotPreparedFrame:SetMovable (true) - local bar = DetailsFrameWork:NewPanel (self, YouAreNotPreparedFrame, "$parentBar" .. bar_number, nil, 250, BAR_HEIGHT) - bar:SetPoint ("topleft", self, "topleft", 1, bar_number*13*-1+9) - bar:SetHook ("OnMouseUp", MouseUpCloseHook) - bar.locked = false - bar.backdrop = nil - bar.hide = true - - local statusbar = DetailsFrameWork:NewBar (bar, nil, "$parentStatusbar", "statusbar", 250, BAR_HEIGHT) - statusbar:SetPoint ("left", bar, "left") - statusbar.fontsize = 9 - statusbar.textleft:SetHeight (16) - YouAreNotPrepared:SetFontFace (statusbar.textleft, "GameFontHighlightSmall") - YouAreNotPrepared:SetFontFace (statusbar.textleft, "GameFontNormal") - - container_bars.bars [bar_number] = bar - - return bar - end - - function container_bars:UpdateChild (bar_number, data, time_of_death, max_health) - - local spellname, _, icon = _GetSpellInfo (data[2]) - local bar = container_bars.bars [bar_number] - - if (spellname) then - - local hp = math.floor (data[5] / max_health * 100) - if (hp > 100) then - hp = 100 + YouAreNotPreparedFrame:SetScript ("OnMouseUp", function (self, button) + if (button == "RightButton") then + YouAreNotPreparedFrame:Hide() + else + if (YouAreNotPreparedFrame.isMoving) then + YouAreNotPreparedFrame:StopMovingOrSizing() + YouAreNotPreparedFrame.isMoving = false + end end + end) + + YouAreNotPreparedFrame:SetScript ("OnMouseDown", function (self, button) + if (button == "LeftButton") then + if (not YouAreNotPreparedFrame.isMoving) then + YouAreNotPreparedFrame:StartMoving() + YouAreNotPreparedFrame.isMoving = true + end + end + end) + + --close button + local c = CreateFrame ("Button", nil, YouAreNotPreparedFrame, "UIPanelCloseButton") + c:SetWidth (32) + c:SetHeight (32) + c:SetPoint ("TOPRIGHT", YouAreNotPreparedFrame, "TOPRIGHT", 1, -15) + c:SetFrameLevel (YouAreNotPreparedFrame:GetFrameLevel()+1) + + --background image + local b = DetailsFrameWork:NewImage (YouAreNotPreparedFrame, [[Interface\AddOns\Details_YouAreNotPrepared\background]], 512, 256, nil, nil, nil, "$parentBackground") + b:SetPoint ("topleft", YouAreNotPreparedFrame, "topleft") + + --title + local t = DetailsFrameWork:NewLabel (YouAreNotPreparedFrame, nil, "$parentTitle", nil, Loc ["STRING_PLUGIN_NAME"], "GameFontHighlightLeft", 12, {227/255, 186/255, 4/255}) + + t:SetPoint ("top", YouAreNotPreparedFrame, "top", 20, -26) + t:SetPoint ("center", YouAreNotPreparedFrame, "center", 0, 0) - if (data[1]) then --> damage - if (data[3] and type (data [1]) == "boolean") then --> is a real damage, not a battle ress and its not a last cooldown line + --bar container + local container_bars = CreateFrame ("frame", "Details_YouAreNotPrepared_FauxScroll_Box", YouAreNotPreparedFrame) + container_bars:SetPoint ("topleft", YouAreNotPreparedFrame, "topleft", 23, -80) + container_bars:SetSize (252, 137) + container_bars:SetBackdrop ({bgFile = "Interface\\AddOns\\Details\\images\\background", tile = true, tileSize = 16, + insets = {left = 0, right = 0, top = 0, bottom = 0}}) + container_bars:SetBackdropColor (.1, .1, .1, .2) + YouAreNotPrepared.container_bars = container_bars + + container_bars.bars = {} + + local MouseUpCloseHook = function (_, button) + if (button == "RightButton") then + YouAreNotPreparedFrame:Hide() + return true --> interrupt + end + end + + function container_bars:CreateChild() + + local bar_number = #self.bars + 1 + + local bar = DetailsFrameWork:NewPanel (self, YouAreNotPreparedFrame, "$parentBar" .. bar_number, nil, 250, BAR_HEIGHT) + bar:SetPoint ("topleft", self, "topleft", 1, bar_number*13*-1+9) + bar:SetHook ("OnMouseUp", MouseUpCloseHook) + bar.locked = false + bar.backdrop = nil + bar.hide = true + + local statusbar = DetailsFrameWork:NewBar (bar, nil, "$parentStatusbar", "statusbar", 250, BAR_HEIGHT) + statusbar:SetPoint ("left", bar, "left") + statusbar.fontsize = 9 + statusbar.textleft:SetHeight (16) + YouAreNotPrepared:SetFontFace (statusbar.textleft, "GameFontHighlightSmall") + YouAreNotPrepared:SetFontFace (statusbar.textleft, "GameFontNormal") + + container_bars.bars [bar_number] = bar + + return bar + end + + function container_bars:UpdateChild (bar_number, data, time_of_death, max_health) + + local spellname, _, icon = _GetSpellInfo (data[2]) + local bar = container_bars.bars [bar_number] + + if (spellname) then + + local hp = math.floor (data[5] / max_health * 100) + if (hp > 100) then + hp = 100 + end + + if (data[1]) then --> damage + if (data[3] and type (data [1]) == "boolean") then --> is a real damage, not a battle ress and its not a last cooldown line + bar.statusbar.textleft:SetText (string.format ("%.1f", data [4] - time_of_death) .. "s " .. spellname .. " (" .. data [6] .. ")") + bar.statusbar.textright:SetText ("-" .. YouAreNotPrepared:ToK (data [3]) .. " (" .. hp .. "%)") + bar.statusbar._icon:SetTexture (icon) + bar.statusbar.color = "red" + bar.statusbar.background:SetVertexColor (1, 0, 0, .2) + bar.statusbar.textleft:SetWidth (250 - bar.statusbar.textright:GetStringWidth() - 20) + bar.statusbar.value = hp + return true + end + else bar.statusbar.textleft:SetText (string.format ("%.1f", data [4] - time_of_death) .. "s " .. spellname .. " (" .. data [6] .. ")") - bar.statusbar.textright:SetText ("-" .. YouAreNotPrepared:ToK (data [3]) .. " (" .. hp .. "%)") + bar.statusbar.textright:SetText ("+" .. YouAreNotPrepared:ToK (data [3]) .. " (" .. hp .. "%)") bar.statusbar._icon:SetTexture (icon) - bar.statusbar.color = "red" - bar.statusbar.background:SetVertexColor (1, 0, 0, .2) + bar.statusbar.color = "green" + bar.statusbar.background:SetVertexColor (0, 1, 0, .2) bar.statusbar.textleft:SetWidth (250 - bar.statusbar.textright:GetStringWidth() - 20) bar.statusbar.value = hp return true end - else - bar.statusbar.textleft:SetText (string.format ("%.1f", data [4] - time_of_death) .. "s " .. spellname .. " (" .. data [6] .. ")") - bar.statusbar.textright:SetText ("+" .. YouAreNotPrepared:ToK (data [3]) .. " (" .. hp .. "%)") - bar.statusbar._icon:SetTexture (icon) - bar.statusbar.color = "green" - bar.statusbar.background:SetVertexColor (0, 1, 0, .2) - bar.statusbar.textleft:SetWidth (250 - bar.statusbar.textright:GetStringWidth() - 20) - bar.statusbar.value = hp - return true end + + return false end - return false - end - - --create 10 childs (bars) - for i = 1, 10 do - container_bars:CreateChild() - end - - --create scrollbar - - local refresh_function = function (self) - local offset = FauxScrollFrame_GetOffset (self) + --create 10 childs (bars) + for i = 1, 10 do + container_bars:CreateChild() + end + + --create scrollbar + + local refresh_function = function (self) + local offset = FauxScrollFrame_GetOffset (self) - for bar_index = 1, BAR_AMOUNT do - local data = YouAreNotPrepared.s_table[4] [bar_index + offset] --bar_index + offset ---------- preciso pegar os dados de uma pool + for bar_index = 1, BAR_AMOUNT do + local data = YouAreNotPrepared.s_table[4] [bar_index + offset] --bar_index + offset ---------- preciso pegar os dados de uma pool - if (data) then - local successful = container_bars:UpdateChild (bar_index, data, YouAreNotPrepared.s_table[6], YouAreNotPrepared.s_table[5]) --index, death table, clock time of death, max health - if (not successful) then - container_bars.bars [bar_index]:Hide() + if (data) then + local successful = container_bars:UpdateChild (bar_index, data, YouAreNotPrepared.s_table[6], YouAreNotPrepared.s_table[5]) --index, death table, clock time of death, max health + if (not successful) then + container_bars.bars [bar_index]:Hide() + else + container_bars.bars [bar_index]:Show() + end else - container_bars.bars [bar_index]:Show() + container_bars.bars [bar_index]:Hide() + end + end + + end + + local scrollbar = CreateFrame ("scrollframe", "Details_YouAreNotPrepared_FauxScroll", container_bars, "FauxScrollFrameTemplate") + scrollbar:SetScript ("OnVerticalScroll", function (self, offset) FauxScrollFrame_OnVerticalScroll (self, offset, BAR_HEIGHT, refresh_function) end) + scrollbar:SetPoint ("topleft", YouAreNotPreparedFrame, "topleft", 23, -80) + scrollbar:SetSize (250, 138) + + container_bars:EnableMouse (true) + + --choose death menu + + YouAreNotPrepared.buttons = {} + + local select_death = function (selected) + YouAreNotPrepared.s_table = YouAreNotPrepared.db.deaths_table [selected] + if (not YouAreNotPrepared.s_table) then + return + end + FauxScrollFrame_Update (scrollbar, #YouAreNotPrepared.s_table[4], BAR_AMOUNT, BAR_HEIGHT) + refresh_function (scrollbar) + end + YouAreNotPrepared.select_death = select_death + + function YouAreNotPrepared:CreateDeathButton() + local button_number = #self.buttons + 1 + + local button = DetailsFrameWork:NewButton (YouAreNotPreparedFrame, _, "$parentButton" .. button_number, nil, 113, 20, select_death, button_number) + button:SetPoint ("topleft", YouAreNotPreparedFrame, "topleft", 300, -59 + (button_number*23*-1)) + button:Disable() + + local b_texture = button:CreateTexture (nil, "artwork") + b_texture:SetTexture ([[Interface\AddOns\Details\images\icons]]) + b_texture:SetTexCoord (0.297851, 0.444335, 0.004882, 0.040039) --152 228 2 21 0.0009765625 + b_texture:SetPoint ("topleft", button.widget, "topleft") + b_texture:SetSize (113, 20) + b_texture:SetDesaturated (true) + button.widget.b_texture = b_texture + + local icon = DetailsFrameWork:NewImage (button, nil, 20, 20, nil, nil, "icon", "$parentIcon") + icon:SetTexCoord (0, 0.4921875, 0, 0.4921875) --0.0078125 + icon:SetPoint ("left", button, "left", 1, 0) + icon.texture = [[Interface\WorldStateFrame\SkullBones]] + icon:SetBlendMode ("ADD") + icon:SetAlpha (.5) + + button:SetHook ("OnMouseDown", function (self, button) + self.b_texture:SetPoint ("topleft", self, "topleft", 1, -1) + --self.MyObject.lefttext:SetPoint ("left", self.MyObject.icon, "right", 2, 0) + self.MyObject.icon:SetPoint ("left", self, "left", 2, -1) + end) + button:SetHook ("OnMouseUp", function (self, button) + self.b_texture:SetPoint ("topleft", self, "topleft") + --self.MyObject.lefttext:SetPoint ("left", self.MyObject.icon, "right", 2, 0) + self.MyObject.icon:SetPoint ("left", self, "left", 1, 0) + end) + button:SetHook ("OnEnter", function (self, button) + self.b_texture:SetBlendMode ("ADD") + end) + button:SetHook ("OnLeave", function (self, button) + self.b_texture:SetBlendMode ("BLEND") + end) + + local lefttext = DetailsFrameWork:NewLabel (button, nil, "$parentLeftText", "lefttext", "", "GameFontHighlightSmall", 9) + lefttext:SetPoint ("left", icon, "right", 2) + lefttext.width = 80 + lefttext.height = 13 + + local righttext = DetailsFrameWork:NewLabel (button, nil, "$parentRightText", "righttext", " ", "GameFontHighlightSmall", 9) + righttext:SetPoint ("right", button, "right", -1) + + YouAreNotPrepared.buttons [button_number] = button + + return bar + end + + for i = 1, 6 do + YouAreNotPrepared:CreateDeathButton() + end + + function YouAreNotPrepared:AddDeath (t) + + --> t = [1] = enemy name [2] = time of death [3] = last cooldown [4] = death table [5] = max health [6] = clock time of the death + + --add and remove + table.insert (YouAreNotPrepared.db.deaths_table, 1, t) + table.remove (YouAreNotPrepared.db.deaths_table, 7) + + --update buttons + for i = 1, 6 do + local button = YouAreNotPrepared.buttons [i] + local death_table = YouAreNotPrepared.db.deaths_table [i] + if (death_table) then + button:Enable() + button.widget.b_texture:SetDesaturated (false) + button.lefttext.text = "#" .. i .. " " .. death_table [1] + else + button:Disable() + button.widget.b_texture:SetDesaturated (true) + button.lefttext.text = "#" .. i + end + end + + YouAreNotPrepared:DeathWarning() + end + + function YouAreNotPrepared:UpdateButtons() + for i = 1, 6 do + local button = YouAreNotPrepared.buttons [i] + local death_table = YouAreNotPrepared.db.deaths_table [i] + if (death_table) then + button:Enable() + button.widget.b_texture:SetDesaturated (false) + button.lefttext.text = "#" .. i .. " " .. death_table [1] + else + button:Disable() + button.widget.b_texture:SetDesaturated (true) + button.lefttext.text = "#" .. i end - else - container_bars.bars [bar_index]:Hide() end end + function YouAreNotPrepared:ShowMe() --> used for debug + YouAreNotPreparedFrame:Show() + + YouAreNotPrepared:UpdateButtons() + + _detalhes:InstanceAlert (Loc ["STRING_PLUGIN_ALERT"], {[[Interface\ICONS\Achievement_Boss_Illidan]], 14, 14, false, 0.8984375, 0.0546875, 0.0546875, 0.8984375}, YouAreNotPrepared.db.shown_time, {YouAreNotPrepared.ShowMeFromInstanceAlert}) + end end - local scrollbar = CreateFrame ("scrollframe", "Details_YouAreNotPrepared_FauxScroll", container_bars, "FauxScrollFrameTemplate") - scrollbar:SetScript ("OnVerticalScroll", function (self, offset) FauxScrollFrame_OnVerticalScroll (self, offset, BAR_HEIGHT, refresh_function) end) - scrollbar:SetPoint ("topleft", YouAreNotPreparedFrame, "topleft", 23, -80) - scrollbar:SetSize (250, 138) +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +--> functions + + function YouAreNotPrepared:ShowMeFromInstanceAlert() + YouAreNotPreparedFrame:Show() + YouAreNotPrepared.select_death (1) + YouAreNotPrepared:UpdateButtons() + _detalhes:InstanceAlert (false) + end - container_bars:EnableMouse (true) - - --choose death menu - - YouAreNotPrepared.buttons = {} - - local select_death = function (selected) - YouAreNotPrepared.s_table = YouAreNotPrepared.deaths_table [selected] - if (not YouAreNotPrepared.s_table) then + function YouAreNotPrepared:DeathWarning() + _detalhes:InstanceAlert (Loc ["STRING_PLUGIN_ALERT"], {[[Interface\ICONS\Achievement_Boss_Illidan]], 14, 14, false, 0.8984375, 0.0546875, 0.0546875, 0.8984375} , 15, {YouAreNotPrepared.ShowMeFromInstanceAlert}) + end + + function YouAreNotPrepared:EndCombat() + if (YouAreNotPrepared.last_death_combat_id == YouAreNotPrepared.combat_id) then + if (YouAreNotPrepared.db.auto_open) then + YouAreNotPrepared.ShowMeFromInstanceAlert() + else + _detalhes:InstanceAlert (Loc ["STRING_PLUGIN_ALERT"], {[[Interface\ICONS\Achievement_Boss_Illidan]], 14, 14, false, 0.8984375, 0.0546875, 0.0546875, 0.8984375} , 25, {YouAreNotPrepared.ShowMeFromInstanceAlert}) + end + end + end + + function YouAreNotPrepared:OnDeath (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, death_table, last_cooldown, time_of_death, max_health) + --> hooks run inside parser and do not check if the plugin is enabled or not. + --> we need to check this here before continue. + if (not YouAreNotPrepared.__enabled) then return end - FauxScrollFrame_Update (scrollbar, #YouAreNotPrepared.s_table[4], BAR_AMOUNT, BAR_HEIGHT) - refresh_function (scrollbar) - end - YouAreNotPrepared.select_death = select_death - - function YouAreNotPrepared:CreateDeathButton() - local button_number = #self.buttons + 1 - - local button = DetailsFrameWork:NewButton (YouAreNotPreparedFrame, _, "$parentButton" .. button_number, nil, 113, 20, select_death, button_number) - button:SetPoint ("topleft", YouAreNotPreparedFrame, "topleft", 300, -59 + (button_number*23*-1)) - button:Disable() - - local b_texture = button:CreateTexture (nil, "artwork") - b_texture:SetTexture ([[Interface\AddOns\Details\images\icons]]) - b_texture:SetTexCoord (0.297851, 0.444335, 0.004882, 0.040039) --152 228 2 21 0.0009765625 - b_texture:SetPoint ("topleft", button.widget, "topleft") - b_texture:SetSize (113, 20) - b_texture:SetDesaturated (true) - button.widget.b_texture = b_texture - local icon = DetailsFrameWork:NewImage (button, nil, 20, 20, nil, nil, "icon", "$parentIcon") - icon:SetTexCoord (0, 0.4921875, 0, 0.4921875) --0.0078125 - icon:SetPoint ("left", button, "left", 1, 0) - icon.texture = [[Interface\WorldStateFrame\SkullBones]] - icon:SetBlendMode ("ADD") - icon:SetAlpha (.5) - - button:SetHook ("OnMouseDown", function (self, button) - self.b_texture:SetPoint ("topleft", self, "topleft", 1, -1) - --self.MyObject.lefttext:SetPoint ("left", self.MyObject.icon, "right", 2, 0) - self.MyObject.icon:SetPoint ("left", self, "left", 2, -1) - end) - button:SetHook ("OnMouseUp", function (self, button) - self.b_texture:SetPoint ("topleft", self, "topleft") - --self.MyObject.lefttext:SetPoint ("left", self.MyObject.icon, "right", 2, 0) - self.MyObject.icon:SetPoint ("left", self, "left", 1, 0) - end) - button:SetHook ("OnEnter", function (self, button) - self.b_texture:SetBlendMode ("ADD") - end) - button:SetHook ("OnLeave", function (self, button) - self.b_texture:SetBlendMode ("BLEND") - end) - - local lefttext = DetailsFrameWork:NewLabel (button, nil, "$parentLeftText", "lefttext", "", "GameFontHighlightSmall", 9) - lefttext:SetPoint ("left", icon, "right", 2) - lefttext.width = 80 - lefttext.height = 13 - - local righttext = DetailsFrameWork:NewLabel (button, nil, "$parentRightText", "righttext", " ", "GameFontHighlightSmall", 9) - righttext:SetPoint ("right", button, "right", -1) - - YouAreNotPrepared.buttons [button_number] = button - - return bar - end - - for i = 1, 6 do - YouAreNotPrepared:CreateDeathButton() - end - - function YouAreNotPrepared:AddDeath (t) - - --> t = [1] = enemy name [2] = time of death [3] = last cooldown [4] = death table [5] = max health [6] = clock time of the death - - --add and remove - table.insert (YouAreNotPrepared.deaths_table, 1, t) - table.remove (YouAreNotPrepared.deaths_table, 7) - - --update buttons - for i = 1, 6 do - local button = YouAreNotPrepared.buttons [i] - local death_table = YouAreNotPrepared.deaths_table [i] - if (death_table) then - button:Enable() - button.widget.b_texture:SetDesaturated (false) - button.lefttext.text = "#" .. i .. " " .. death_table [1] - else - button:Disable() - button.widget.b_texture:SetDesaturated (true) - button.lefttext.text = "#" .. i - end - end - - YouAreNotPrepared:DeathWarning() - - _detalhes_databaseYANP = YouAreNotPrepared.deaths_table - end - - function YouAreNotPrepared:UpdateButtons() - for i = 1, 6 do - local button = YouAreNotPrepared.buttons [i] - local death_table = YouAreNotPrepared.deaths_table [i] - if (death_table) then - button:Enable() - button.widget.b_texture:SetDesaturated (false) - button.lefttext.text = "#" .. i .. " " .. death_table [1] - else - button:Disable() - button.widget.b_texture:SetDesaturated (true) - button.lefttext.text = "#" .. i - end - end - end - - function YouAreNotPrepared:ShowMe() --> used for debug - YouAreNotPreparedFrame:Show() - - YouAreNotPrepared:UpdateButtons() - - _detalhes:InstanceAlert (Loc ["STRING_PLUGIN_ALERT"], {[[Interface\ICONS\Achievement_Boss_Illidan]], 14, 14, false, 0.8984375, 0.0546875, 0.0546875, 0.8984375}, 30, {YouAreNotPrepared.ShowMeFromInstanceAlert}) - end - --YouAreNotPrepared:ScheduleTimer (YouAreNotPrepared.ShowMe, 3) - -end - -function YouAreNotPrepared:ShowMeFromInstanceAlert() - YouAreNotPreparedFrame:Show() - YouAreNotPrepared.select_death (1) - YouAreNotPrepared:UpdateButtons() - _detalhes:InstanceAlert (false) -end - -function YouAreNotPrepared:DeathWarning() - _detalhes:InstanceAlert (Loc ["STRING_PLUGIN_ALERT"], {[[Interface\ICONS\Achievement_Boss_Illidan]], 14, 14, false, 0.8984375, 0.0546875, 0.0546875, 0.8984375} , 15, {YouAreNotPrepared.ShowMeFromInstanceAlert}) -end - -function YouAreNotPrepared:EndCombat() - if (YouAreNotPrepared.last_death_combat_id == YouAreNotPrepared.combat_id) then - _detalhes:InstanceAlert (Loc ["STRING_PLUGIN_ALERT"], {[[Interface\ICONS\Achievement_Boss_Illidan]], 14, 14, false, 0.8984375, 0.0546875, 0.0546875, 0.8984375} , 25, {YouAreNotPrepared.ShowMeFromInstanceAlert}) - end -end - -function YouAreNotPrepared:OnDeath (token, time, who_serial, who_name, who_flags, alvo_serial, alvo_name, alvo_flags, death_table, last_cooldown, time_of_death, max_health) - - --> hooks run inside parser and do not check if the plugin is enabled or not. - --> we need to check this here before continue. - if (not YouAreNotPrepared.__enabled) then - return - end - - if (alvo_name == YouAreNotPrepared.playername) then - - --[[ debug mode - if (not combat.is_boss) then - return YouAreNotPrepared:AddDeath ({combat.enemy or "Unknown", time_of_death, last_cooldown, death_table, max_health, time}) - else - return YouAreNotPrepared:AddDeath ({combat.is_boss.name or combat.enemy or "Unknown", time_of_death, last_cooldown, death_table, max_health, time}) - end - --]] - - local combat = YouAreNotPrepared:GetCombat ("current") - - if (combat.is_boss) then --> encounter or pvp - YouAreNotPrepared.last_death_combat_id = YouAreNotPrepared.combat_id - return YouAreNotPrepared:AddDeath ({combat.is_boss.name or combat.enemy or "Unknown", time_of_death, last_cooldown, death_table, max_health, time}) - end - - end - -end - -function YouAreNotPrepared:OnEvent (_, event, ...) - - if (event == "ADDON_LOADED") then - local AddonName = select (1, ...) - if (AddonName == "Details_YouAreNotPrepared") then + if (alvo_name == YouAreNotPrepared.playername) then + local combat = YouAreNotPrepared:GetCombat ("current") - if (_G._detalhes) then - - --> create widgets - CreatePluginFrames() - - --> core version required - local MINIMAL_DETAILS_VERSION_REQUIRED = 12 - - --> install - local install = _G._detalhes:InstallPlugin ("TOOLBAR", Loc ["STRING_PLUGIN_NAME"], [[Interface\ICONS\Achievement_Boss_Illidan]], YouAreNotPrepared, "DETAILS_PLUGIN_YANP", MINIMAL_DETAILS_VERSION_REQUIRED, "Details! Team", "v1.01") - if (type (install) == "table" and install.error) then - print (install.error) - end - - --> register needed events - _G._detalhes:RegisterEvent (YouAreNotPrepared, "DETAILS_DATA_RESET") - _G._detalhes:RegisterEvent (YouAreNotPrepared, "COMBAT_PLAYER_LEAVE") - --> register needed hooks - _G._detalhes:InstallHook (DETAILS_HOOK_DEATH, YouAreNotPrepared.OnDeath) - - --> retrive saved data - YouAreNotPrepared.deaths_table = _detalhes_databaseYANP or {} - - --> install slash command - SLASH_Details_YouAreNotPrepared1 = "/yanp" - function SlashCmdList.Details_YouAreNotPrepared (msg, editbox) - YouAreNotPrepared:ShowMeFromInstanceAlert() - end - + if (combat.is_boss) then --> encounter or pvp + YouAreNotPrepared.last_death_combat_id = YouAreNotPrepared.combat_id + return YouAreNotPrepared:AddDeath ({combat.is_boss.name or combat.enemy or "Unknown", time_of_death, last_cooldown, death_table, max_health, time}) + end + end + end + + local build_options_panel = function() + local options_frame = CreateFrame ("frame", "YouAreNotPreparedOptionsWindow", UIParent, "ButtonFrameTemplate") + tinsert (UISpecialFrames, "YouAreNotPreparedOptionsWindow") + options_frame:SetSize (500, 200) + options_frame:SetFrameStrata ("DIALOG") + options_frame:SetScript ("OnMouseDown", function(self) self:StartMoving()end) + options_frame:SetScript ("OnMouseUp", function(self) self:StopMovingOrSizing()end) + options_frame:SetMovable (true) + options_frame:EnableMouse (true) + options_frame:Hide() + options_frame:SetPoint ("center", UIParent, "center") + options_frame.TitleText:SetText ("You Are Not Prepared Options") + options_frame.portrait:SetTexture ([[Interface\CHARACTERFRAME\TEMPORARYPORTRAIT-FEMALE-BLOODELF]]) + + local menu = { + --show when dropdown + { + type = "range", + get = function() return YouAreNotPrepared.db.shown_time end, + set = function (self, fixedparam, value) YouAreNotPrepared.db.shown_time = value end, + min = 15, + max = 120, + step = 1, + desc = "How much time the alert stay shown in the window.", + name = "Alert Timeout" + }, + { + type = "toggle", + get = function() return YouAreNotPrepared.db.auto_open end, + set = function (self, fixedparam, value) YouAreNotPrepared.db.auto_open = value end, + desc = "Ope the window after leave the combat.", + name = "Auto Open" + }, + } + + _detalhes.gump:BuildMenu (options_frame, menu, 15, -75, 260) + + end + YouAreNotPrepared.OpenOptionsPanel = function() + if (not YouAreNotPreparedOptionsWindow) then + build_options_panel() + end + YouAreNotPreparedOptionsWindow:Show() + end + +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +--> events + + function YouAreNotPrepared:OnEvent (_, event, ...) + + if (event == "ADDON_LOADED") then + local AddonName = select (1, ...) + if (AddonName == "Details_YouAreNotPrepared") then + + if (_G._detalhes) then + + --> create widgets + CreatePluginFrames() + + --> core version required + local MINIMAL_DETAILS_VERSION_REQUIRED = 12 + + local default_settings = { + shown_time = 30, -- + auto_open = false, -- + hide_on_combat = true, -- + deaths_table = {} + } + + --> install + local install, saveddata, is_enabled = _G._detalhes:InstallPlugin ("TOOLBAR", Loc ["STRING_PLUGIN_NAME"], [[Interface\ICONS\Achievement_Boss_Illidan]], YouAreNotPrepared, "DETAILS_PLUGIN_YANP", MINIMAL_DETAILS_VERSION_REQUIRED, "Details! Team", "v1.1", default_settings) + if (type (install) == "table" and install.error) then + return print (install.error) + end + + YouAreNotPrepared.db = saveddata + + --> register needed events + _G._detalhes:RegisterEvent (YouAreNotPrepared, "DETAILS_DATA_RESET") + _G._detalhes:RegisterEvent (YouAreNotPrepared, "COMBAT_PLAYER_LEAVE") + + --> register needed hooks + _G._detalhes:InstallHook (DETAILS_HOOK_DEATH, YouAreNotPrepared.OnDeath) + + --> install slash command + SLASH_Details_YouAreNotPrepared1 = "/yanp" + function SlashCmdList.Details_YouAreNotPrepared (msg, editbox) + YouAreNotPrepared:ShowMeFromInstanceAlert() + end + + end end end end -end diff --git a/plugins/Details_YouAreNotPrepared/Details_YouAreNotPrepared.toc b/plugins/Details_YouAreNotPrepared/Details_YouAreNotPrepared.toc index c6752b57..8eb8fde2 100644 --- a/plugins/Details_YouAreNotPrepared/Details_YouAreNotPrepared.toc +++ b/plugins/Details_YouAreNotPrepared/Details_YouAreNotPrepared.toc @@ -2,7 +2,6 @@ ## Title: Details You Are Not Prepared (plugin) ## Notes: Plugin for Details ## RequiredDeps: Details -## SavedVariablesPerCharacter: _detalhes_databaseYANP ## OptionalDeps: Ace3 #@no-lib-strip@ diff --git a/startup.lua b/startup.lua index 697584a8..2637afca 100644 --- a/startup.lua +++ b/startup.lua @@ -374,30 +374,9 @@ function _G._detalhes:Start() --BNSendFriendInvite ("tercio#1488") - function _detalhes:EnterChatChannel() - - local realm = GetRealmName() - realm = realm or "" - - if (realm ~= "Azralon") then - return - end - - --> room name - local room_name = "Details" - - --> already in? - for room_index = 1, 10 do - local _, name = GetChannelName (room_index) - if (name == room_name) then - return --> already in the room - end - end - - --> enter - JoinChannelByName (room_name) + if (not _detalhes.schedule_chat_enter and not _detalhes.schedule_chat_leave) then + _detalhes.schedule_chat_enter = _detalhes:ScheduleTimer ("EnterChatChannel", 30) end - _detalhes:ScheduleTimer ("EnterChatChannel", 30) end