Quantcast

A little farm addition. No need to mention in changelog imo

Darthpred [03-19-13 - 09:44]
A little farm addition. No need to mention in changelog imo
Filename
ElvUI_SLE/locales/english.lua
ElvUI_SLE/locales/russian.lua
ElvUI_SLE/modules/farm/farm.lua
diff --git a/ElvUI_SLE/locales/english.lua b/ElvUI_SLE/locales/english.lua
index d7bc5a7..7f5e6e7 100755
--- a/ElvUI_SLE/locales/english.lua
+++ b/ElvUI_SLE/locales/english.lua
@@ -1,332 +1,333 @@
--- English localization file for enUS and enGB.
-local AceLocale = LibStub:GetLibrary("AceLocale-3.0");
-local L = AceLocale:NewLocale("ElvUI", "enUS", true);
-
-if not L then return; end
-
---General--
-L["Shadow & Light"] = true
-L["SLE_DESC"] = [=[This is an edit of ElvUI that adds some functionality to the original addon and changes some previously existed options.
-The edit doesn't change original files in any respect so you can freely disable it any time from your addon manager without any risk.]=]
-L["LFR Lockout"] = true
-L["Show/Hide LFR lockout info in the time datatext's tooltip."] = true
-L["PvP Auto Release"] = true
-L["Automatically release body when killed inside a battleground."] = true
-L["Errors in combat"] = true
-L["Show/hide error messages in combat."] = true
-L["Pet autocast corners"] = true
-L["Show/hide triangles in corners of autocastable buttons."] = true
-L["Loot History"] = true
-L["Auto hide"] = true
-L["Automaticaly hide Blizzard loot histroy frame when leaving the instance."] = true
-L["Sets alpha of loot histroy frame."] = true
-L["SLE_LOGIN_MSG"] = [=[You are using |cff1784d1Shadow & Light Edit|r version |cff1784d1%s%s|r for ElvUI.
-If you wish to use the original ElvUI addon, disable this edit's plugin in your Addons manager.
-Have a nice day.]=]
-L["Your version of ElvUI is older than recommended to use with Shadow & Light Edit. Please, download the latest version from tukui.org."] = true
-L["Reset All"] = true
-L["Reset all Shadow & Light options and movers to their defaults"] = true
-L["Reset these options to defaults"] = true
-
---Install--
-L["Shadow & Light Settings"] = true
-L["You can now choose if you what to use one of authors' set of options. This will change the positioning of most elements but also change a bunch of other options within ElvUI's config."] = true
-L["SLE_Install_Text2"] = [=[This step is optional and only to be used if you are wanting to use one of our configurations.
-|cffFF0000Warning:|r Please note that the authors' may or may not use any of the layout/theme you have selected as they may not have utilized the options.]=]
-L["Darth's Config"] = true
-L["Darth's Defaults Set"] = true
-L["Repooc's Config"] = true
-L["Repooc's Defaults Set"] = true
-L["Affinitii's Config"] = true
-L["Affinitii's Defaults Set"] = true
-
---Auras--
-L["Options for customizing auras near the minimap."] = true
-L["Caster Name"] = true
-L["Enabling this will show caster name in the buffs and debuff icons."] = true
-
---Backgroungds--
-L["Backgrounds"] = true
-L["Additional Background Panels"] = true
-L["BG_DESC"] = "Module for creating additional frames that can be used as backgrounds for anything."
-L["Bottom BG"] = true
-L["Left BG"] = true
-L["Right BG"] = true
-L["Actionbar BG"] = true
-L["Show/Hide this frame."] = true
-L["Sets width of the frame"] = true
-L["Sets height of the frame"] = true
-L["Sets X offset of the frame"] = true
-L["Sets Y offset of the frame"] = true
-L["Texture"] = true
-L["Set the texture to use in this frame.  Requirements are the same as the chat textures."] = true
-L["Backdrop Template"] = true
-L["Change the template used for this backdrop."] = true
-L["Default"] = true
-L["Hide in Pet Batlle"] = true
-L["Show/Hide this frame during Pet Battles."] = true
-
---Character Frame Options
-L["CFO_DESC"] = "This section will added different options/features to the character sheet.  Here you can show item level and durability of your items for a quick glance."
-L["Character Frame Options"] = true
-L['Font'] = true
-L["The font that the item level will use."] = true
-L["Set the font size that the item level will use."] = true
-L["Set the font outline that the item level will use."] = true
-L["The font that the item durability will use."] = true
-L["Set the font size that the item durability will use."] = true
-L["Set the font outline that the item durability will use."] = true
-
---Chat--
-L["Chat Options"] = true
-L["Chat Editbox History"] = true
-L["Amount of messages to save. Set to 0 to disable."] = true
-
---Datatexts--
-L["Bosses killed: "] = true
-L["You didn't select any instance to track."] = true
-L["This LFR isn't available for your level/gear."] = true
-L["SLE_AUTHOR_INFO"] = "Shadow & Light Edit by Darth Predator & Repooc"
-L["SLE_CONTACTS"] = [=[Bug reports, suggestions and other stuff accepted via:
-- Private Massage on TukUI.org to Darth Predator or Repooc
-- AddOn's page/ticket system on curse.com
-- Forums on tukui.org, Addons/Help section
-- AddOn's repo on github.com]=]
-L["DP_1"] = "DT Panel 1"
-L["DP_2"] = "DT Panel 2"
-L["DP_3"] = "DT Panel 3"
-L["DP_4"] = "DT Panel 4"
-L["DP_5"] = "DT Panel 5"
-L["DP_6"] = "DT Panel 6"
-L["Bottom_Panel"] = "Bottom Panel"
-L["Top_Center"] = "Top Panel"
-L["Left Chat"] = true
-L["Right Chat"] = true
-L["Datatext Panels"] = true
-L["Additional Datatext Panels"] = true
-L["DP_DESC"] = [=[Additional Datatext Panels.
-8 panels with 20 datatext points total and a dashboard with 4 status bars.
-You can't disable chat panels.]=]
-L["Dashboard"] = true
-L["Show/Hide dashboard."] = true
-L["Dashboard Panels Width"] = true
-L["Sets size of dashboard panels."] = true
-L["Show/Hide this panel."] = true
-L["Sets size of this panel"] = true
-L['Hide panel background'] = true
-L["Don't show this panel, only datatexts assinged to it"] = true
-L["Some datatexts that Shadow & Light are supplied with have settings that can be modified to alter the displayed information. Please use the dropdown box to select which datatext you would like to configure."] = true
-L["S&L Friends"] = true
-L["Show total friends in the datatext."] = true
-L["Show total guild members in the datatext."] = true
-L["These options are for modifing the Shadow & Light Friends datatext."] = true
-L["S&L Guild"] = true
-L["Show Totals"] = true
-L["Expand RealID"] = true
-L["Display realid with two lines to view broadcasts."] = true
-L["Hide Hints"] = true
-L["Hide the hints in the tooltip."] = true
-L["Autohide Delay:"] = true
-L["Adjust the tooltip autohide delay when mouse is no longer hovering of the datatext."] = true
-L["S&L Datatexts"] = true
-L["Datatext Options"] = true
-L["These options are for modifing the Shadow & Light Guild datatext."] = true
-L["Hide MOTD"] = true
-L["Hide the guild's Message of the Day in the tooltip."] = true
-L["Hide Guild Name"] = true
-L["Hide the guild's name in the tooltip."] = true
-L["Hide In Combat"] = true
-L["Will not show the tooltip while in combat."] = true
-
---Exp/Rep Bar--
-L["Xp-Rep Text"] = true
-L["Full value on Exp Bar"] = true
-L["Changes the way text is shown on exp bar."] = true
-L["Full value on Rep Bar"] = true
-L["Changes the way text is shown on rep bar."] = true
-L["Auto Track Reputation"] = true
-L["Automatically sets reputation tracking to the most recent reputation change."] = true
-
---Equip Manager--
-L['Equipment Manager'] = true
-L["EM_DESC"] = "This module provides different options to automatically change your equipment sets on spec change or entering certain locations."
-L['Spam Throttling'] = true
-L["Removes the spam from chat stating what talents were learned or unlearned during spec change."] = true
-L["Here you can choose what equipment sets to use in different situations."] = true
-L["Equip this set when switching to primary talents."] = true
-L["Equip this set when switching to secondary talents."] =true
-L["Equip this set after entering dungeons or raids."] = true
-L["Equip this set after entering battlegrounds or arens."] = true
-
-
---Farm--
-L['Farm'] = true
-L["FARM_DESC"] = [[Additional actionbars for the Sunsong Ranch containing seeds, tools and portals.
-They will appear only if you are on the Ranch or The Halfhill Market.]]
-L['Only active buttons'] = true
-L['Only show the buttons for the seeds, portals, tools you have in your bags.'] = true
-L["Seed Bars"] = true
-L["Auto Planting"] = true
-L["Automatically plant seeds to the nearest tilled soil if one is not already selected."] = true
-L["Drop Seeds"] = true
-L["Allow seeds to be destroyed from seed bars."] = true
-L["Quest Glow"] = true
-L["Show glowing border on seeds needed for any quest in your log."] = true
-L["Dock Buttons To"] = true
-L["Change the position from where seed bars will grow."] = true
-L["Bottom"] = true
-L["Top"] = true
-L["Farm Seed Bars"] = true
-L["Farm Tool Bar"] = true
-L["Farm Portal Bar"] = true
-L["Tilled Soil"] = true
-L['Right-click to drop the item.'] = true
-
---Import Section
-L["SLE_IMPORTS"] = "|cffFF0000Note:|r Use the filter imports with caution as these will overwrite any custom ones made!\nImporting a class filter will overwrite any modifications you have made to that class filter."
-L["Import Options"] = true
-L["Author Specific Imports"] = true
-L['Select Author'] = true
-L["Please be aware that importing any of the filters will require a reload of the UI for the settings to take effect.\nOnce you click a filter button, your screen will reload automatically."] = true
-L["Import"] = true
-L["This will import non class specific filters from this author."] = true
-L["This will import All Class specific filters from this author."] = true
-L['Import All'] = true
-
---Loot--
-L['Loot Announcer'] = true
-L["LOOT_DESC"] = [[This module will announce loot dropped when you open the loot window.
-This will work only if you are raid leadedr, assist or master looter or if you hold left control key while looting to manually announce the items in chat.]]
-L["Auto Announce"] = true
-L["Automatically announce in selected chat channel."] = true
-L["Loot Quality"] = true
-L["Set the minimum quality of an item to announce."] = true
-L["Announce loot to the selected channel."] = true
-L["Loot Dropped:"] = true
-
---Marks--
-L["Raid Marks"] = true
-L["Show/Hide raid marks."] = true
-L["Show only in instances"] = true
-L["Selecting this option will have the Raid Markers appear only while in a raid or dungeon."] = true
-L["Sets size of buttons"] = true --Also used in UI buttons
-L["Direction"] = true
-L["Change the direction of buttons growth from the skull marker"] = true
-
---Minimap--
-L["Minimap Options"] = true
-L['MINIMAP_DESC'] = "These options effect various aspects of the minimap.  Some options may not work if you disable minimap in the General section of ElvUI config."
-L["Minimap Coordinates"] = true
-L['Coords Display'] = true
-L['Change settings for the display of the coordinates that are on the minimap.'] = true
-L["Coords Location"] = true
-L['This will determine where the coords are shown on the minimap.'] = true
-L['Bottom Corners'] = true
-L['Bottom Center'] = true
-L["Minimap Buttons"] = true
-L['Enable/Disable minimap button skinning.'] = true
-L['Anchor Setting'] = true
-L['Anchor mode for displaying the minimap buttons are skinned.'] = true
-L['Horizontal Bar'] = true
-L['Vertical Bar'] = true
-L['The size of the minimap buttons when not anchored to the minimap.'] = true
-L['Show minimap buttons on mouseover.'] = true
-
---Raid Utility--
-L["Raid Utility"] = true
-
---Skins--
-L["This options require ElvUI AddOnSkins pack to work."] = true
-L["Sets font size on DBM bars"] = true
-L["Ground"] = true
-L["Flying"] = true
-L["Flying & Ground"] = true
-L["Swimming"] = true
-
---UI buttons--
-L["UI Buttons"] = true
-L["Additional menu with useful buttons"] = true
-L["Show/Hide UI buttons."] = true
-L["Mouse over"] = true
-L["Show on mouse over."] = true
-L["Buttons position"] = true
-L["Layout for UI buttons."] = true
-L["Click to reload your interface"] = true
-L["Click to toggle config window"] = true
-L["Click to toggle the AddOn Manager frame (stAddOnManager, Ampere or ACP) you have enabled."] = true
-L["Click to toggle the Configuration/Option Window from the Bossmod (DXE, DBM or Bigwigs) you have enabled."] = true
-L["Click to unlock moving ElvUI elements"] = true
-L["ElvUI Config"] = true
-L["Move UI"] = true
-L["Reload UI"] = true
-L["AddOns Manager"] = true
-L["Boss Mod"] = true
-L["Click to toggle iFilger's config UI"] = true
-
---Unitframes--
-L["Additional unit frames options"] = true
-L["Options for customizing unit frames. Please don't change these setting when ElvUI's testing frames for bosses and arena teams are shown. That will make them invisible until retoggling."] = true
-L["Player Frame Indicators"] = true
-L["Combat Icon"] = true
-L["Show/Hide combat icon on player frame."] = true
-L["Combat Position"] = true
-L["Set the point to show combat icon"] = true
-L["Classbar Energy"] = true
-L["Show/hide the text with exact number of energy (Solar/Lunar or Demonic Fury) on your Classbar."] = true
-L["Classbar Offset"] = true
-L["This options will allow you to detach your classbar from player's frame and move it in other location."] = true
-L["Power Text Position"] = true
-L["Position power text on this bar of chosen frame"] = true
-
---Credits--
-L["ELVUI_SLE_CREDITS"] = "We would like to point out the following people for helping us create this addon with testing, coding, and other stuff."
-L["Submodules and Coding:"] = true
-L["ELVUI_SLE_CODERS"] = [=[Elv
-Tukz
-Affinitii
-Azilroka
-Blazeflack
-Boradan
-Camealion
-Omega1970
-Pvtschlag
-Sinaris
-Sortokk
-Swordyy
-]=]
-L["Other Support:"] = true
-L["ELVUI_SLE_MISC"] = [=[BuG - for being french lol
-TheSamaKutra
-The rest of TukUI community
-]=]
-
---Tutorials--
-L["To enable full values of health/power on unitframes in Shadow & Light add \":sl\" to the end of the health/power tag.\nExample: [health:current:sl]."] = true
-
---Movers--
-L["Pet Battle AB"] = true
-
-
---Changelog--
-L["Changelog"] = true
-L["CHANGE_LOG"] = [=[|cff1784d1v1.5|r
-- Some typos fixed
-- Datatext panels can now be transparent
-- Background frames no longer have offset options, now they have own movers
-- Background frames template doesn't require reload and is a profile based option
-- Movers created by S&L now are grouped by own categories just like in ElvUI itself (Note: background frames' movers are available ONLY in those groups)
-- Raid Marks now properly update setting on profile change
-- Raid Marks module now has an option to hide backdrop for it's main panel
-- Added Item Level overlay on item slots
-- Added Item Durability overlay on item slots
-- Added Equipment Manager per spec/zone
-- Added Farm module to make farming easier.
-- Added skinning of minimap buttons
-- Added coordinates to the minimap
-- LFR Lockout tracking in time datatext now has options to choose what daungeons you want to show there
-- Top datapanel info can now be changed by user
-- You will now receive chat message if someone in your group/raid has newer version of S&L
-- Add Affinitii's (Blood Legion) UI Layout
-- Darth's Layout Modified
-- Added loot announce function
+-- English localization file for enUS and enGB.
+local AceLocale = LibStub:GetLibrary("AceLocale-3.0");
+local L = AceLocale:NewLocale("ElvUI", "enUS", true);
+
+if not L then return; end
+
+--General--
+L["Shadow & Light"] = true
+L["SLE_DESC"] = [=[This is an edit of ElvUI that adds some functionality to the original addon and changes some previously existed options.
+The edit doesn't change original files in any respect so you can freely disable it any time from your addon manager without any risk.]=]
+L["LFR Lockout"] = true
+L["Show/Hide LFR lockout info in the time datatext's tooltip."] = true
+L["PvP Auto Release"] = true
+L["Automatically release body when killed inside a battleground."] = true
+L["Errors in combat"] = true
+L["Show/hide error messages in combat."] = true
+L["Pet autocast corners"] = true
+L["Show/hide triangles in corners of autocastable buttons."] = true
+L["Loot History"] = true
+L["Auto hide"] = true
+L["Automaticaly hide Blizzard loot histroy frame when leaving the instance."] = true
+L["Sets alpha of loot histroy frame."] = true
+L["SLE_LOGIN_MSG"] = [=[You are using |cff1784d1Shadow & Light Edit|r version |cff1784d1%s%s|r for ElvUI.
+If you wish to use the original ElvUI addon, disable this edit's plugin in your Addons manager.
+Have a nice day.]=]
+L["Your version of ElvUI is older than recommended to use with Shadow & Light Edit. Please, download the latest version from tukui.org."] = true
+L["Reset All"] = true
+L["Reset all Shadow & Light options and movers to their defaults"] = true
+L["Reset these options to defaults"] = true
+
+--Install--
+L["Shadow & Light Settings"] = true
+L["You can now choose if you what to use one of authors' set of options. This will change the positioning of most elements but also change a bunch of other options within ElvUI's config."] = true
+L["SLE_Install_Text2"] = [=[This step is optional and only to be used if you are wanting to use one of our configurations.
+|cffFF0000Warning:|r Please note that the authors' may or may not use any of the layout/theme you have selected as they may not have utilized the options.]=]
+L["Darth's Config"] = true
+L["Darth's Defaults Set"] = true
+L["Repooc's Config"] = true
+L["Repooc's Defaults Set"] = true
+L["Affinitii's Config"] = true
+L["Affinitii's Defaults Set"] = true
+
+--Auras--
+L["Options for customizing auras near the minimap."] = true
+L["Caster Name"] = true
+L["Enabling this will show caster name in the buffs and debuff icons."] = true
+
+--Backgroungds--
+L["Backgrounds"] = true
+L["Additional Background Panels"] = true
+L["BG_DESC"] = "Module for creating additional frames that can be used as backgrounds for anything."
+L["Bottom BG"] = true
+L["Left BG"] = true
+L["Right BG"] = true
+L["Actionbar BG"] = true
+L["Show/Hide this frame."] = true
+L["Sets width of the frame"] = true
+L["Sets height of the frame"] = true
+L["Sets X offset of the frame"] = true
+L["Sets Y offset of the frame"] = true
+L["Texture"] = true
+L["Set the texture to use in this frame.  Requirements are the same as the chat textures."] = true
+L["Backdrop Template"] = true
+L["Change the template used for this backdrop."] = true
+L["Default"] = true
+L["Hide in Pet Batlle"] = true
+L["Show/Hide this frame during Pet Battles."] = true
+
+--Character Frame Options
+L["CFO_DESC"] = "This section will added different options/features to the character sheet.  Here you can show item level and durability of your items for a quick glance."
+L["Character Frame Options"] = true
+L['Font'] = true
+L["The font that the item level will use."] = true
+L["Set the font size that the item level will use."] = true
+L["Set the font outline that the item level will use."] = true
+L["The font that the item durability will use."] = true
+L["Set the font size that the item durability will use."] = true
+L["Set the font outline that the item durability will use."] = true
+
+--Chat--
+L["Chat Options"] = true
+L["Chat Editbox History"] = true
+L["Amount of messages to save. Set to 0 to disable."] = true
+
+--Datatexts--
+L["Bosses killed: "] = true
+L["You didn't select any instance to track."] = true
+L["This LFR isn't available for your level/gear."] = true
+L["SLE_AUTHOR_INFO"] = "Shadow & Light Edit by Darth Predator & Repooc"
+L["SLE_CONTACTS"] = [=[Bug reports, suggestions and other stuff accepted via:
+- Private Massage on TukUI.org to Darth Predator or Repooc
+- AddOn's page/ticket system on curse.com
+- Forums on tukui.org, Addons/Help section
+- AddOn's repo on github.com]=]
+L["DP_1"] = "DT Panel 1"
+L["DP_2"] = "DT Panel 2"
+L["DP_3"] = "DT Panel 3"
+L["DP_4"] = "DT Panel 4"
+L["DP_5"] = "DT Panel 5"
+L["DP_6"] = "DT Panel 6"
+L["Bottom_Panel"] = "Bottom Panel"
+L["Top_Center"] = "Top Panel"
+L["Left Chat"] = true
+L["Right Chat"] = true
+L["Datatext Panels"] = true
+L["Additional Datatext Panels"] = true
+L["DP_DESC"] = [=[Additional Datatext Panels.
+8 panels with 20 datatext points total and a dashboard with 4 status bars.
+You can't disable chat panels.]=]
+L["Dashboard"] = true
+L["Show/Hide dashboard."] = true
+L["Dashboard Panels Width"] = true
+L["Sets size of dashboard panels."] = true
+L["Show/Hide this panel."] = true
+L["Sets size of this panel"] = true
+L['Hide panel background'] = true
+L["Don't show this panel, only datatexts assinged to it"] = true
+L["Some datatexts that Shadow & Light are supplied with have settings that can be modified to alter the displayed information. Please use the dropdown box to select which datatext you would like to configure."] = true
+L["S&L Friends"] = true
+L["Show total friends in the datatext."] = true
+L["Show total guild members in the datatext."] = true
+L["These options are for modifing the Shadow & Light Friends datatext."] = true
+L["S&L Guild"] = true
+L["Show Totals"] = true
+L["Expand RealID"] = true
+L["Display realid with two lines to view broadcasts."] = true
+L["Hide Hints"] = true
+L["Hide the hints in the tooltip."] = true
+L["Autohide Delay:"] = true
+L["Adjust the tooltip autohide delay when mouse is no longer hovering of the datatext."] = true
+L["S&L Datatexts"] = true
+L["Datatext Options"] = true
+L["These options are for modifing the Shadow & Light Guild datatext."] = true
+L["Hide MOTD"] = true
+L["Hide the guild's Message of the Day in the tooltip."] = true
+L["Hide Guild Name"] = true
+L["Hide the guild's name in the tooltip."] = true
+L["Hide In Combat"] = true
+L["Will not show the tooltip while in combat."] = true
+
+--Exp/Rep Bar--
+L["Xp-Rep Text"] = true
+L["Full value on Exp Bar"] = true
+L["Changes the way text is shown on exp bar."] = true
+L["Full value on Rep Bar"] = true
+L["Changes the way text is shown on rep bar."] = true
+L["Auto Track Reputation"] = true
+L["Automatically sets reputation tracking to the most recent reputation change."] = true
+
+--Equip Manager--
+L['Equipment Manager'] = true
+L["EM_DESC"] = "This module provides different options to automatically change your equipment sets on spec change or entering certain locations."
+L['Spam Throttling'] = true
+L["Removes the spam from chat stating what talents were learned or unlearned during spec change."] = true
+L["Here you can choose what equipment sets to use in different situations."] = true
+L["Equip this set when switching to primary talents."] = true
+L["Equip this set when switching to secondary talents."] =true
+L["Equip this set after entering dungeons or raids."] = true
+L["Equip this set after entering battlegrounds or arens."] = true
+
+
+--Farm--
+L['Farm'] = true
+L["FARM_DESC"] = [[Additional actionbars for the Sunsong Ranch containing seeds, tools and portals.
+They will appear only if you are on the Ranch or The Halfhill Market.]]
+L['Only active buttons'] = true
+L['Only show the buttons for the seeds, portals, tools you have in your bags.'] = true
+L["Seed Bars"] = true
+L["Auto Planting"] = true
+L["Automatically plant seeds to the nearest tilled soil if one is not already selected."] = true
+L["Drop Seeds"] = true
+L["Allow seeds to be destroyed from seed bars."] = true
+L["Quest Glow"] = true
+L["Show glowing border on seeds needed for any quest in your log."] = true
+L["Dock Buttons To"] = true
+L["Change the position from where seed bars will grow."] = true
+L["Bottom"] = true
+L["Top"] = true
+L["Farm Seed Bars"] = true
+L["Farm Tool Bar"] = true
+L["Farm Portal Bar"] = true
+L["Tilled Soil"] = true
+L['Right-click to drop the item.'] = true
+L["We are sorry, but you can't do this now. Try again after the end of this combat."] = true
+
+--Import Section
+L["SLE_IMPORTS"] = "|cffFF0000Note:|r Use the filter imports with caution as these will overwrite any custom ones made!\nImporting a class filter will overwrite any modifications you have made to that class filter."
+L["Import Options"] = true
+L["Author Specific Imports"] = true
+L['Select Author'] = true
+L["Please be aware that importing any of the filters will require a reload of the UI for the settings to take effect.\nOnce you click a filter button, your screen will reload automatically."] = true
+L["Import"] = true
+L["This will import non class specific filters from this author."] = true
+L["This will import All Class specific filters from this author."] = true
+L['Import All'] = true
+
+--Loot--
+L['Loot Announcer'] = true
+L["LOOT_DESC"] = [[This module will announce loot dropped when you open the loot window.
+This will work only if you are raid leadedr, assist or master looter or if you hold left control key while looting to manually announce the items in chat.]]
+L["Auto Announce"] = true
+L["Automatically announce in selected chat channel."] = true
+L["Loot Quality"] = true
+L["Set the minimum quality of an item to announce."] = true
+L["Announce loot to the selected channel."] = true
+L["Loot Dropped:"] = true
+
+--Marks--
+L["Raid Marks"] = true
+L["Show/Hide raid marks."] = true
+L["Show only in instances"] = true
+L["Selecting this option will have the Raid Markers appear only while in a raid or dungeon."] = true
+L["Sets size of buttons"] = true --Also used in UI buttons
+L["Direction"] = true
+L["Change the direction of buttons growth from the skull marker"] = true
+
+--Minimap--
+L["Minimap Options"] = true
+L['MINIMAP_DESC'] = "These options effect various aspects of the minimap.  Some options may not work if you disable minimap in the General section of ElvUI config."
+L["Minimap Coordinates"] = true
+L['Coords Display'] = true
+L['Change settings for the display of the coordinates that are on the minimap.'] = true
+L["Coords Location"] = true
+L['This will determine where the coords are shown on the minimap.'] = true
+L['Bottom Corners'] = true
+L['Bottom Center'] = true
+L["Minimap Buttons"] = true
+L['Enable/Disable minimap button skinning.'] = true
+L['Anchor Setting'] = true
+L['Anchor mode for displaying the minimap buttons are skinned.'] = true
+L['Horizontal Bar'] = true
+L['Vertical Bar'] = true
+L['The size of the minimap buttons when not anchored to the minimap.'] = true
+L['Show minimap buttons on mouseover.'] = true
+
+--Raid Utility--
+L["Raid Utility"] = true
+
+--Skins--
+L["This options require ElvUI AddOnSkins pack to work."] = true
+L["Sets font size on DBM bars"] = true
+L["Ground"] = true
+L["Flying"] = true
+L["Flying & Ground"] = true
+L["Swimming"] = true
+
+--UI buttons--
+L["UI Buttons"] = true
+L["Additional menu with useful buttons"] = true
+L["Show/Hide UI buttons."] = true
+L["Mouse over"] = true
+L["Show on mouse over."] = true
+L["Buttons position"] = true
+L["Layout for UI buttons."] = true
+L["Click to reload your interface"] = true
+L["Click to toggle config window"] = true
+L["Click to toggle the AddOn Manager frame (stAddOnManager, Ampere or ACP) you have enabled."] = true
+L["Click to toggle the Configuration/Option Window from the Bossmod (DXE, DBM or Bigwigs) you have enabled."] = true
+L["Click to unlock moving ElvUI elements"] = true
+L["ElvUI Config"] = true
+L["Move UI"] = true
+L["Reload UI"] = true
+L["AddOns Manager"] = true
+L["Boss Mod"] = true
+L["Click to toggle iFilger's config UI"] = true
+
+--Unitframes--
+L["Additional unit frames options"] = true
+L["Options for customizing unit frames. Please don't change these setting when ElvUI's testing frames for bosses and arena teams are shown. That will make them invisible until retoggling."] = true
+L["Player Frame Indicators"] = true
+L["Combat Icon"] = true
+L["Show/Hide combat icon on player frame."] = true
+L["Combat Position"] = true
+L["Set the point to show combat icon"] = true
+L["Classbar Energy"] = true
+L["Show/hide the text with exact number of energy (Solar/Lunar or Demonic Fury) on your Classbar."] = true
+L["Classbar Offset"] = true
+L["This options will allow you to detach your classbar from player's frame and move it in other location."] = true
+L["Power Text Position"] = true
+L["Position power text on this bar of chosen frame"] = true
+
+--Credits--
+L["ELVUI_SLE_CREDITS"] = "We would like to point out the following people for helping us create this addon with testing, coding, and other stuff."
+L["Submodules and Coding:"] = true
+L["ELVUI_SLE_CODERS"] = [=[Elv
+Tukz
+Affinitii
+Azilroka
+Blazeflack
+Boradan
+Camealion
+Omega1970
+Pvtschlag
+Sinaris
+Sortokk
+Swordyy
+]=]
+L["Other Support:"] = true
+L["ELVUI_SLE_MISC"] = [=[BuG - for being french lol
+TheSamaKutra
+The rest of TukUI community
+]=]
+
+--Tutorials--
+L["To enable full values of health/power on unitframes in Shadow & Light add \":sl\" to the end of the health/power tag.\nExample: [health:current:sl]."] = true
+
+--Movers--
+L["Pet Battle AB"] = true
+
+
+--Changelog--
+L["Changelog"] = true
+L["CHANGE_LOG"] = [=[|cff1784d1v1.5|r
+- Some typos fixed
+- Datatext panels can now be transparent
+- Background frames no longer have offset options, now they have own movers
+- Background frames template doesn't require reload and is a profile based option
+- Movers created by S&L now are grouped by own categories just like in ElvUI itself (Note: background frames' movers are available ONLY in those groups)
+- Raid Marks now properly update setting on profile change
+- Raid Marks module now has an option to hide backdrop for it's main panel
+- Added Item Level overlay on item slots
+- Added Item Durability overlay on item slots
+- Added Equipment Manager per spec/zone
+- Added Farm module to make farming easier.
+- Added skinning of minimap buttons
+- Added coordinates to the minimap
+- LFR Lockout tracking in time datatext now has options to choose what daungeons you want to show there
+- Top datapanel info can now be changed by user
+- You will now receive chat message if someone in your group/raid has newer version of S&L
+- Add Affinitii's (Blood Legion) UI Layout
+- Darth's Layout Modified
+- Added loot announce function
 ]=]
\ No newline at end of file
diff --git a/ElvUI_SLE/locales/russian.lua b/ElvUI_SLE/locales/russian.lua
index e8d9c48..9a1e510 100755
--- a/ElvUI_SLE/locales/russian.lua
+++ b/ElvUI_SLE/locales/russian.lua
@@ -1,315 +1,316 @@
---Russian localization
-local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
-local L = AceLocale:NewLocale("ElvUI", "ruRU")
-
-if not L then return; end
-
---General--
-L["Shadow & Light"] = "Тень и Свет"
-L["SLE_DESC"] = [=[Это редакция ElvUI добавляет некоторые новые функции к оригинальному аддону и изменяет функционал некоторых старых опций.
-Эта редакция ни в коем виде не изменяет оригинальные файлы, так что вы можете спокойно отключить ее в вашем менеджере аддонов по желанию.]=]
-L["LFR Lockout"] = "Состояние ЛФР"
-L["Show/Hide LFR lockout info in the time datatext's tooltip."] = "Отображать/скрывать информацию о сохранении ЛФР"
-L["PvP Auto Release"] = "Автоматический выход из тела"
-L["Automatically release body when killed inside a battleground."] = "Автоматически выходить из тела на полях боя."
-L["Errors in combat"] = "Отображать ошибки в бою"
-L["Show/hide error messages in combat."] = "Показать/скрыть сообщения об ошибках в бою"
-L["Pet autocast corners"] = "Автокаст питомца"
-L["Show/hide triangles in corners of autocastable buttons."] = "Показать/скрыть треугольники в углах кнопок с автоматически применяемыми заклинаниями питомца."
-L["Loot History"] = "История добычи"
-L["Auto hide"] = "Автоматически скрывать"
-L["Automaticaly hide Blizzard loot histroy frame when leaving the instance."] = "Автоматически скрывать окно истории добычи Blizzard при выходе из подземелья."
-L["Sets alpha of loot histroy frame."] = "Устанавливает прозрачность окна истории добычи"
-L["SLE_LOGIN_MSG"] = [=[Вы используете редакцию ElvUI под названием |cff1784d1"Тень и Свет"|r версия |cff1784d1%s%s|r.
-Если вы хотите использовать оригинальный ElvUI, просто отключите плагин этой редакции в вашем менеджере аддонов.
-Приятной игры.]=]
-L["Your version of ElvUI is older than recommended to use with Shadow & Light Edit. Please, download the latest version from tukui.org."] = "Ваша версия ElvUI старее, чем рекомендованная для использования с редакцией Тень и Свет. Пожалуйста, скачайте последнюю версию с tukui.org."
-L["Reset All"] = "Сбросить все"
-L["Reset all Shadow & Light options and movers to their defaults"] = "Сбросить все настройки и фиксаторы редакции на умолчания"
-L["Reset these options to defaults"] = "Восстановить умолчания для этих опций"
-
---Install--
-L["Shadow & Light Settings"] = "Установки Тени и Света"
-L["You can now choose if you what to use one of authors' set of options. This will change not only the positioning of some elements but also change a bunch of other options."] = "Вы можете выбрать использование одного из набора конфигурации от авторов. Это изменит не только расположение ваших рамок и панелей, но и некоторого количества других опций."
-L["SLE_Install_Text2"] = [=[Этот шаг опционален и должен использоваться только в случае, если Вы хотите использовать одну из наших конфигураций.
-|cffFF0000Внимание:|r Пожалуйста помните, что авторы могут не использовать тему/роль, которую вы выбрали, и потому результат не всегда будет хорошим.]=]
-L["Darth's Config"] = "Опции Darth'а"
-L["Darth's Defaults Set"] = "Установлены настройки Darth'а"
-L["Repooc's Config"] = "Опции Repooc'а"
-L["Repooc's Defaults Set"] = "Установлены настройки Repooc'а"
-L["Affinitii's Config"] = "Опции  Affinitii"
-L["Affinitii's Defaults Set"] = "Установлены настройки Affinitii"
-
---Auras--
-L["Options for customizing auras near the minimap."] = "Опции для настройки аур около миникарты"
-L["Caster Name"] = "Имя заклинателя"
-L["Enabling this will show caster name in the buffs and debuff icons."] = "При включении будет отображать в подсказке к ауре имя того, кто наложил ее"
-
---Backgroungds--
-L["Backgrounds"] = "Фоновые фреймы"
-L["Additional Background Panels"] = "Дополнительные фреймы для фонов"
-L["BG_DESC"] = "Модуль для создания дополнительных фреймов, которые могут использоваться в качестве фонов для чего-нибудь."
-L["Bottom BG"] = "Нижний фон"
-L["Left BG"] = "Левый фон"
-L["Right BG"] = "Правый фон"
-L["Actionbar BG"] = "Верхний фон"
-L["Show/Hide this frame."] = "Показать/скрыть этот фрейм."
-L["Sets width of the frame"] = "Устанавливает ширину фрейма"
-L["Sets height of the frame"] = "Устанавливает высоту фрейма"
-L["Sets X offset of the frame"] = "Устанавливает смещение по оси X"
-L["Sets Y offset of the frame"] = "Устанавливает смещение по оси Y"
-L["Texture"] = "Текстура"
-L["Set the texture to use in this frame.  Requirements are the same as the chat textures."] = "Устанавливает текстуру этого фрейма. Требования к текстуре такие же, как для текстур чата."
-L["Backdrop Template"] = "Тип фона"
-L["Change the template used for this backdrop."] = "Измените шаблон, используемый при создании этого фона"
-L["Default"] = "Обычный"
-L["Hide in Pet Batlle"] = "Прятать в битвах питомцев"
-L["Show/Hide this frame during Pet Battles."] = "Показать/скрыть этот фрейм в битвах питомцев"
-
---Character Frame Options--
-L["CFO_DESC"] = "Дополнительные опции окна персонажа.  Вы можете включить отображение уровня и прочности предметов."
-L["Character Frame Options"] = "Настройки окна персонажа"
-L['Font'] = "Шрифт"  --L['Fonts'] is localized in elvui but not Font
-L["The font that the item level will use."] = "Шрифт уровня предметов."
-L["Set the font size that the item level will use."] = "Размер шрифта уровня предметов."
-L["Set the font outline that the item level will use."] = "Граница шрифта уровня предметов."
-L["The font that the item durability will use."] = "Шрифт прочности предметов."
-L["Set the font size that the item durability will use."] = "Размер шрифта прочности предметов."
-L["Set the font outline that the item durability will use."] = "Граница шрифта прочности предметов."
-
---Chat--
-L["Chat Options"] = "Настройки чата"
-L["Chat Editbox History"] = "История чата"
-L["Amount of messages to save. Set to 0 to disable."] = "Количество сообщений, введенных вами, которое будет сохранено между сеансами"
-
---Datatexts--
-L["Bosses killed: "] = "Боссов убито: "
-L["You didn't select any instance to track."] = "Вы не выбрали подземелья для отслеживания"
-L["This LFR isn't available for your level/gear."] = "Это подземелье не доступно для Вашего уровня или экипировки."
-L["SLE_AUTHOR_INFO"] = "Редакция \"Тень и Свет\" от Darth Predator и Repooc"
-L["SLE_CONTACTS"] = [=[При возникновении вопросов, предложений и прочего обращаться:
-- Личное сообщение на форуме TukUI (tukui.org), ник Darth Predator или Repooc
-- Страница/система тикетов на curse.com
-- Форумы tukui.org, раздел Addons/Help
-- Репозиторий проекта на github.com]=]
-L["DP_1"] = "Панель 1"
-L["DP_2"] = "Панель 2"
-L["DP_3"] = "Панель 3"
-L["DP_4"] = "Панель 4"
-L["DP_5"] = "Панель 5"
-L["DP_6"] = "Панель 6"
-L["Bottom_Panel"] = "Нижняя панель"
-L["Top_Center"] = "Верхняя панель"
-L["Left Chat"] = "Левый чат"
-L["Right Chat"] = "Правый чат"
-L["Datatext Panels"] = "Панели инфо-текстов"
-L["Additional Datatext Panels"] = "Дополнительные панели инфо-текстов"
-L["DP_DESC"] = [=[Дополнительные панели под информационные тексты.
-Всего здесь 8 дополнительных панелей и 20 дополнительных слотов под инфо-тексты, а также панель состояния с 4мя индикаторами.
-Панели на чатах отключить нельзя.]=]
-L["Dashboard"] = "Панель состояния"
-L["Show/Hide dashboard."] = "Показать/скрыть панель состояния."
-L["Dashboard Panels Width"] = "Ширина панелей"
-L["Sets size of dashboard panels."] = "Устанавливает размер полос панели состояния."
-L["Show/Hide this panel."] = "Показать/скрыть эту панель."
-L["Sets size of this panel"] = "Установить ширину панели"
-L['Hide panel background'] = "Скрыть фон панели"
-L["Don't show this panel, only datatexts assinged to it"] = "Не показывать саму панель, а только назначенные на нее инфо-тексты"
-
---Exp/Rep Bar--
-L["Xp-Rep Text"] = "Текст Опыта/Репутации"
-L["Full value on Exp Bar"] = "Полное значение опыта"
-L["Changes the way text is shown on exp bar."] = "Изменяет отображение значений опыта на полосе."
-L["Full value on Rep Bar"] = "Полное значение репутации"
-L["Changes the way text is shown on rep bar."] = "Изменяет отображение значений репутации на полосе."
-L["Auto Track Reputation"] = "Автоматически отслеживать репутацию"
-L["Automatically sets reputation tracking to the most recent reputation change."] = "Автоматически изменять отслеживаемую репутацию на последнюю фракцию, чье отношение к Вам изменилось."
-
---Equip Manager--
-L['Equipment Manager'] = "Менеджер экипировки"
-L["EM_DESC"] = "Этот модуль предоставляет различные опции для автоматической смены комплектов экипировки при переключении набора талантов или попадании в определенную локацию."
-L['Spam Throttling'] = "Подавление спама"
-L["Removes the spam from chat stating what talents were learned or unlearned during spec change."] = "Удаляет спам об изученных/забытых заклинаниях при смене талантов."
-L["Here you can choose what equipment sets to use in different situations."] = "Здесь Вы можете выбрать какие комплекты экипировки использовать в различных случаях."
-L["Equip this set when switching to primary talents."] = "Надеть этот набор при переключении на основной набор талантов."
-L["Equip this set when switching to secondary talents."] = "Надеть этот набор при переключении на дополнительный набор талантов."
-L["Equip this set after entering dungeons or raids."] = "Надеть этот набор при попадании в подземелье или рейд."
-L["Equip this set after entering battlegrounds or arens."] = "Надеть этот набор при попадании на поля боя или арены."
-
---Farm--
-L['Farm'] = "Ферма"
-L["FARM_DESC"] = [[Дополнительные панели с семенами, инструментами и порталами для Фермы Солнечной Песни.
-Они будут отображаться только если Вы находитесь на ферме или рынке Полугорья.]]
-L['Only active buttons'] = "Только активные"
-L['Only show the buttons for the seeds, portals, tools you have in your bags.'] = "Отображать только кнопки для тех семян/инструментов/порталов, которые есть у Вас в сумках."
-L["Seed Bars"] = "Панели семян"
-L["Auto Planting"] = "Автоматическая посадка"
-L["Automatically plant seeds to the nearest tilled soil if one is not already selected."] = "Автоматически высаживать указанное растение на ближайшую возделанную змелю, если не выбрана другая."
-L["Drop Seeds"] = "Удалять семена"
-L["Allow seeds to be destroyed from seed bars."] = "Позволить удаление семян при помощи панелей."
-L["Quest Glow"] = "Свечение заданий"
-L["Show glowing border on seeds needed for any quest in your log."] = "Показывать светящуюся границу на семенах, необходимых на какое-либо из взятых заданий из Вашего журнала."
-L["Dock Buttons To"] = "Прикрепить кнопки к"
-L["Change the position from where seed bars will grow."] = "Изменить сторону, с которой будут расти панели семян."
-L["Bottom"] = "Низ"
-L["Top"] = "Верх"
-L["Farm Seed Bars"] = "Панели семян"
-L["Farm Tool Bar"] = "Панель инструментов"
-L["Farm Portal Bar"] = "Панель порталов"
-L["Tilled Soil"] = "Возделанная земля"
-L['Right-click to drop the item.'] = "ПКМ для уничтожения предмета."
-
---Marks--
-L["Raid Marks"] = "Рейдовые Метки"
-L["Show/Hide raid marks."] = "Показать/скрыть фрейм рейдовых меток."
-L["Show only in instances"] = "Только в подземельях"
-L["Selecting this option will have the Raid Markers appear only while in a raid or dungeon."] = "При активации будет отображать полосу меток только в подземельях и рейдах."
-L["Sets size of buttons"] = "Устанавливает размер кнопок" --Also used in UI buttons
-L["Direction"] = "Направление"
-L["Change the direction of buttons growth from the skull marker"] = "Изменяет направление роста кнопок от метки \"череп\"."
-
---Import Section
-L["SLE_IMPORTS"] = "|cffFF0000Важно:|r Используйте импортирование фильтров осторожно, так как они удалят ваши собсвенные фильтры!\nИмпортирование классового фильтра перезапишет любые изменения, которые Вы в него вносили."
-L["Import Options"] = "Импорт Настроек"
-L["Author Specific Imports"] = "Импорт специфических настроек авторов"
-L['Select Author'] = "Выберите автора"
-L["Please be aware that importing any of the filters will require a reload of the UI for the settings to take effect.\nOnce you click a filter button, your screen will reload automatically."] = "Пожалуйста, учтите, что импортирование любого фильтра потребует перезагрузки интерфейса для вступления в силу.\nКак только вы нажмете на кнопку, Ваш интерфейс перезагрузится автоматически."
-L["Import"] = "Импорт"
-L["This will import non class specific filters from this author."] = "Это импортирует не привязанные к классу фильтры этого автора."
-L["This will import All Class specific filters from this author."] = "Это импортирует все классовые фильтры этого автора."
-L['Import All'] = "Импорт всего"
-
---Loot--
-L['Loot Announcer'] = "Оповещение о добыче"
-L["LOOT_DESC"] = [[Этот модуль будет выводить список выпавшей добычи при открытии окна добычи.
-Вывод осуществляется только если Вы лидер, помощник или ответственный за добычу или при зажатии левой клавиши control при осмотре трупа для принудительного вывода.]]
-L["Auto Announce"] = "Авто оповещение"
-L["Automatically announce in selected chat channel."] = "Автоматически выводить список добычи в выбранный канал чата"
-L["Loot Quality"] = "Качество добычи"
-L["Set the minimum quality of an item to announce."] = "Минимальное качество предмета, для вывода в чате."
-L["Announce loot to the selected channel."] = "Канал чата, для вывода сообщений."
-L["Loot Dropped:"] = "Список добычи:"
-
---Minimap--
-L["Minimap Options"] = "Опции миникарты"
-L['MINIMAP_DESC'] = "Эти опции влияют на различные функции миникарты.  Некоторые опции погут не работать, если вы отключите миникарты в основных настройках ElvUI."
-L["Minimap Coordinates"] = "Координаты на миникарте"
-L['Coords Display'] = "Отображение координат"
-L['Change settings for the display of the coordinates that are on the minimap.'] = "Укажите условие отображения координат на миникарте."
-L["Coords Location"] = "Позиция координат"
-L['This will determine where the coords are shown on the minimap.'] = "Определяет место, в котором будут отображаться координаты на миникарте"
-L['Bottom Corners'] = "Нижние углы"
-L['Bottom Center'] = "Внизу по центру"
-L["Minimap Buttons"] = "Иконки у миникарты"
-L['Enable/Disable minimap button skinning.'] = "Включить/выключить стилизацию иконок у миникарты."
-L['Anchor Setting'] = "Настрокий расположения"
-L['Anchor mode for displaying the minimap buttons are skinned.'] = "Место расположения иконок аддонов, когда они стилизованы."
-L['Horizontal Bar'] = "Горизонтальная панель"
-L['Vertical Bar'] = "Вертикальная панель"
-L['The size of the minimap buttons when not anchored to the minimap.'] = "Размер иконок, когда они не прикреплены к миникарте."
-L['Show minimap buttons on mouseover.'] = "Отображать иконпри при наведении мыши."
-
-
---Mover groups
-L["S&L: All"] = "S&L: Все"
-L["S&L: Datatexts"] = "S&L: Инфо-тексты"
-L["S&L: Backgrounds"] = "S&L: Фоновые фреймы"
-L["S&L: Misc"] = "S&L: Прочее"
-
---Raid Utility--
-L["Raid Utility"] = "Управление рейдом"
-
---Skins--
-L["This options require ElvUI AddOnSkins pack to work."] = "Эти опции требуют наличие пака ElvUI AddOnSkins для работы"
-L["Sets font size on DBM bars"] = "Устанавливает размер текста на полосах DBM"
-L["Ground"] = "Наземные"
-L["Flying"] = "Летающие"
-L["Flying & Ground"] = "Наземные и Летающие"
-L["Swimming"] = "Водные"
-
---UI buttons--
-L["UI Buttons"] = "Меню интерфейса"
-L["Additional menu with useful buttons"] = "Дополнительное меню с полезными кнопками"
-L["Show/Hide UI buttons."] = "Показать/скрыть меню"
-L["Mouse over"] = "При наведении"
-L["Show on mouse over."] = "Отображать при наведении мыши."
-L["Buttons position"] = "Положение кнопок"
-L["Layout for UI buttons."] = "Режим положения кнопок"
-L["Click to reload your interface"] = "Нажмите для перезагрузки интерфейса"
-L["Click to toggle config window"] = "Нажмите для отображения окна настроек"
-L["Click to toggle the AddOn Manager frame (stAddOnManager, Ampere or ACP) you have enabled."] = "Нажмите для отображения окна менеджера аддонов. Поддерживаются stAddOnManager, ACP, Ampere"
-L["Click to toggle the Configuration/Option Window from the Bossmod (DXE, DBM or Bigwigs) you have enabled."] = "Нажмите для отображения окна настроек включенного босс мода. Поддерживаются DXE, DBM, Bigwigs."
-L["Click to unlock moving ElvUI elements"] = "Нажмите для входа в режим перемещения элементов"
-L["ElvUI Config"] = "Настройка ElvUI"
-L["Move UI"] = "Разблокировать элементы"
-L["Reload UI"] = "Перезагрузить интерфейс"
-L["AddOns Manager"] = "Менеджер аддонов"
-L["Boss Mod"] = "Босс мод"
-L["Click to toggle iFilger's config UI"] = "Нажмите для отображения настроек iFilger"
-
---Unitframes--
-L["Additional unit frames options"] = "Дополнительные опции рамок юнитов"
-L["Options for customizing unit frames. Please don't change these setting when ElvUI's testing frames for bosses and arena teams are shown. That will make them invisible until retoggling."] = "Опции для дополнительной настройки рамок юнитов. Пожалуйста, не изменяйте эти настройки в то же время, кода включен тестовый режим рамок боссов и арены в ElvUI. Это сделает их невидимыми до повторного включения."
-L["Player Frame Indicators"] = "Индикаторы игрока"
-L["Combat Icon"] = "Иконка боя"
-L["Show/Hide combat icon on player frame."] = "Отображать/скрывать иконку в бою."
-L["Combat Position"] = "Позиция иконки боя"
-L["Set the point to show combat icon"] = "Устанавливает позицию индикатора боя."
-L["Classbar Energy"] = "Текст энергии полосы класса"
-L["Show/hide the text with exact number of energy (Solar/Lunar or Demonic Fury) on your Classbar."] = "Показать/скрыть текст с точным значением энергии (Лунной/Солнечной или Демонической Ярости) на полосе класса."
-L["Classbar Offset"] = "Отступ полосы класса"
-L["This options will allow you to detach your classbar from player's frame and move it in other location."] = "Эти опции позволят вам открепить полосу класса от рамки игрока и передвинуть ее в другое место."
-L["Power Text Position"] = "Позиция текста ресурса"
-L["Position power text on this bar of chosen frame"] = "Позиционировать текст ресурса относительно выбранной полосы на каждой рамке"
-
---Credits--
-L["ELVUI_SLE_CREDITS"] = "Мы бы хотели отметить следующих людей, которые помогли нас сделать этот аддон посредством тестирования, кода и прочего."
-L["Submodules and Coding:"] = "Субмодули и кодинг:"
-L["ELVUI_SLE_CODERS"] = [=[Elv
-Tukz
-Affinitii
-Azilroka
-Blazeflack
-Boradan
-Camealion
-Omega1970
-Pvtschlag
-Sinaris
-Sortokk
-Swordyy
-]=]
-L["Other Support:"] = "Прочая поддержка:"
-L["ELVUI_SLE_MISC"] = [=[BuG - за то, что он француз :D
-TheSamaKutra
-Сообщество TukUI
-]=]
-
---Tutorials--
-L["To enable full values of health/power on unitframes in Shadow & Light add \":sl\" to the end of the health/power tag.\nExample: [health:current:sl]."] = "Чтобы включить отображение полного значения здоровья/ресурса при использовании Тени и Света, нужно добавить \":sl\" в конец нужного тэга.\nПример: [health:current:sl]."
-
---Movers--
-L["Pet Battle AB"] = "Панель боев питомцев"
-
---Changelog
-L["Changelog"] = "Изменения"
-L["CHANGE_LOG"] = [=[|cff1784d1v1.5|r
-- Исправлены некоторые опечатки
-- Панели инфо-текстов теперь могут быть прозрачными
-- У фоновых фреймов больше нет опции смещения, теперь у них есть собственные фиксаторы
-- Тип фона для фоновых фреймов теперь опция профиля и не требует перезагрузки интерфейса
-- Фиксаторы, создаваемые S&L теперь группируются по собственным категориям аналогично оригинальному ElvUI (фиксаторы фоновых фреймов доступны ТОЛЬКО в этоих группах)
-- Рейдовые метки теперь корректно обновляют настройки при смене профиля
-- У основной панели рейдовых меток теперь можно скрыть фон
-- Добавлен показ уровня на предметах в окне игрока
-- Добавлен показ прочности на предметах в окне игрока
-- Добавлен менеджер экипировки по специализации/зоне
-- Добавлен модуль фермы для улучшения жизни огородников
-- Добавлена стилизация иконок у миникарты
-- Добавлено отображение текущих координат на миникарте
-- Слежение за убитыми боссами в ЛФР теперь позволяет выбрать какие подземелья Вы хотите отслеживать.
-- Информация на верхней панели инфо-текстов теперь может быть изменена пользователем
-- Вы будете получать текстовое сообщение в чате, если в вашей группе/рейде есть человек с более новой версией
-- Добавлены настройки Affinitii (Blood Legion)
-- Настройки Дарта обновлены
-- Добавлена функция оповещения о добыче
+--Russian localization
+local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
+local L = AceLocale:NewLocale("ElvUI", "ruRU")
+
+if not L then return; end
+
+--General--
+L["Shadow & Light"] = "Тень и Свет"
+L["SLE_DESC"] = [=[Это редакция ElvUI добавляет некоторые новые функции к оригинальному аддону и изменяет функционал некоторых старых опций.
+Эта редакция ни в коем виде не изменяет оригинальные файлы, так что вы можете спокойно отключить ее в вашем менеджере аддонов по желанию.]=]
+L["LFR Lockout"] = "Состояние ЛФР"
+L["Show/Hide LFR lockout info in the time datatext's tooltip."] = "Отображать/скрывать информацию о сохранении ЛФР"
+L["PvP Auto Release"] = "Автоматический выход из тела"
+L["Automatically release body when killed inside a battleground."] = "Автоматически выходить из тела на полях боя."
+L["Errors in combat"] = "Отображать ошибки в бою"
+L["Show/hide error messages in combat."] = "Показать/скрыть сообщения об ошибках в бою"
+L["Pet autocast corners"] = "Автокаст питомца"
+L["Show/hide triangles in corners of autocastable buttons."] = "Показать/скрыть треугольники в углах кнопок с автоматически применяемыми заклинаниями питомца."
+L["Loot History"] = "История добычи"
+L["Auto hide"] = "Автоматически скрывать"
+L["Automaticaly hide Blizzard loot histroy frame when leaving the instance."] = "Автоматически скрывать окно истории добычи Blizzard при выходе из подземелья."
+L["Sets alpha of loot histroy frame."] = "Устанавливает прозрачность окна истории добычи"
+L["SLE_LOGIN_MSG"] = [=[Вы используете редакцию ElvUI под названием |cff1784d1"Тень и Свет"|r версия |cff1784d1%s%s|r.
+Если вы хотите использовать оригинальный ElvUI, просто отключите плагин этой редакции в вашем менеджере аддонов.
+Приятной игры.]=]
+L["Your version of ElvUI is older than recommended to use with Shadow & Light Edit. Please, download the latest version from tukui.org."] = "Ваша версия ElvUI старее, чем рекомендованная для использования с редакцией Тень и Свет. Пожалуйста, скачайте последнюю версию с tukui.org."
+L["Reset All"] = "Сбросить все"
+L["Reset all Shadow & Light options and movers to their defaults"] = "Сбросить все настройки и фиксаторы редакции на умолчания"
+L["Reset these options to defaults"] = "Восстановить умолчания для этих опций"
+
+--Install--
+L["Shadow & Light Settings"] = "Установки Тени и Света"
+L["You can now choose if you what to use one of authors' set of options. This will change not only the positioning of some elements but also change a bunch of other options."] = "Вы можете выбрать использование одного из набора конфигурации от авторов. Это изменит не только расположение ваших рамок и панелей, но и некоторого количества других опций."
+L["SLE_Install_Text2"] = [=[Этот шаг опционален и должен использоваться только в случае, если Вы хотите использовать одну из наших конфигураций.
+|cffFF0000Внимание:|r Пожалуйста помните, что авторы могут не использовать тему/роль, которую вы выбрали, и потому результат не всегда будет хорошим.]=]
+L["Darth's Config"] = "Опции Darth'а"
+L["Darth's Defaults Set"] = "Установлены настройки Darth'а"
+L["Repooc's Config"] = "Опции Repooc'а"
+L["Repooc's Defaults Set"] = "Установлены настройки Repooc'а"
+L["Affinitii's Config"] = "Опции  Affinitii"
+L["Affinitii's Defaults Set"] = "Установлены настройки Affinitii"
+
+--Auras--
+L["Options for customizing auras near the minimap."] = "Опции для настройки аур около миникарты"
+L["Caster Name"] = "Имя заклинателя"
+L["Enabling this will show caster name in the buffs and debuff icons."] = "При включении будет отображать в подсказке к ауре имя того, кто наложил ее"
+
+--Backgroungds--
+L["Backgrounds"] = "Фоновые фреймы"
+L["Additional Background Panels"] = "Дополнительные фреймы для фонов"
+L["BG_DESC"] = "Модуль для создания дополнительных фреймов, которые могут использоваться в качестве фонов для чего-нибудь."
+L["Bottom BG"] = "Нижний фон"
+L["Left BG"] = "Левый фон"
+L["Right BG"] = "Правый фон"
+L["Actionbar BG"] = "Верхний фон"
+L["Show/Hide this frame."] = "Показать/скрыть этот фрейм."
+L["Sets width of the frame"] = "Устанавливает ширину фрейма"
+L["Sets height of the frame"] = "Устанавливает высоту фрейма"
+L["Sets X offset of the frame"] = "Устанавливает смещение по оси X"
+L["Sets Y offset of the frame"] = "Устанавливает смещение по оси Y"
+L["Texture"] = "Текстура"
+L["Set the texture to use in this frame.  Requirements are the same as the chat textures."] = "Устанавливает текстуру этого фрейма. Требования к текстуре такие же, как для текстур чата."
+L["Backdrop Template"] = "Тип фона"
+L["Change the template used for this backdrop."] = "Измените шаблон, используемый при создании этого фона"
+L["Default"] = "Обычный"
+L["Hide in Pet Batlle"] = "Прятать в битвах питомцев"
+L["Show/Hide this frame during Pet Battles."] = "Показать/скрыть этот фрейм в битвах питомцев"
+
+--Character Frame Options--
+L["CFO_DESC"] = "Дополнительные опции окна персонажа.  Вы можете включить отображение уровня и прочности предметов."
+L["Character Frame Options"] = "Настройки окна персонажа"
+L['Font'] = "Шрифт"  --L['Fonts'] is localized in elvui but not Font
+L["The font that the item level will use."] = "Шрифт уровня предметов."
+L["Set the font size that the item level will use."] = "Размер шрифта уровня предметов."
+L["Set the font outline that the item level will use."] = "Граница шрифта уровня предметов."
+L["The font that the item durability will use."] = "Шрифт прочности предметов."
+L["Set the font size that the item durability will use."] = "Размер шрифта прочности предметов."
+L["Set the font outline that the item durability will use."] = "Граница шрифта прочности предметов."
+
+--Chat--
+L["Chat Options"] = "Настройки чата"
+L["Chat Editbox History"] = "История чата"
+L["Amount of messages to save. Set to 0 to disable."] = "Количество сообщений, введенных вами, которое будет сохранено между сеансами"
+
+--Datatexts--
+L["Bosses killed: "] = "Боссов убито: "
+L["You didn't select any instance to track."] = "Вы не выбрали подземелья для отслеживания"
+L["This LFR isn't available for your level/gear."] = "Это подземелье не доступно для Вашего уровня или экипировки."
+L["SLE_AUTHOR_INFO"] = "Редакция \"Тень и Свет\" от Darth Predator и Repooc"
+L["SLE_CONTACTS"] = [=[При возникновении вопросов, предложений и прочего обращаться:
+- Личное сообщение на форуме TukUI (tukui.org), ник Darth Predator или Repooc
+- Страница/система тикетов на curse.com
+- Форумы tukui.org, раздел Addons/Help
+- Репозиторий проекта на github.com]=]
+L["DP_1"] = "Панель 1"
+L["DP_2"] = "Панель 2"
+L["DP_3"] = "Панель 3"
+L["DP_4"] = "Панель 4"
+L["DP_5"] = "Панель 5"
+L["DP_6"] = "Панель 6"
+L["Bottom_Panel"] = "Нижняя панель"
+L["Top_Center"] = "Верхняя панель"
+L["Left Chat"] = "Левый чат"
+L["Right Chat"] = "Правый чат"
+L["Datatext Panels"] = "Панели инфо-текстов"
+L["Additional Datatext Panels"] = "Дополнительные панели инфо-текстов"
+L["DP_DESC"] = [=[Дополнительные панели под информационные тексты.
+Всего здесь 8 дополнительных панелей и 20 дополнительных слотов под инфо-тексты, а также панель состояния с 4мя индикаторами.
+Панели на чатах отключить нельзя.]=]
+L["Dashboard"] = "Панель состояния"
+L["Show/Hide dashboard."] = "Показать/скрыть панель состояния."
+L["Dashboard Panels Width"] = "Ширина панелей"
+L["Sets size of dashboard panels."] = "Устанавливает размер полос панели состояния."
+L["Show/Hide this panel."] = "Показать/скрыть эту панель."
+L["Sets size of this panel"] = "Установить ширину панели"
+L['Hide panel background'] = "Скрыть фон панели"
+L["Don't show this panel, only datatexts assinged to it"] = "Не показывать саму панель, а только назначенные на нее инфо-тексты"
+
+--Exp/Rep Bar--
+L["Xp-Rep Text"] = "Текст Опыта/Репутации"
+L["Full value on Exp Bar"] = "Полное значение опыта"
+L["Changes the way text is shown on exp bar."] = "Изменяет отображение значений опыта на полосе."
+L["Full value on Rep Bar"] = "Полное значение репутации"
+L["Changes the way text is shown on rep bar."] = "Изменяет отображение значений репутации на полосе."
+L["Auto Track Reputation"] = "Автоматически отслеживать репутацию"
+L["Automatically sets reputation tracking to the most recent reputation change."] = "Автоматически изменять отслеживаемую репутацию на последнюю фракцию, чье отношение к Вам изменилось."
+
+--Equip Manager--
+L['Equipment Manager'] = "Менеджер экипировки"
+L["EM_DESC"] = "Этот модуль предоставляет различные опции для автоматической смены комплектов экипировки при переключении набора талантов или попадании в определенную локацию."
+L['Spam Throttling'] = "Подавление спама"
+L["Removes the spam from chat stating what talents were learned or unlearned during spec change."] = "Удаляет спам об изученных/забытых заклинаниях при смене талантов."
+L["Here you can choose what equipment sets to use in different situations."] = "Здесь Вы можете выбрать какие комплекты экипировки использовать в различных случаях."
+L["Equip this set when switching to primary talents."] = "Надеть этот набор при переключении на основной набор талантов."
+L["Equip this set when switching to secondary talents."] = "Надеть этот набор при переключении на дополнительный набор талантов."
+L["Equip this set after entering dungeons or raids."] = "Надеть этот набор при попадании в подземелье или рейд."
+L["Equip this set after entering battlegrounds or arens."] = "Надеть этот набор при попадании на поля боя или арены."
+
+--Farm--
+L['Farm'] = "Ферма"
+L["FARM_DESC"] = [[Дополнительные панели с семенами, инструментами и порталами для Фермы Солнечной Песни.
+Они будут отображаться только если Вы находитесь на ферме или рынке Полугорья.]]
+L['Only active buttons'] = "Только активные"
+L['Only show the buttons for the seeds, portals, tools you have in your bags.'] = "Отображать только кнопки для тех семян/инструментов/порталов, которые есть у Вас в сумках."
+L["Seed Bars"] = "Панели семян"
+L["Auto Planting"] = "Автоматическая посадка"
+L["Automatically plant seeds to the nearest tilled soil if one is not already selected."] = "Автоматически высаживать указанное растение на ближайшую возделанную змелю, если не выбрана другая."
+L["Drop Seeds"] = "Удалять семена"
+L["Allow seeds to be destroyed from seed bars."] = "Позволить удаление семян при помощи панелей."
+L["Quest Glow"] = "Свечение заданий"
+L["Show glowing border on seeds needed for any quest in your log."] = "Показывать светящуюся границу на семенах, необходимых на какое-либо из взятых заданий из Вашего журнала."
+L["Dock Buttons To"] = "Прикрепить кнопки к"
+L["Change the position from where seed bars will grow."] = "Изменить сторону, с которой будут расти панели семян."
+L["Bottom"] = "Низ"
+L["Top"] = "Верх"
+L["Farm Seed Bars"] = "Панели семян"
+L["Farm Tool Bar"] = "Панель инструментов"
+L["Farm Portal Bar"] = "Панель порталов"
+L["Tilled Soil"] = "Возделанная земля"
+L['Right-click to drop the item.'] = "ПКМ для уничтожения предмета."
+L["We are sorry, but you can't do this now. Try again after the end of this combat."] = "Извините, но Вы не можете этого сделать сейчас. Попробуйте снова после окончания текущего боя."
+
+--Marks--
+L["Raid Marks"] = "Рейдовые Метки"
+L["Show/Hide raid marks."] = "Показать/скрыть фрейм рейдовых меток."
+L["Show only in instances"] = "Только в подземельях"
+L["Selecting this option will have the Raid Markers appear only while in a raid or dungeon."] = "При активации будет отображать полосу меток только в подземельях и рейдах."
+L["Sets size of buttons"] = "Устанавливает размер кнопок" --Also used in UI buttons
+L["Direction"] = "Направление"
+L["Change the direction of buttons growth from the skull marker"] = "Изменяет направление роста кнопок от метки \"череп\"."
+
+--Import Section
+L["SLE_IMPORTS"] = "|cffFF0000Важно:|r Используйте импортирование фильтров осторожно, так как они удалят ваши собсвенные фильтры!\nИмпортирование классового фильтра перезапишет любые изменения, которые Вы в него вносили."
+L["Import Options"] = "Импорт Настроек"
+L["Author Specific Imports"] = "Импорт специфических настроек авторов"
+L['Select Author'] = "Выберите автора"
+L["Please be aware that importing any of the filters will require a reload of the UI for the settings to take effect.\nOnce you click a filter button, your screen will reload automatically."] = "Пожалуйста, учтите, что импортирование любого фильтра потребует перезагрузки интерфейса для вступления в силу.\nКак только вы нажмете на кнопку, Ваш интерфейс перезагрузится автоматически."
+L["Import"] = "Импорт"
+L["This will import non class specific filters from this author."] = "Это импортирует не привязанные к классу фильтры этого автора."
+L["This will import All Class specific filters from this author."] = "Это импортирует все классовые фильтры этого автора."
+L['Import All'] = "Импорт всего"
+
+--Loot--
+L['Loot Announcer'] = "Оповещение о добыче"
+L["LOOT_DESC"] = [[Этот модуль будет выводить список выпавшей добычи при открытии окна добычи.
+Вывод осуществляется только если Вы лидер, помощник или ответственный за добычу или при зажатии левой клавиши control при осмотре трупа для принудительного вывода.]]
+L["Auto Announce"] = "Авто оповещение"
+L["Automatically announce in selected chat channel."] = "Автоматически выводить список добычи в выбранный канал чата"
+L["Loot Quality"] = "Качество добычи"
+L["Set the minimum quality of an item to announce."] = "Минимальное качество предмета, для вывода в чате."
+L["Announce loot to the selected channel."] = "Канал чата, для вывода сообщений."
+L["Loot Dropped:"] = "Список добычи:"
+
+--Minimap--
+L["Minimap Options"] = "Опции миникарты"
+L['MINIMAP_DESC'] = "Эти опции влияют на различные функции миникарты.  Некоторые опции погут не работать, если вы отключите миникарты в основных настройках ElvUI."
+L["Minimap Coordinates"] = "Координаты на миникарте"
+L['Coords Display'] = "Отображение координат"
+L['Change settings for the display of the coordinates that are on the minimap.'] = "Укажите условие отображения координат на миникарте."
+L["Coords Location"] = "Позиция координат"
+L['This will determine where the coords are shown on the minimap.'] = "Определяет место, в котором будут отображаться координаты на миникарте"
+L['Bottom Corners'] = "Нижние углы"
+L['Bottom Center'] = "Внизу по центру"
+L["Minimap Buttons"] = "Иконки у миникарты"
+L['Enable/Disable minimap button skinning.'] = "Включить/выключить стилизацию иконок у миникарты."
+L['Anchor Setting'] = "Настрокий расположения"
+L['Anchor mode for displaying the minimap buttons are skinned.'] = "Место расположения иконок аддонов, когда они стилизованы."
+L['Horizontal Bar'] = "Горизонтальная панель"
+L['Vertical Bar'] = "Вертикальная панель"
+L['The size of the minimap buttons when not anchored to the minimap.'] = "Размер иконок, когда они не прикреплены к миникарте."
+L['Show minimap buttons on mouseover.'] = "Отображать иконпри при наведении мыши."
+
+
+--Mover groups
+L["S&L: All"] = "S&L: Все"
+L["S&L: Datatexts"] = "S&L: Инфо-тексты"
+L["S&L: Backgrounds"] = "S&L: Фоновые фреймы"
+L["S&L: Misc"] = "S&L: Прочее"
+
+--Raid Utility--
+L["Raid Utility"] = "Управление рейдом"
+
+--Skins--
+L["This options require ElvUI AddOnSkins pack to work."] = "Эти опции требуют наличие пака ElvUI AddOnSkins для работы"
+L["Sets font size on DBM bars"] = "Устанавливает размер текста на полосах DBM"
+L["Ground"] = "Наземные"
+L["Flying"] = "Летающие"
+L["Flying & Ground"] = "Наземные и Летающие"
+L["Swimming"] = "Водные"
+
+--UI buttons--
+L["UI Buttons"] = "Меню интерфейса"
+L["Additional menu with useful buttons"] = "Дополнительное меню с полезными кнопками"
+L["Show/Hide UI buttons."] = "Показать/скрыть меню"
+L["Mouse over"] = "При наведении"
+L["Show on mouse over."] = "Отображать при наведении мыши."
+L["Buttons position"] = "Положение кнопок"
+L["Layout for UI buttons."] = "Режим положения кнопок"
+L["Click to reload your interface"] = "Нажмите для перезагрузки интерфейса"
+L["Click to toggle config window"] = "Нажмите для отображения окна настроек"
+L["Click to toggle the AddOn Manager frame (stAddOnManager, Ampere or ACP) you have enabled."] = "Нажмите для отображения окна менеджера аддонов. Поддерживаются stAddOnManager, ACP, Ampere"
+L["Click to toggle the Configuration/Option Window from the Bossmod (DXE, DBM or Bigwigs) you have enabled."] = "Нажмите для отображения окна настроек включенного босс мода. Поддерживаются DXE, DBM, Bigwigs."
+L["Click to unlock moving ElvUI elements"] = "Нажмите для входа в режим перемещения элементов"
+L["ElvUI Config"] = "Настройка ElvUI"
+L["Move UI"] = "Разблокировать элементы"
+L["Reload UI"] = "Перезагрузить интерфейс"
+L["AddOns Manager"] = "Менеджер аддонов"
+L["Boss Mod"] = "Босс мод"
+L["Click to toggle iFilger's config UI"] = "Нажмите для отображения настроек iFilger"
+
+--Unitframes--
+L["Additional unit frames options"] = "Дополнительные опции рамок юнитов"
+L["Options for customizing unit frames. Please don't change these setting when ElvUI's testing frames for bosses and arena teams are shown. That will make them invisible until retoggling."] = "Опции для дополнительной настройки рамок юнитов. Пожалуйста, не изменяйте эти настройки в то же время, кода включен тестовый режим рамок боссов и арены в ElvUI. Это сделает их невидимыми до повторного включения."
+L["Player Frame Indicators"] = "Индикаторы игрока"
+L["Combat Icon"] = "Иконка боя"
+L["Show/Hide combat icon on player frame."] = "Отображать/скрывать иконку в бою."
+L["Combat Position"] = "Позиция иконки боя"
+L["Set the point to show combat icon"] = "Устанавливает позицию индикатора боя."
+L["Classbar Energy"] = "Текст энергии полосы класса"
+L["Show/hide the text with exact number of energy (Solar/Lunar or Demonic Fury) on your Classbar."] = "Показать/скрыть текст с точным значением энергии (Лунной/Солнечной или Демонической Ярости) на полосе класса."
+L["Classbar Offset"] = "Отступ полосы класса"
+L["This options will allow you to detach your classbar from player's frame and move it in other location."] = "Эти опции позволят вам открепить полосу класса от рамки игрока и передвинуть ее в другое место."
+L["Power Text Position"] = "Позиция текста ресурса"
+L["Position power text on this bar of chosen frame"] = "Позиционировать текст ресурса относительно выбранной полосы на каждой рамке"
+
+--Credits--
+L["ELVUI_SLE_CREDITS"] = "Мы бы хотели отметить следующих людей, которые помогли нас сделать этот аддон посредством тестирования, кода и прочего."
+L["Submodules and Coding:"] = "Субмодули и кодинг:"
+L["ELVUI_SLE_CODERS"] = [=[Elv
+Tukz
+Affinitii
+Azilroka
+Blazeflack
+Boradan
+Camealion
+Omega1970
+Pvtschlag
+Sinaris
+Sortokk
+Swordyy
+]=]
+L["Other Support:"] = "Прочая поддержка:"
+L["ELVUI_SLE_MISC"] = [=[BuG - за то, что он француз :D
+TheSamaKutra
+Сообщество TukUI
+]=]
+
+--Tutorials--
+L["To enable full values of health/power on unitframes in Shadow & Light add \":sl\" to the end of the health/power tag.\nExample: [health:current:sl]."] = "Чтобы включить отображение полного значения здоровья/ресурса при использовании Тени и Света, нужно добавить \":sl\" в конец нужного тэга.\nПример: [health:current:sl]."
+
+--Movers--
+L["Pet Battle AB"] = "Панель боев питомцев"
+
+--Changelog
+L["Changelog"] = "Изменения"
+L["CHANGE_LOG"] = [=[|cff1784d1v1.5|r
+- Исправлены некоторые опечатки
+- Панели инфо-текстов теперь могут быть прозрачными
+- У фоновых фреймов больше нет опции смещения, теперь у них есть собственные фиксаторы
+- Тип фона для фоновых фреймов теперь опция профиля и не требует перезагрузки интерфейса
+- Фиксаторы, создаваемые S&L теперь группируются по собственным категориям аналогично оригинальному ElvUI (фиксаторы фоновых фреймов доступны ТОЛЬКО в этоих группах)
+- Рейдовые метки теперь корректно обновляют настройки при смене профиля
+- У основной панели рейдовых меток теперь можно скрыть фон
+- Добавлен показ уровня на предметах в окне игрока
+- Добавлен показ прочности на предметах в окне игрока
+- Добавлен менеджер экипировки по специализации/зоне
+- Добавлен модуль фермы для улучшения жизни огородников
+- Добавлена стилизация иконок у миникарты
+- Добавлено отображение текущих координат на миникарте
+- Слежение за убитыми боссами в ЛФР теперь позволяет выбрать какие подземелья Вы хотите отслеживать.
+- Информация на верхней панели инфо-текстов теперь может быть изменена пользователем
+- Вы будете получать текстовое сообщение в чате, если в вашей группе/рейде есть человек с более новой версией
+- Добавлены настройки Affinitii (Blood Legion)
+- Настройки Дарта обновлены
+- Добавлена функция оповещения о добыче
 ]=]
\ No newline at end of file
diff --git a/ElvUI_SLE/modules/farm/farm.lua b/ElvUI_SLE/modules/farm/farm.lua
index ee41987..f186a35 100755
--- a/ElvUI_SLE/modules/farm/farm.lua
+++ b/ElvUI_SLE/modules/farm/farm.lua
@@ -1,580 +1,586 @@
-local E, L, V, P, G, _ = unpack(ElvUI); --Inport: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
-local B = LibStub("LibBabble-SubZone-3.0")
-local BL = B:GetLookupTable()
-local F = E:NewModule('Farm', 'AceHook-3.0', 'AceEvent-3.0');
-local SLE = E:GetModule('SLE');
-
-local SeedAnchor, ToolAnchor, PortalAnchor
-local tsort = table.sort
-local farmzones = { BL["Sunsong Ranch"], BL["The Halfhill Market"] }
-local size
-local Zcheck = false
-
-FseedButtons = {}
-FtoolButtons = {}
-FportalButtons = {}
-
-local seeds = {
-	--Seeds general
-	[79102] = { 1 }, -- Green Cabbage
-	[89328] = { 1 }, -- Jade Squash
-	[80590] = { 1 }, -- Juicycrunch Carrot
-	[80592] = { 1 }, -- Mogu Pumpkin
-	[80594] = { 1 }, -- Pink Turnip
-	[80593] = { 1 }, -- Red Blossom Leek
-	[80591] = { 1 }, -- Scallion
-	[89329] = { 1 }, -- Striped Melon
-	[80595] = { 1 }, -- White Turnip
-	[89326] = { 1 }, -- Witchberry
-	--Bags general
-	[80809] = { 2 }, -- Green Cabbage
-	[89848] = { 2 }, -- Jade Squash
-	[84782] = { 2 }, -- Juicycrunch Carrot
-	[85153] = { 2 }, -- Mogu Pumpkin
-	[85162] = { 2 }, -- Pink Turnip
-	[85158] = { 2 }, -- Red Blossom Leek
-	[84783] = { 2 }, -- Scallion
-	[89849] = { 2 }, -- Striped Melon
-	[85163] = { 2 }, -- White Turnip
-	[89847] = { 2 }, -- Witchberry
-	--Seeds special
-	[85216] = { 3 }, -- Enigma
-	[85217] = { 3 }, -- Magebulb
-	[85219] = { 3 }, -- Ominous
-	[89202] = { 3 }, -- Raptorleaf
-	[85215] = { 3 }, -- Snakeroot
-	[89233] = { 3 }, -- Songbell
-	[91806] = { 3 }, -- Unstable Portal
-	[89197] = { 3 }, -- Windshear Cactus
-	--Bags special
-	[95449] = { 4 }, -- Enigma
-	[95451] = { 4 }, -- Magebulb
-	[95457] = { 4 }, -- Raptorleaf
-	[95447] = { 4 }, -- Snakeroot
-	[95445] = { 4 }, -- Songbell
-	[95454] = { 4 }, -- Windshear Cactus
-	--Trees lol
-	[85267] = { 5 }, -- Autumn Blossom Sapling
-	[85268] = { 5 }, -- Spring Blossom Sapling
-	[85269] = { 5 }, -- Winter Blossom Sapling
-}
-
-local addseeds = {
-	[95434] = { 80809 }, -- Green Cabbage
-	[95437] = { 89848 }, -- Jade Squash
-	[95436] = { 84782 }, -- Juicycrunch Carrot
-	[95438] = { 85153 }, -- Mogu Pumpkin
-	[95439] = { 85162 }, -- Pink Turnip
-	[95440] = { 85158 }, -- Red Blossom Leek
-	[95441] = { 84783 }, -- Scallion
-	[95442] = { 89849 }, -- Striped Melon
-	[95443] = { 85163 }, -- White Turnip
-	[95444] = { 89847 }, -- Witchberry
-
-	[95450] = { 95449 }, -- Enigma
-	[95452] = { 95451 }, -- Magebulb
-	[95458] = { 95457 }, -- Raptorleaf
-	[95448] = { 95447 }, -- Snakeroot
-	[95446] = { 95445 }, -- Songbell
-	[95456] = { 95454 }, -- Windshear Cactus
-}
-
-local tools = {
-	[79104]	= { 1 }, -- Rusy Watering Can
-	[80513] = { 1 }, -- Vintage Bug Sprayer
-	[89880] = { 1 }, -- Dented Shovel
-	[89815] = { 1 }, -- Master Plow
-}
-
-local portals = {
-	[91850] = { "Horde" }, -- Orgrimmar Portal Shard
-	[91861] = { "Horde" }, -- Thunder Bluff Portal Shard
-	[91862] = { "Horde" }, -- Undercity Portal Shard
-	[91863] = { "Horde" }, -- Silvermoon Portal Shard
-
-	[91860] = { "Alliance" }, -- Stormwind Portal Shard
-	[91864] = { "Alliance" }, -- Ironforge Portal Shard
-	[91865] = { "Alliance" }, -- Darnassus Portal Shard
-	[91866] = { "Alliance" }, -- Exodar Portal Shard
-}
-
-local quests = {
---Tillers counsil
-[31945] = {80591, 84783}, -- Gina, Scallion
-[31946] = {80590, 84782}, -- Mung-Mung, Juicycrunch Carrot
-[31947] = {79102, 80809}, -- Farmer Fung, Green Cabbage
-[31949] = {89326, 89847}, -- Nana, Witchberry
-[30527] = {89329, 89849}, -- Haohan, Striped Melon
---Farmer Yoon
-[31943] = {89326, 89847}, -- Witchberry
-[31942] = {89329, 89849}, -- Striped Melon
-[31941] = {89328, 89848}, -- Jade Squash
-[31669] = {79102, 80809}, -- Green Cabbage
-[31670] = {80590, 84782}, -- Juicycrunch Carrot
-[31672] = {80592, 85153}, -- Mogu Pumpkin
-[31673] = {80593, 85158}, -- Red Blossom Leek
-[31674] = {80594, 85162}, -- Pink Turnip
-[31675] = {80595, 85163}, -- White Turnip
-[31671] = {80591, 84783}, -- Scallion
---Work Orders
-[32645] = {89326, 89847}, -- Witchberry (Alliance Only)
-[32653] = {89329, 89849}, -- Striped Melon
---[31941] = {89328, 89848}, -- Jade Squash
-[32649] = {79102, 80809}, -- Green Cabbage
---[31670] = {80590, 84782}, -- Juicycrunch Carrot
-[32658] = {80592, 85153}, -- Mogu Pumpkin
-[32642] = {80593, 85158}, -- Red Blossom Leek (Horde Only)
---[31674] = {80594, 85162}, -- Pink Turnip
-[32647] = {80595, 85163}, -- White Turnip
---[31671] = {80591, 84783}, -- Scallion
-}
-
-local buttoncounts = {}
-
-function F:CanSeed()
-	local subzone = GetSubZoneText()
-	for _, zone in ipairs(farmzones) do
-		if (zone == subzone) then
-			return true
-		end
-	end
-	return false
-end
-
-function F:OnFarm()
-	return GetSubZoneText() == farmzones[1]
-end
-
-function F:InventoryUpdate(event)
-	if InCombatLockdown() then
-		F:RegisterEvent("PLAYER_REGEN_ENABLED", "InventoryUpdate")
-		return
-	else
-		F:UnregisterEvent("PLAYER_REGEN_ENABLED")
- 	end
-
- 	local SeedChange = false
-	for i = 1, 5 do
-		for _, button in ipairs(FseedButtons[i]) do
-			button.items = GetItemCount(button.itemId, nil, true)
-			if i == 2 or i == 4 then
-				for id, v in pairs(addseeds) do
-					if button.itemId == addseeds[id][1] then
-						local nCount = GetItemCount(id, nil, true)
-						button.items = button.items + nCount
-					end
-				end
-			end
-			if not buttoncounts[button.itemId] then
-				buttoncounts[button.itemId] = button.items
-			end
-			if button.items ~= buttoncounts[button.itemId] then
-				SeedChange = true
-				buttoncounts[button.itemId] = button.items
-			end
-			button.text:SetText(button.items)
-			button.icon:SetDesaturated(button.items == 0)
-			button.icon:SetAlpha(button.items == 0 and .25 or 1)
-		end
-	end
-
-	for _, button in ipairs(FtoolButtons) do
-		button.items = GetItemCount(button.itemId)
-		if not buttoncounts[button.itemId] then
-			buttoncounts[button.itemId] = button.items
-		end
-		if button.items ~= buttoncounts[button.itemId] then
-			SeedChange = true
-			buttoncounts[button.itemId] = button.items
-		end
-		button.icon:SetDesaturated(button.items == 0)
-		button.icon:SetAlpha(button.items == 0 and .25 or 1)
-	end
-
-	for _, button in ipairs(FportalButtons) do
-		button.items = GetItemCount(button.itemId)
-		if not buttoncounts[button.itemId] then
-			buttoncounts[button.itemId] = button.items
-		end
-		if button.items ~= buttoncounts[button.itemId] then
-			SeedChange = true
-			buttoncounts[button.itemId] = button.items
-		end
-		button.text:SetText(button.items)
-		button.icon:SetDesaturated(button.items == 0)
-		button.icon:SetAlpha(button.items == 0 and .25 or 1)
-	end
-
-	if event and event ~= "BAG_UPDATE_COOLDOWN" and SeedChange == true then
-		F:UpdateLayout()
-	end
-end
-
-function F:UpdateBarLayout(bar, anchor, buttons)
-	local count = 0
-	size = E.db.sle.farm.size
-	bar:ClearAllPoints()
-	bar:Point("LEFT", anchor, "LEFT", 0, 0)
-
-	for i, button in ipairs(buttons) do
-		button:ClearAllPoints()
-		if not button.items then F:InventoryUpdate() end
-		if not E.db.sle.farm.active or button.items > 0 then
-			button:Point("TOPLEFT", bar, "TOPLEFT", (count * (size+(E.PixelMode and 2 or 1)))+(E.PixelMode and 1 or 0), -1)
-			button:Show()
-			button:Size(size, size)
-			count = count + 1
-		else
-			button:Hide()
-		end
-	end
-
-	bar:Width(1)
-	bar:Height(size+2)
-
-	return count
-end
-
-function F:QuestItems(itemID)
-	for i = 1, GetNumQuestLogEntries() do
-		for qid, sid in pairs(quests) do
-			if qid == select(9,GetQuestLogTitle(i)) then
-				if itemID == sid[1] or itemID == sid[2] then
-					return true
-				end
-			end
-		end
-	end
-
-	return false
-end
-
-function F:UpdateButtonCooldown(button)
-	if button.cooldown then
-		button.cooldown:SetCooldown(GetItemCooldown(button.itemId))
-	end
-end
-
-function F:UpdateCooldown()
-	if not F:CanSeed() then return end
-
-	for i = 1, 5 do
-		for _, button in ipairs(FseedButtons[i]) do
-			F:UpdateButtonCooldown(button)
-		end
-	end
-	for _, button in ipairs(FtoolButtons) do
-		F:UpdateButtonCooldown(button)
-	end
-	for _, button in ipairs(FportalButtons) do
-		F:UpdateButtonCooldown(button)
-	end
-end
-
-function F:UpdateSeedBarLayout(seedBar, anchor, buttons, category)
-	local count = 0
-	local db = E.db.sle.farm
-	size = db.size
-	local seedor = db.seedor
-	local id
-	seedBar:ClearAllPoints()
-	if category == 1 then
-		if seedor == "TOP" or seedor == "BOTTOM" then
-			seedBar:Point(seedor.."LEFT", anchor, (E.PixelMode and 0 or -2), seedor == "TOP" and 0 or (E.PixelMode and 2 or 0))
-		elseif seedor == "LEFT" or seedor ==  "RIGHT" then
-			seedBar:Point("TOP"..seedor, anchor, E.PixelMode and 2 or (seedor == "LEFT" and 0 or 2), (E.PixelMode and -2 or -2))
-		end
-
-	else
-		if _G[("FarmSeedBar%d"):format(category-1)]:IsShown() then
-			if seedor == "TOP" or seedor == "BOTTOM" then
-				seedBar:Point("TOPLEFT", _G[("FarmSeedBar%d"):format(category-1)], "TOPRIGHT", (E.PixelMode and 0 or -1), 0)
-			elseif seedor == "LEFT" or seedor ==  "RIGHT" then
-				seedBar:Point("TOPLEFT", _G[("FarmSeedBar%d"):format(category-1)], "BOTTOMLEFT", 0, (E.PixelMode and 0 or 1))
-			end
-		else
-			F:UpdateSeedBarLayout(seedBar, anchor, buttons, category-1)
-		end
-	end
-
-
-	for i, button in ipairs(buttons) do
-		id = button:GetName():gsub("FarmButton", "")
-		id = tonumber(id)
-		button:ClearAllPoints()
-		if not E.db.sle.farm.active or button.items > 0 then
-			if seedor == "TOP" or seedor == "BOTTOM" then
-				local mult = seedor == "TOP" and -1 or 1
-				button:Point(seedor.."LEFT", seedBar, E.PixelMode and 1 or 2, mult*(count * (size+(E.PixelMode and 2 or 1)))-(E.PixelMode and 1 or 0))
-			elseif seedor == "LEFT" or seedor == "RIGHT" then
-				local mult = seedor == "RIGHT" and -1 or 1
-				button:Point("TOPLEFT", seedBar, "TOPLEFT", mult*(count * (size+(E.PixelMode and 2 or 1)))-(E.PixelMode and 1 or 0), E.PixelMode and 1 or 2)
-			end
-			button:Show()
-			button:Size(size, size)
-			count = count + 1
-		else
-			button:Hide()
-		end
-		if E.db.sle.farm.quest then
-			if F:QuestItems(id) then
-				ActionButton_ShowOverlayGlow(button)
-			else
-				ActionButton_HideOverlayGlow(button)
-			end
-		else
-			ActionButton_HideOverlayGlow(button)
-		end
-	end
-
-	seedBar:Width(size+2)
-	seedBar:Height(size+2)
-
-	return count
-end
-
-function F:UpdateBar(bar, layoutfunc, zonecheck, anchor, buttons, category)
-	bar:Show()
-
-	local count = layoutfunc(self, bar, anchor, buttons, category)
-	if (E.private.sle.farm.enable and count > 0 and zonecheck(self) and not InCombatLockdown()) then
-		bar:Show()
-	else
-		bar:Hide()
-	end
-end
-
-function F:BAG_UPDATE_COOLDOWN()
-	F:InventoryUpdate()
-	F:UpdateCooldown()
-end
-
-function F:Zone(event)
-	if F:CanSeed() then
-		F:RegisterEvent("BAG_UPDATE", "InventoryUpdate")
-		F:RegisterEvent("BAG_UPDATE_COOLDOWN")
-		F:RegisterEvent("UNIT_QUEST_LOG_CHANGED", "UpdateLayout")
-
-		F:InventoryUpdate(event)
-		F:UpdateLayout()
-		Zcheck = true
-	else
-		F:UnregisterEvent("BAG_UPDATE")
-		F:UnregisterEvent("BAG_UPDATE_COOLDOWN")
-		F:UnregisterEvent("UNIT_QUEST_LOG_CHANGED")
-		if Zcheck then
-			F:UpdateLayout()
-			Zcheck = false
-		end
-	end
-end
-
-function F:UpdateLayout(event, unit)
-	if not SeedAnchor then return end
-	--For updating borders after quest was complited. for some reason events fires before quest disappeares from log
-	if event == "UNIT_QUEST_LOG_CHANGED" then
-		if unit == "player" then
-			E:Delay(1, F.UpdateLayout)
-		else
-			return
-		end
-	end
-	F:UpdateBar(_G["FarmToolBar"], F.UpdateBarLayout, F.OnFarm, ToolAnchor, FtoolButtons)
-	F:UpdateBar(_G["FarmPortalBar"], F.UpdateBarLayout, F.OnFarm, PortalAnchor, FportalButtons)
-	for i=1, 5 do
-		F:UpdateBar(_G[("FarmSeedBar%d"):format(i)], F.UpdateSeedBarLayout, F.CanSeed, SeedAnchor, FseedButtons[i], i)
-	end
-	F:ResizeFrames()
-end
-
-local function onClick(self, mousebutton)
-	if mousebutton == "LeftButton" then
-		self:SetAttribute("type", self.buttonType)
-		self:SetAttribute(self.buttonType, self.sortname)
-		if self.id and self.id ~= 2 and self.id ~= 4 and E.db.sle.farm.autotarget and UnitName("target") ~= L["Tilled Soil"] then
-			F:AutoTarget(self)
-		end
-		if self.cooldown then
-			self.cooldown:SetCooldown(GetItemCooldown(self.itemId))
-		end
-	elseif mousebutton == "RightButton" and self.allowDrop then
-		self:SetAttribute("type", "click")
-		local container, slot = SLE:BagSearch(self.itemId)
-		if container and slot then
-			PickupContainerItem(container, slot)
-			DeleteCursorItem()
-			F:InventoryUpdate()
-		end
-	end
-end
-
-local function onEnter(self)
-	GameTooltip:SetOwner(self, 'ANCHOR_TOPLEFT', 2, 4)
-	GameTooltip:ClearLines()
-	GameTooltip:AddDoubleLine(self.sortname)
-	if self.allowDrop then
-		GameTooltip:AddLine(L['Right-click to drop the item.'])
-	end
-	GameTooltip:Show()
-end
-
-local function onLeave()
-	GameTooltip:Hide()
-end
-
-function F:AutoTarget(button)
-	local container, slot = SLE:BagSearch(button.itemId)
-	if container and slot then
-		button:SetAttribute("type", "macro")
-		button:SetAttribute("macrotext", format("/targetexact %s \n/use %s %s", L["Tilled Soil"], container, slot))
-	end
-end
-
-function F:CreateFarmButton(index, owner, buttonType, name, texture, allowDrop, id)
-	size = E.db.sle.farm.size
-	local button = CreateFrame("Button", ("FarmButton%d"):format(index), owner, "SecureActionButtonTemplate")
-	button:Size(size, size)
-	button:SetTemplate('Default', true)
-
-	button.sortname = name
-	button.itemId = index
-	button.allowDrop = allowDrop
-	button.buttonType = buttonType
-	button.id = id
-
-	button.icon = button:CreateTexture(nil, "OVERLAY")
-	button.icon:SetTexture(texture)
-	button.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
-	button.icon:SetInside()
-
-	button.text = button:CreateFontString(nil, "OVERLAY")
-	button.text:SetFont(E.media.normFont, 12, "OUTLINE")
-	button.text:SetPoint("BOTTOMRIGHT", button, 1, 2)
-
-	if select(3, GetItemCooldown(button.itemId)) == 1 then
-		button.cooldown = CreateFrame("Cooldown", ("FarmButton%dCooldown"):format(index), button)
-		button.cooldown:SetAllPoints(button)
-	end
-
-	button:SetScript("OnEnter", onEnter)
-	button:SetScript("OnLeave", onLeave)
-	button:SetScript("OnMouseDown", onClick)
-
-	return button
-end
-
-function F:ResizeFrames()
-	local seedor = E.db.sle.farm.seedor
-	if seedor == "TOP" or seedor == "BOTTOM" then
-		SeedAnchor:Size((size+(E.PixelMode and 2 or 1))*5-(E.PixelMode and 0 or 1), (size+(E.PixelMode and 2 or 1))*10-(E.PixelMode and 0 or 1))
-	elseif seedor == "LEFT" or seedor == "RIGHT" then
-		SeedAnchor:Size((size+(E.PixelMode and 2 or 1))*10-(E.PixelMode and 0 or 1), (size+(E.PixelMode and 2 or 1))*5-(E.PixelMode and 0 or 1))
-	end
-	ToolAnchor:Size((size+(E.PixelMode and 2 or 1))*5-(E.PixelMode and 0 or 1), size+(E.PixelMode and 2 or 1)-(E.PixelMode and 0 or 1))
-	PortalAnchor:Size((size+(E.PixelMode and 2 or 1))*5-(E.PixelMode and 0 or 1), size+(E.PixelMode and 2 or 1)-(E.PixelMode and 0 or 1))
-end
-
-function F:FramesPosition()
-	SeedAnchor:Point("LEFT", E.UIParent, "LEFT", 24, -160)
-	ToolAnchor:Point("BOTTOMLEFT", SeedAnchor, "TOPLEFT", 0, E.PixelMode and 1 or 5)
-	PortalAnchor:Point("BOTTOMLEFT", ToolAnchor, "TOPLEFT", 0, E.PixelMode and 1 or 5)
-end
-
-function F:CreateFrames()
-	size = E.db.sle.farm.size
-	SeedAnchor = CreateFrame("Frame", "SeedAnchor", E.UIParent)
-	SeedAnchor:SetFrameStrata("BACKGROUND")
-
-	ToolAnchor = CreateFrame("Frame", "ToolAnchor", E.UIParent)
-	ToolAnchor:SetFrameStrata("BACKGROUND")
-
-	PortalAnchor = CreateFrame("Frame", "PortalAnchor", E.UIParent)
-	PortalAnchor:SetFrameStrata("BACKGROUND")
-
-	F:ResizeFrames()
-	F:FramesPosition()
-
-	E:CreateMover(SeedAnchor, "FarmSeedMover", L["Farm Seed Bars"], nil, nil, nil, "ALL,S&L,S&L MISC")
-	E:CreateMover(ToolAnchor, "FarmToolMover", L["Farm Tool Bar"], nil, nil, nil, "ALL,S&L,S&L MISC")
-	E:CreateMover(PortalAnchor, "FarmPortalMover", L["Farm Portal Bar"], nil, nil, nil, "ALL,S&L,S&L MISC")
-
-	for id, v in pairs(seeds) do
-		seeds[id] = { v[1], GetItemInfo(id) }
-	end
-
-	for id, v in pairs(tools) do
-		tools[id] = { GetItemInfo(id) }
-	end
-
-	for id, v in pairs(portals) do
-		portals[id] = { v[1], GetItemInfo(id) }
-	end
-
-	for i = 1, 5 do
-		local seedBar = CreateFrame("Frame", ("FarmSeedBar%d"):format(i), UIParent)
-		seedBar:SetFrameStrata("BACKGROUND")
-
-		seedBar:SetPoint("CENTER", SeedAnchor, "CENTER", 0, 0)
-
-		FseedButtons[i] = FseedButtons[i] or {}
-
-		for id, v in pairs(seeds) do
-			if v[1] == i then
-				tinsert(FseedButtons[i], F:CreateFarmButton(id, seedBar, "item", v[2], v[11], E.private.sle.farm.seedtrash, i))
-			end
-			tsort(FseedButtons[i], function(a, b) return a.sortname < b.sortname end)
-		end
-	end
-
-	local toolBar = CreateFrame("Frame", "FarmToolBar", UIParent)
-	toolBar:SetFrameStrata("BACKGROUND")
-	toolBar:SetPoint("CENTER", ToolAnchor, "CENTER", 0, 0)
-	for id, v in pairs(tools) do
-		tinsert(FtoolButtons, F:CreateFarmButton(id, toolBar, "item", v[1], v[10], true, nil))
-	end
-
-	local portalBar = CreateFrame("Frame", "FarmPortalBar", UIParent)
-	portalBar:SetFrameStrata("BACKGROUND")
-	portalBar:SetPoint("CENTER", PortalAnchor, "CENTER", 0, 0)
-	local playerFaction = UnitFactionGroup('player')
-	for id, v in pairs(portals) do
-		if v[1] == playerFaction then
-			tinsert(FportalButtons, F:CreateFarmButton(id, portalBar, "item", v[2], v[11], false, nil))
-		end
-	end
-
-	F:RegisterEvent("ZONE_CHANGED", "Zone")
-	F:RegisterEvent("ZONE_CHANGED_NEW_AREA", "Zone")
-	F:RegisterEvent("ZONE_CHANGED_INDOORS", "Zone")
-
-	E:Delay(10, F.Zone)
-end
-
-function F:StartFarmBarLoader()
-	F:UnregisterEvent("PLAYER_ENTERING_WORLD")
-
-	local noItem = false
-	-- preload item links to prevent errors
-	for id, _ in pairs(seeds) do
-		if select(2, GetItemInfo(id)) == nil then noItem = true end
-	end
-	for id, _ in pairs(tools) do
-		if select(2, GetItemInfo(id)) == nil then noItem = true end
-	end
-	for id, _ in pairs(portals) do
-		if select(2, GetItemInfo(id)) == nil then noItem = true end
-	end
-	if noItem then
-		E:Delay(5, F.StartFarmBarLoader)
-	else
-		F.CreateFrames()
-	end
-end
-
-function F:Initialize()
-	if not E.private.sle.farm.enable then return end
-
-	self:RegisterEvent("PLAYER_ENTERING_WORLD", "StartFarmBarLoader")
-end
-
+local E, L, V, P, G, _ = unpack(ElvUI); --Inport: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
+local B = LibStub("LibBabble-SubZone-3.0")
+local BL = B:GetLookupTable()
+local F = E:NewModule('Farm', 'AceHook-3.0', 'AceEvent-3.0');
+local SLE = E:GetModule('SLE');
+
+local SeedAnchor, ToolAnchor, PortalAnchor
+local tsort = table.sort
+local farmzones = { BL["Sunsong Ranch"], BL["The Halfhill Market"] }
+local size
+local Zcheck = false
+
+FseedButtons = {}
+FtoolButtons = {}
+FportalButtons = {}
+
+local seeds = {
+	--Seeds general
+	[79102] = { 1 }, -- Green Cabbage
+	[89328] = { 1 }, -- Jade Squash
+	[80590] = { 1 }, -- Juicycrunch Carrot
+	[80592] = { 1 }, -- Mogu Pumpkin
+	[80594] = { 1 }, -- Pink Turnip
+	[80593] = { 1 }, -- Red Blossom Leek
+	[80591] = { 1 }, -- Scallion
+	[89329] = { 1 }, -- Striped Melon
+	[80595] = { 1 }, -- White Turnip
+	[89326] = { 1 }, -- Witchberry
+	--Bags general
+	[80809] = { 2 }, -- Green Cabbage
+	[89848] = { 2 }, -- Jade Squash
+	[84782] = { 2 }, -- Juicycrunch Carrot
+	[85153] = { 2 }, -- Mogu Pumpkin
+	[85162] = { 2 }, -- Pink Turnip
+	[85158] = { 2 }, -- Red Blossom Leek
+	[84783] = { 2 }, -- Scallion
+	[89849] = { 2 }, -- Striped Melon
+	[85163] = { 2 }, -- White Turnip
+	[89847] = { 2 }, -- Witchberry
+	--Seeds special
+	[85216] = { 3 }, -- Enigma
+	[85217] = { 3 }, -- Magebulb
+	[85219] = { 3 }, -- Ominous
+	[89202] = { 3 }, -- Raptorleaf
+	[85215] = { 3 }, -- Snakeroot
+	[89233] = { 3 }, -- Songbell
+	[91806] = { 3 }, -- Unstable Portal
+	[89197] = { 3 }, -- Windshear Cactus
+	--Bags special
+	[95449] = { 4 }, -- Enigma
+	[95451] = { 4 }, -- Magebulb
+	[95457] = { 4 }, -- Raptorleaf
+	[95447] = { 4 }, -- Snakeroot
+	[95445] = { 4 }, -- Songbell
+	[95454] = { 4 }, -- Windshear Cactus
+	--Trees lol
+	[85267] = { 5 }, -- Autumn Blossom Sapling
+	[85268] = { 5 }, -- Spring Blossom Sapling
+	[85269] = { 5 }, -- Winter Blossom Sapling
+}
+
+local addseeds = {
+	[95434] = { 80809 }, -- Green Cabbage
+	[95437] = { 89848 }, -- Jade Squash
+	[95436] = { 84782 }, -- Juicycrunch Carrot
+	[95438] = { 85153 }, -- Mogu Pumpkin
+	[95439] = { 85162 }, -- Pink Turnip
+	[95440] = { 85158 }, -- Red Blossom Leek
+	[95441] = { 84783 }, -- Scallion
+	[95442] = { 89849 }, -- Striped Melon
+	[95443] = { 85163 }, -- White Turnip
+	[95444] = { 89847 }, -- Witchberry
+
+	[95450] = { 95449 }, -- Enigma
+	[95452] = { 95451 }, -- Magebulb
+	[95458] = { 95457 }, -- Raptorleaf
+	[95448] = { 95447 }, -- Snakeroot
+	[95446] = { 95445 }, -- Songbell
+	[95456] = { 95454 }, -- Windshear Cactus
+}
+
+local tools = {
+	[79104]	= { 1 }, -- Rusy Watering Can
+	[80513] = { 1 }, -- Vintage Bug Sprayer
+	[89880] = { 1 }, -- Dented Shovel
+	[89815] = { 1 }, -- Master Plow
+}
+
+local portals = {
+	[91850] = { "Horde" }, -- Orgrimmar Portal Shard
+	[91861] = { "Horde" }, -- Thunder Bluff Portal Shard
+	[91862] = { "Horde" }, -- Undercity Portal Shard
+	[91863] = { "Horde" }, -- Silvermoon Portal Shard
+
+	[91860] = { "Alliance" }, -- Stormwind Portal Shard
+	[91864] = { "Alliance" }, -- Ironforge Portal Shard
+	[91865] = { "Alliance" }, -- Darnassus Portal Shard
+	[91866] = { "Alliance" }, -- Exodar Portal Shard
+}
+
+local quests = {
+--Tillers counsil
+[31945] = {80591, 84783}, -- Gina, Scallion
+[31946] = {80590, 84782}, -- Mung-Mung, Juicycrunch Carrot
+[31947] = {79102, 80809}, -- Farmer Fung, Green Cabbage
+[31949] = {89326, 89847}, -- Nana, Witchberry
+[30527] = {89329, 89849}, -- Haohan, Striped Melon
+--Farmer Yoon
+[31943] = {89326, 89847}, -- Witchberry
+[31942] = {89329, 89849}, -- Striped Melon
+[31941] = {89328, 89848}, -- Jade Squash
+[31669] = {79102, 80809}, -- Green Cabbage
+[31670] = {80590, 84782}, -- Juicycrunch Carrot
+[31672] = {80592, 85153}, -- Mogu Pumpkin
+[31673] = {80593, 85158}, -- Red Blossom Leek
+[31674] = {80594, 85162}, -- Pink Turnip
+[31675] = {80595, 85163}, -- White Turnip
+[31671] = {80591, 84783}, -- Scallion
+--Work Orders
+[32645] = {89326, 89847}, -- Witchberry (Alliance Only)
+[32653] = {89329, 89849}, -- Striped Melon
+--[31941] = {89328, 89848}, -- Jade Squash
+[32649] = {79102, 80809}, -- Green Cabbage
+--[31670] = {80590, 84782}, -- Juicycrunch Carrot
+[32658] = {80592, 85153}, -- Mogu Pumpkin
+[32642] = {80593, 85158}, -- Red Blossom Leek (Horde Only)
+--[31674] = {80594, 85162}, -- Pink Turnip
+[32647] = {80595, 85163}, -- White Turnip
+--[31671] = {80591, 84783}, -- Scallion
+}
+
+local buttoncounts = {}
+
+function F:CanSeed()
+	local subzone = GetSubZoneText()
+	for _, zone in ipairs(farmzones) do
+		if (zone == subzone) then
+			return true
+		end
+	end
+	return false
+end
+
+function F:OnFarm()
+	return GetSubZoneText() == farmzones[1]
+end
+
+function F:InventoryUpdate(event)
+	if InCombatLockdown() then
+		F:RegisterEvent("PLAYER_REGEN_ENABLED", "InventoryUpdate")
+		return
+	else
+		F:UnregisterEvent("PLAYER_REGEN_ENABLED")
+ 	end
+
+ 	local SeedChange = false
+	for i = 1, 5 do
+		for _, button in ipairs(FseedButtons[i]) do
+			button.items = GetItemCount(button.itemId, nil, true)
+			if i == 2 or i == 4 then
+				for id, v in pairs(addseeds) do
+					if button.itemId == addseeds[id][1] then
+						local nCount = GetItemCount(id, nil, true)
+						button.items = button.items + nCount
+					end
+				end
+			end
+			if not buttoncounts[button.itemId] then
+				buttoncounts[button.itemId] = button.items
+			end
+			if button.items ~= buttoncounts[button.itemId] then
+				SeedChange = true
+				buttoncounts[button.itemId] = button.items
+			end
+			button.text:SetText(button.items)
+			button.icon:SetDesaturated(button.items == 0)
+			button.icon:SetAlpha(button.items == 0 and .25 or 1)
+		end
+	end
+
+	for _, button in ipairs(FtoolButtons) do
+		button.items = GetItemCount(button.itemId)
+		if not buttoncounts[button.itemId] then
+			buttoncounts[button.itemId] = button.items
+		end
+		if button.items ~= buttoncounts[button.itemId] then
+			SeedChange = true
+			buttoncounts[button.itemId] = button.items
+		end
+		button.icon:SetDesaturated(button.items == 0)
+		button.icon:SetAlpha(button.items == 0 and .25 or 1)
+	end
+
+	for _, button in ipairs(FportalButtons) do
+		button.items = GetItemCount(button.itemId)
+		if not buttoncounts[button.itemId] then
+			buttoncounts[button.itemId] = button.items
+		end
+		if button.items ~= buttoncounts[button.itemId] then
+			SeedChange = true
+			buttoncounts[button.itemId] = button.items
+		end
+		button.text:SetText(button.items)
+		button.icon:SetDesaturated(button.items == 0)
+		button.icon:SetAlpha(button.items == 0 and .25 or 1)
+	end
+
+	if event and event ~= "BAG_UPDATE_COOLDOWN" and SeedChange == true then
+		F:UpdateLayout()
+	end
+end
+
+function F:UpdateBarLayout(bar, anchor, buttons)
+	local count = 0
+	size = E.db.sle.farm.size
+	bar:ClearAllPoints()
+	bar:Point("LEFT", anchor, "LEFT", 0, 0)
+
+	for i, button in ipairs(buttons) do
+		button:ClearAllPoints()
+		if not button.items then F:InventoryUpdate() end
+		if not E.db.sle.farm.active or button.items > 0 then
+			button:Point("TOPLEFT", bar, "TOPLEFT", (count * (size+(E.PixelMode and 2 or 1)))+(E.PixelMode and 1 or 0), -1)
+			button:Show()
+			button:Size(size, size)
+			count = count + 1
+		else
+			button:Hide()
+		end
+	end
+
+	bar:Width(1)
+	bar:Height(size+2)
+
+	return count
+end
+
+function F:QuestItems(itemID)
+	for i = 1, GetNumQuestLogEntries() do
+		for qid, sid in pairs(quests) do
+			if qid == select(9,GetQuestLogTitle(i)) then
+				if itemID == sid[1] or itemID == sid[2] then
+					return true
+				end
+			end
+		end
+	end
+
+	return false
+end
+
+function F:UpdateButtonCooldown(button)
+	if button.cooldown then
+		button.cooldown:SetCooldown(GetItemCooldown(button.itemId))
+	end
+end
+
+function F:UpdateCooldown()
+	if not F:CanSeed() then return end
+
+	for i = 1, 5 do
+		for _, button in ipairs(FseedButtons[i]) do
+			F:UpdateButtonCooldown(button)
+		end
+	end
+	for _, button in ipairs(FtoolButtons) do
+		F:UpdateButtonCooldown(button)
+	end
+	for _, button in ipairs(FportalButtons) do
+		F:UpdateButtonCooldown(button)
+	end
+end
+
+function F:UpdateSeedBarLayout(seedBar, anchor, buttons, category)
+	local count = 0
+	local db = E.db.sle.farm
+	size = db.size
+	local seedor = db.seedor
+	local id
+	seedBar:ClearAllPoints()
+	if category == 1 then
+		if seedor == "TOP" or seedor == "BOTTOM" then
+			seedBar:Point(seedor.."LEFT", anchor, (E.PixelMode and 0 or -2), seedor == "TOP" and 0 or (E.PixelMode and 2 or 0))
+		elseif seedor == "LEFT" or seedor ==  "RIGHT" then
+			seedBar:Point("TOP"..seedor, anchor, E.PixelMode and 2 or (seedor == "LEFT" and 0 or 2), (E.PixelMode and -2 or -2))
+		end
+
+	else
+		if _G[("FarmSeedBar%d"):format(category-1)]:IsShown() then
+			if seedor == "TOP" or seedor == "BOTTOM" then
+				seedBar:Point("TOPLEFT", _G[("FarmSeedBar%d"):format(category-1)], "TOPRIGHT", (E.PixelMode and 0 or -1), 0)
+			elseif seedor == "LEFT" or seedor ==  "RIGHT" then
+				seedBar:Point("TOPLEFT", _G[("FarmSeedBar%d"):format(category-1)], "BOTTOMLEFT", 0, (E.PixelMode and 0 or 1))
+			end
+		else
+			F:UpdateSeedBarLayout(seedBar, anchor, buttons, category-1)
+		end
+	end
+
+
+	for i, button in ipairs(buttons) do
+		id = button:GetName():gsub("FarmButton", "")
+		id = tonumber(id)
+		button:ClearAllPoints()
+		if not E.db.sle.farm.active or button.items > 0 then
+			if seedor == "TOP" or seedor == "BOTTOM" then
+				local mult = seedor == "TOP" and -1 or 1
+				button:Point(seedor.."LEFT", seedBar, E.PixelMode and 1 or 2, mult*(count * (size+(E.PixelMode and 2 or 1)))-(E.PixelMode and 1 or 0))
+			elseif seedor == "LEFT" or seedor == "RIGHT" then
+				local mult = seedor == "RIGHT" and -1 or 1
+				button:Point("TOPLEFT", seedBar, "TOPLEFT", mult*(count * (size+(E.PixelMode and 2 or 1)))-(E.PixelMode and 1 or 0), E.PixelMode and 1 or 2)
+			end
+			button:Show()
+			button:Size(size, size)
+			count = count + 1
+		else
+			button:Hide()
+		end
+		if E.db.sle.farm.quest then
+			if F:QuestItems(id) then
+				ActionButton_ShowOverlayGlow(button)
+			else
+				ActionButton_HideOverlayGlow(button)
+			end
+		else
+			ActionButton_HideOverlayGlow(button)
+		end
+	end
+
+	seedBar:Width(size+2)
+	seedBar:Height(size+2)
+
+	return count
+end
+
+function F:UpdateBar(bar, layoutfunc, zonecheck, anchor, buttons, category)
+	bar:Show()
+
+	local count = layoutfunc(self, bar, anchor, buttons, category)
+	if (E.private.sle.farm.enable and count > 0 and zonecheck(self) and not InCombatLockdown()) then
+		bar:Show()
+	else
+		bar:Hide()
+	end
+end
+
+function F:BAG_UPDATE_COOLDOWN()
+	F:InventoryUpdate()
+	F:UpdateCooldown()
+end
+
+function F:Zone(event)
+	if F:CanSeed() then
+		F:RegisterEvent("BAG_UPDATE", "InventoryUpdate")
+		F:RegisterEvent("BAG_UPDATE_COOLDOWN")
+		F:RegisterEvent("UNIT_QUEST_LOG_CHANGED", "UpdateLayout")
+
+		F:InventoryUpdate(event)
+		F:UpdateLayout()
+		Zcheck = true
+	else
+		F:UnregisterEvent("BAG_UPDATE")
+		F:UnregisterEvent("BAG_UPDATE_COOLDOWN")
+		F:UnregisterEvent("UNIT_QUEST_LOG_CHANGED")
+		if Zcheck then
+			F:UpdateLayout()
+			Zcheck = false
+		end
+	end
+end
+
+function F:UpdateLayout(event, unit)
+	if not SeedAnchor then return end
+	--For updating borders after quest was complited. for some reason events fires before quest disappeares from log
+	if event == "UNIT_QUEST_LOG_CHANGED" then
+		if unit == "player" then
+			E:Delay(1, F.UpdateLayout)
+		else
+			return
+		end
+	end
+	F:UpdateBar(_G["FarmToolBar"], F.UpdateBarLayout, F.OnFarm, ToolAnchor, FtoolButtons)
+	F:UpdateBar(_G["FarmPortalBar"], F.UpdateBarLayout, F.OnFarm, PortalAnchor, FportalButtons)
+	for i=1, 5 do
+		F:UpdateBar(_G[("FarmSeedBar%d"):format(i)], F.UpdateSeedBarLayout, F.CanSeed, SeedAnchor, FseedButtons[i], i)
+	end
+	F:ResizeFrames()
+end
+
+local function onClick(self, mousebutton)
+	if mousebutton == "LeftButton" then
+		if InCombatLockdown() and not self.macro then
+			SLE:Print(L["We are sorry, but you can't do this now. Try again after the end of this combat."])
+			return
+		end
+		self:SetAttribute("type", self.buttonType)
+		self:SetAttribute(self.buttonType, self.sortname)
+		if self.id and self.id ~= 2 and self.id ~= 4 and E.db.sle.farm.autotarget and UnitName("target") ~= L["Tilled Soil"] then
+			F:AutoTarget(self)
+		end
+		if self.cooldown then
+			self.cooldown:SetCooldown(GetItemCooldown(self.itemId))
+		end
+		if not self.macro then self.macro = true end
+	elseif mousebutton == "RightButton" and self.allowDrop then
+		self:SetAttribute("type", "click")
+		local container, slot = SLE:BagSearch(self.itemId)
+		if container and slot then
+			PickupContainerItem(container, slot)
+			DeleteCursorItem()
+			F:InventoryUpdate()
+		end
+	end
+end
+
+local function onEnter(self)
+	GameTooltip:SetOwner(self, 'ANCHOR_TOPLEFT', 2, 4)
+	GameTooltip:ClearLines()
+	GameTooltip:AddDoubleLine(self.sortname)
+	if self.allowDrop then
+		GameTooltip:AddLine(L['Right-click to drop the item.'])
+	end
+	GameTooltip:Show()
+end
+
+local function onLeave()
+	GameTooltip:Hide()
+end
+
+function F:AutoTarget(button)
+	local container, slot = SLE:BagSearch(button.itemId)
+	if container and slot then
+		button:SetAttribute("type", "macro")
+		button:SetAttribute("macrotext", format("/targetexact %s \n/use %s %s", L["Tilled Soil"], container, slot))
+	end
+end
+
+function F:CreateFarmButton(index, owner, buttonType, name, texture, allowDrop, id)
+	size = E.db.sle.farm.size
+	local button = CreateFrame("Button", ("FarmButton%d"):format(index), owner, "SecureActionButtonTemplate")
+	button:Size(size, size)
+	button:SetTemplate('Default', true)
+
+	button.sortname = name
+	button.itemId = index
+	button.allowDrop = allowDrop
+	button.buttonType = buttonType
+	button.id = id
+	button.macro = false
+
+	button.icon = button:CreateTexture(nil, "OVERLAY")
+	button.icon:SetTexture(texture)
+	button.icon:SetTexCoord(0.1, 0.9, 0.1, 0.9)
+	button.icon:SetInside()
+
+	button.text = button:CreateFontString(nil, "OVERLAY")
+	button.text:SetFont(E.media.normFont, 12, "OUTLINE")
+	button.text:SetPoint("BOTTOMRIGHT", button, 1, 2)
+
+	if select(3, GetItemCooldown(button.itemId)) == 1 then
+		button.cooldown = CreateFrame("Cooldown", ("FarmButton%dCooldown"):format(index), button)
+		button.cooldown:SetAllPoints(button)
+	end
+
+	button:SetScript("OnEnter", onEnter)
+	button:SetScript("OnLeave", onLeave)
+	button:SetScript("OnMouseDown", onClick)
+
+	return button
+end
+
+function F:ResizeFrames()
+	local seedor = E.db.sle.farm.seedor
+	if seedor == "TOP" or seedor == "BOTTOM" then
+		SeedAnchor:Size((size+(E.PixelMode and 2 or 1))*5-(E.PixelMode and 0 or 1), (size+(E.PixelMode and 2 or 1))*10-(E.PixelMode and 0 or 1))
+	elseif seedor == "LEFT" or seedor == "RIGHT" then
+		SeedAnchor:Size((size+(E.PixelMode and 2 or 1))*10-(E.PixelMode and 0 or 1), (size+(E.PixelMode and 2 or 1))*5-(E.PixelMode and 0 or 1))
+	end
+	ToolAnchor:Size((size+(E.PixelMode and 2 or 1))*5-(E.PixelMode and 0 or 1), size+(E.PixelMode and 2 or 1)-(E.PixelMode and 0 or 1))
+	PortalAnchor:Size((size+(E.PixelMode and 2 or 1))*5-(E.PixelMode and 0 or 1), size+(E.PixelMode and 2 or 1)-(E.PixelMode and 0 or 1))
+end
+
+function F:FramesPosition()
+	SeedAnchor:Point("LEFT", E.UIParent, "LEFT", 24, -160)
+	ToolAnchor:Point("BOTTOMLEFT", SeedAnchor, "TOPLEFT", 0, E.PixelMode and 1 or 5)
+	PortalAnchor:Point("BOTTOMLEFT", ToolAnchor, "TOPLEFT", 0, E.PixelMode and 1 or 5)
+end
+
+function F:CreateFrames()
+	size = E.db.sle.farm.size
+	SeedAnchor = CreateFrame("Frame", "SeedAnchor", E.UIParent)
+	SeedAnchor:SetFrameStrata("BACKGROUND")
+
+	ToolAnchor = CreateFrame("Frame", "ToolAnchor", E.UIParent)
+	ToolAnchor:SetFrameStrata("BACKGROUND")
+
+	PortalAnchor = CreateFrame("Frame", "PortalAnchor", E.UIParent)
+	PortalAnchor:SetFrameStrata("BACKGROUND")
+
+	F:ResizeFrames()
+	F:FramesPosition()
+
+	E:CreateMover(SeedAnchor, "FarmSeedMover", L["Farm Seed Bars"], nil, nil, nil, "ALL,S&L,S&L MISC")
+	E:CreateMover(ToolAnchor, "FarmToolMover", L["Farm Tool Bar"], nil, nil, nil, "ALL,S&L,S&L MISC")
+	E:CreateMover(PortalAnchor, "FarmPortalMover", L["Farm Portal Bar"], nil, nil, nil, "ALL,S&L,S&L MISC")
+
+	for id, v in pairs(seeds) do
+		seeds[id] = { v[1], GetItemInfo(id) }
+	end
+
+	for id, v in pairs(tools) do
+		tools[id] = { GetItemInfo(id) }
+	end
+
+	for id, v in pairs(portals) do
+		portals[id] = { v[1], GetItemInfo(id) }
+	end
+
+	for i = 1, 5 do
+		local seedBar = CreateFrame("Frame", ("FarmSeedBar%d"):format(i), UIParent)
+		seedBar:SetFrameStrata("BACKGROUND")
+
+		seedBar:SetPoint("CENTER", SeedAnchor, "CENTER", 0, 0)
+
+		FseedButtons[i] = FseedButtons[i] or {}
+
+		for id, v in pairs(seeds) do
+			if v[1] == i then
+				tinsert(FseedButtons[i], F:CreateFarmButton(id, seedBar, "item", v[2], v[11], E.private.sle.farm.seedtrash, i))
+			end
+			tsort(FseedButtons[i], function(a, b) return a.sortname < b.sortname end)
+		end
+	end
+
+	local toolBar = CreateFrame("Frame", "FarmToolBar", UIParent)
+	toolBar:SetFrameStrata("BACKGROUND")
+	toolBar:SetPoint("CENTER", ToolAnchor, "CENTER", 0, 0)
+	for id, v in pairs(tools) do
+		tinsert(FtoolButtons, F:CreateFarmButton(id, toolBar, "item", v[1], v[10], true, nil))
+	end
+
+	local portalBar = CreateFrame("Frame", "FarmPortalBar", UIParent)
+	portalBar:SetFrameStrata("BACKGROUND")
+	portalBar:SetPoint("CENTER", PortalAnchor, "CENTER", 0, 0)
+	local playerFaction = UnitFactionGroup('player')
+	for id, v in pairs(portals) do
+		if v[1] == playerFaction then
+			tinsert(FportalButtons, F:CreateFarmButton(id, portalBar, "item", v[2], v[11], false, nil))
+		end
+	end
+
+	F:RegisterEvent("ZONE_CHANGED", "Zone")
+	F:RegisterEvent("ZONE_CHANGED_NEW_AREA", "Zone")
+	F:RegisterEvent("ZONE_CHANGED_INDOORS", "Zone")
+
+	E:Delay(10, F.Zone)
+end
+
+function F:StartFarmBarLoader()
+	F:UnregisterEvent("PLAYER_ENTERING_WORLD")
+
+	local noItem = false
+	-- preload item links to prevent errors
+	for id, _ in pairs(seeds) do
+		if select(2, GetItemInfo(id)) == nil then noItem = true end
+	end
+	for id, _ in pairs(tools) do
+		if select(2, GetItemInfo(id)) == nil then noItem = true end
+	end
+	for id, _ in pairs(portals) do
+		if select(2, GetItemInfo(id)) == nil then noItem = true end
+	end
+	if noItem then
+		E:Delay(5, F.StartFarmBarLoader)
+	else
+		F.CreateFrames()
+	end
+end
+
+function F:Initialize()
+	if not E.private.sle.farm.enable then return end
+
+	self:RegisterEvent("PLAYER_ENTERING_WORLD", "StartFarmBarLoader")
+end
+
 E:RegisterModule(F:GetName())
\ No newline at end of file