Quantcast

Autotarget on use

Darthpred [02-20-13 - 09:51]
Autotarget on use
Filename
ElvUI_SLE/config/profile.lua
ElvUI_SLE/locales/china.lua
ElvUI_SLE/locales/english.lua
ElvUI_SLE/locales/french.lua
ElvUI_SLE/locales/german.lua
ElvUI_SLE/locales/korean.lua
ElvUI_SLE/locales/portuguese.lua
ElvUI_SLE/locales/russian.lua
ElvUI_SLE/locales/spanish.lua
ElvUI_SLE/locales/taiwan.lua
ElvUI_SLE/modules/farm/farm.lua
diff --git a/ElvUI_SLE/config/profile.lua b/ElvUI_SLE/config/profile.lua
index e1ab021..7b46527 100644
--- a/ElvUI_SLE/config/profile.lua
+++ b/ElvUI_SLE/config/profile.lua
@@ -1,363 +1,364 @@
-local E, L, V, P, G, _ = unpack(ElvUI); --Inport: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
-
-P['sle'] = {
-	--LFR options
-	['lfrshow'] = {
-		['enabled'] = false,
-		['ds'] = false,
-		['mv'] = false,
-		['hof'] = false,
-		['toes'] = false,
-		['tot'] = false,
-	},
-
-	--Background frames
-	['backgrounds'] = {
-		['bottom'] = {
-			['enabled'] = false,
-			['trans'] = false,
-			['texture'] = "",
-			['width'] = E.screenwidth/4 + 32,
-			['height'] = E.screenheight/6 - 13,
-			['xoffset'] = 0,
-			['yoffset'] = 0,
-			['pethide'] = true,
-		},
-		['left'] = {
-			['enabled'] = false,
-			['trans'] = false,
-			['texture'] = "",
-			['width'] = E.screenwidth/10 - 4,
-			['height'] = E.screenheight/5 + 11,
-			['xoffset'] = 0,
-			['yoffset'] = 0,
-			['pethide'] = true,
-		},
-		['right'] = {
-			['enabled'] = false,
-			['trans'] = false,
-			['texture'] = "",
-			['width'] = E.screenwidth/10 - 4,
-			['height'] = E.screenheight/5 + 11,
-			['xoffset'] = 0,
-			['yoffset'] = 0,
-			['pethide'] = true,
-		},
-		['action'] = {
-			['enabled'] = false,
-			['trans'] = false,
-			['texture'] = "",
-			['width'] = E.screenwidth/4 + 32,
-			['height'] = E.screenheight/20 + 5,
-			['xoffset'] = 0,
-			['yoffset'] = 0,
-			['pethide'] = true,
-		},
-	},
-
-	--Caster Name
-	['castername'] = false,
-
-	--Character Frame Options
-	['characterframeoptions'] = {
-		['itemlevel'] = {
-			['enable'] = true,
-			["font"] = "ElvUI Font",
-			["fontSize"] = 12,
-			["fontOutline"] = "OUTLINE",
-		},
-		['itemdurability'] = {
-			['enable'] = true,
-			["font"] = "ElvUI Font",
-			["fontSize"] = 12,
-			["fontOutline"] = "OUTLINE",
-		},
-	},
-
-	--Raid marks
-	['marks'] = {
-		['enabled'] = false,
-		['growth'] = "RIGHT",
-		['showinside'] = false,
-		['size'] = 18,
-	},
-
-	--Exp/Rep Bar
-	['exprep'] = {
-		['explong'] = false,
-		['replong'] = false,
-	},
-
-	--Power text on classbars
-	['powtext'] = false;
-
-	--Auto release
-	['pvpautorelease'] = true,
-
-	--Datatexts panels
-	['datatext'] = {
-		['dp1'] = {
-			['enabled'] = false,
-			['width'] = E.screenwidth/5,
-		},
-		['dp2'] = {
-			['enabled'] = false,
-			['width'] = E.screenwidth/5,
-		},
-		['top'] = {
-			['enabled'] = true,
-			['width'] = E.screenwidth/5 - 4,
-		},
-		['dp3'] = {
-			['enabled'] = false,
-			['width'] = E.screenwidth/5,
-		},
-		['dp4'] = {
-			['enabled'] = false,
-			['width'] = E.screenwidth/5,
-		},
-		['dp5'] = {
-			['enabled'] = false,
-			['width'] = E.screenwidth/4 - 60,
-		},
-		['bottom'] = {
-			['enabled'] = false,
-			['width'] = E.screenwidth/10 - 4,
-		},
-		['dp6'] = {
-			['enabled'] = false,
-			['width'] = E.screenwidth/4 - 60,
-		},
-		['chatleft'] = {
-			['enabled'] = true,
-			['width'] = 396,
-		},
-		['chatright'] = {
-			['enabled'] = true,
-			['width'] = 396,
-		},
-		['dashboard'] = {
-			['enable'] = false,
-			['width'] = 100,
-		},
-	},
-
-	--Combat Icon
-	['combatico'] = {
-		['pos'] = 'TOP',
-	},
-
-	--UI Buttons
-	['uibuttons'] = {
-		['enable'] = false,
-		['size'] = 17,
-		['mouse'] = false,
-		['position'] = "uib_vert",
-	},
-
-	--Autoloot
-	['lootwin'] = false,
-	['lootalpha'] = 1,
-
-	--Error messages
-	['errors'] = false,
-
-	['farm'] = {
-		['active'] = true,
-		['size'] = 30,
-	},
-}
-
---For some reason datatext settings refuses to work if there is no general setting block here O_o
---Core
-P['general'] = {
-	["taintLog"] = false,
-	["autoscale"] = true,
-	["stickyFrames"] = true,
-	['loginmessage'] = true,
-	["interruptAnnounce"] = "NONE",
-	["autoRepair"] = "NONE",
-	['autoRoll'] = false,
-	['vendorGrays'] = false,
-	['autoAcceptInvite'] = false,
-	['bottomPanel'] = false,
-
-	["fontSize"] = 12,
-	["font"] = "ElvUI Font",
-
-	["bordercolor"] = { r = 0.1,g = 0.1,b = 0.1 },
-	["backdropcolor"] = { r = 0.1,g = 0.1,b = 0.1 },
-	["backdropfadecolor"] = { r = .054,g = .054,b = .054, a = 0.8 },
-	["valuecolor"] = {r = 23/255,g = 132/255,b = 209/255},
-
-	['mapAlpha'] = 1,
-	['tinyWorldMap'] = true,
-
-	['minimap'] = {
-		['size'] = 176,
-		['locationText'] = 'MOUSEOVER',
-	},
-
-	['experience'] = {
-		['enable'] = true,
-		['width'] = 475,
-		['height'] = 10,
-		['textFormat'] = 'NONE',
-		['textSize'] = 11,
-	},
-	['reputation'] = {
-		['enable'] = true,
-		['width'] = 475,
-		['height'] = 10,
-		['textFormat'] = 'NONE',
-		['textSize'] = 11,
-	},
-	['threat'] = {
-		['enable'] = true,
-		['position'] = 'RIGHTCHAT',
-		['textSize'] = 12,
-	},
-	['totems'] = {
-		['enable'] = true,
-		['growthDirection'] = 'VERTICAL',
-		['sortDirection'] = 'ASCENDING',
-		['size'] = 40,
-		['spacing'] = 4,
-	}
-};
-
-P.chat.editboxhistory = 5
-P.auras.perRow = 19
-
---Datatexts
-if IsAddOnLoaded("ElvUI_LocPlus") then
-P['datatexts'] = {
-	['font'] = 'ElvUI Font',
-	['fontSize'] = 12,
-	['fontOutline'] = 'NONE',
-
-	['panels'] = {
-		['LeftChatDataPanel'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['RightChatDataPanel'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_1'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_2'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_3'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_4'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_5'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_6'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['Top_Center'] = 'Version',
-		['Bottom_Panel'] = '',
-		['LeftMiniPanel'] = 'Guild',
-		['RightMiniPanel'] = 'Friends',
-		['RightCoordDtPanel'] = '', --LocPlus
-		['LeftCoordDtPanel'] = '', --LocPlus
-	},
-	['localtime'] = true,
-	['time24'] = false,
-	['battleground'] = true,
-	['minimapPanels'] = true,
-	['leftChatPanel'] = true,
-	['rightChatPanel'] = true,
-}
-else
-P['datatexts'] = {
-	['font'] = 'ElvUI Font',
-	['fontSize'] = 12,
-	['fontOutline'] = 'NONE',
-
-	['panels'] = {
-		['LeftChatDataPanel'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['RightChatDataPanel'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_1'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_2'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_3'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_4'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_5'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['DP_6'] = {
-			['left'] = '',
-			['middle'] = '',
-			['right'] = '',
-		},
-		['Top_Center'] = 'Version',
-		['Bottom_Panel'] = '',
-		['LeftMiniPanel'] = 'Guild',
-		['RightMiniPanel'] = 'Friends',
-	},
-	['localtime'] = true,
-	['time24'] = false,
-	['battleground'] = true,
-	['minimapPanels'] = true,
-	['leftChatPanel'] = true,
-	['rightChatPanel'] = true,
-}
-end
-
-P.unitframe.units.player.classbar.xOffset = 0
-P.unitframe.units.player.classbar.yOffset = 0
-P.unitframe.units.player.classbar.offset = false
-P.unitframe.units.player.fixTo = "health"
-P.unitframe.units.target.fixTo = "health"
-P.unitframe.units.targettarget.fixTo = "health"
-P.unitframe.units.focus.fixTo = "health"
-P.unitframe.units.arena.fixTo = "health"
-P.unitframe.units.boss.fixTo = "health"
+local E, L, V, P, G, _ = unpack(ElvUI); --Inport: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
+
+P['sle'] = {
+	--LFR options
+	['lfrshow'] = {
+		['enabled'] = false,
+		['ds'] = false,
+		['mv'] = false,
+		['hof'] = false,
+		['toes'] = false,
+		['tot'] = false,
+	},
+
+	--Background frames
+	['backgrounds'] = {
+		['bottom'] = {
+			['enabled'] = false,
+			['trans'] = false,
+			['texture'] = "",
+			['width'] = E.screenwidth/4 + 32,
+			['height'] = E.screenheight/6 - 13,
+			['xoffset'] = 0,
+			['yoffset'] = 0,
+			['pethide'] = true,
+		},
+		['left'] = {
+			['enabled'] = false,
+			['trans'] = false,
+			['texture'] = "",
+			['width'] = E.screenwidth/10 - 4,
+			['height'] = E.screenheight/5 + 11,
+			['xoffset'] = 0,
+			['yoffset'] = 0,
+			['pethide'] = true,
+		},
+		['right'] = {
+			['enabled'] = false,
+			['trans'] = false,
+			['texture'] = "",
+			['width'] = E.screenwidth/10 - 4,
+			['height'] = E.screenheight/5 + 11,
+			['xoffset'] = 0,
+			['yoffset'] = 0,
+			['pethide'] = true,
+		},
+		['action'] = {
+			['enabled'] = false,
+			['trans'] = false,
+			['texture'] = "",
+			['width'] = E.screenwidth/4 + 32,
+			['height'] = E.screenheight/20 + 5,
+			['xoffset'] = 0,
+			['yoffset'] = 0,
+			['pethide'] = true,
+		},
+	},
+
+	--Caster Name
+	['castername'] = false,
+
+	--Character Frame Options
+	['characterframeoptions'] = {
+		['itemlevel'] = {
+			['enable'] = true,
+			["font"] = "ElvUI Font",
+			["fontSize"] = 12,
+			["fontOutline"] = "OUTLINE",
+		},
+		['itemdurability'] = {
+			['enable'] = true,
+			["font"] = "ElvUI Font",
+			["fontSize"] = 12,
+			["fontOutline"] = "OUTLINE",
+		},
+	},
+
+	--Raid marks
+	['marks'] = {
+		['enabled'] = false,
+		['growth'] = "RIGHT",
+		['showinside'] = false,
+		['size'] = 18,
+	},
+
+	--Exp/Rep Bar
+	['exprep'] = {
+		['explong'] = false,
+		['replong'] = false,
+	},
+
+	--Power text on classbars
+	['powtext'] = false;
+
+	--Auto release
+	['pvpautorelease'] = true,
+
+	--Datatexts panels
+	['datatext'] = {
+		['dp1'] = {
+			['enabled'] = false,
+			['width'] = E.screenwidth/5,
+		},
+		['dp2'] = {
+			['enabled'] = false,
+			['width'] = E.screenwidth/5,
+		},
+		['top'] = {
+			['enabled'] = true,
+			['width'] = E.screenwidth/5 - 4,
+		},
+		['dp3'] = {
+			['enabled'] = false,
+			['width'] = E.screenwidth/5,
+		},
+		['dp4'] = {
+			['enabled'] = false,
+			['width'] = E.screenwidth/5,
+		},
+		['dp5'] = {
+			['enabled'] = false,
+			['width'] = E.screenwidth/4 - 60,
+		},
+		['bottom'] = {
+			['enabled'] = false,
+			['width'] = E.screenwidth/10 - 4,
+		},
+		['dp6'] = {
+			['enabled'] = false,
+			['width'] = E.screenwidth/4 - 60,
+		},
+		['chatleft'] = {
+			['enabled'] = true,
+			['width'] = 396,
+		},
+		['chatright'] = {
+			['enabled'] = true,
+			['width'] = 396,
+		},
+		['dashboard'] = {
+			['enable'] = false,
+			['width'] = 100,
+		},
+	},
+
+	--Combat Icon
+	['combatico'] = {
+		['pos'] = 'TOP',
+	},
+
+	--UI Buttons
+	['uibuttons'] = {
+		['enable'] = false,
+		['size'] = 17,
+		['mouse'] = false,
+		['position'] = "uib_vert",
+	},
+
+	--Autoloot
+	['lootwin'] = false,
+	['lootalpha'] = 1,
+
+	--Error messages
+	['errors'] = false,
+
+	['farm'] = {
+		['active'] = true,
+		['size'] = 30,
+		['autotarget'] = true,
+	},
+}
+
+--For some reason datatext settings refuses to work if there is no general setting block here O_o
+--Core
+P['general'] = {
+	["taintLog"] = false,
+	["autoscale"] = true,
+	["stickyFrames"] = true,
+	['loginmessage'] = true,
+	["interruptAnnounce"] = "NONE",
+	["autoRepair"] = "NONE",
+	['autoRoll'] = false,
+	['vendorGrays'] = false,
+	['autoAcceptInvite'] = false,
+	['bottomPanel'] = false,
+
+	["fontSize"] = 12,
+	["font"] = "ElvUI Font",
+
+	["bordercolor"] = { r = 0.1,g = 0.1,b = 0.1 },
+	["backdropcolor"] = { r = 0.1,g = 0.1,b = 0.1 },
+	["backdropfadecolor"] = { r = .054,g = .054,b = .054, a = 0.8 },
+	["valuecolor"] = {r = 23/255,g = 132/255,b = 209/255},
+
+	['mapAlpha'] = 1,
+	['tinyWorldMap'] = true,
+
+	['minimap'] = {
+		['size'] = 176,
+		['locationText'] = 'MOUSEOVER',
+	},
+
+	['experience'] = {
+		['enable'] = true,
+		['width'] = 475,
+		['height'] = 10,
+		['textFormat'] = 'NONE',
+		['textSize'] = 11,
+	},
+	['reputation'] = {
+		['enable'] = true,
+		['width'] = 475,
+		['height'] = 10,
+		['textFormat'] = 'NONE',
+		['textSize'] = 11,
+	},
+	['threat'] = {
+		['enable'] = true,
+		['position'] = 'RIGHTCHAT',
+		['textSize'] = 12,
+	},
+	['totems'] = {
+		['enable'] = true,
+		['growthDirection'] = 'VERTICAL',
+		['sortDirection'] = 'ASCENDING',
+		['size'] = 40,
+		['spacing'] = 4,
+	}
+};
+
+P.chat.editboxhistory = 5
+P.auras.perRow = 19
+
+--Datatexts
+if IsAddOnLoaded("ElvUI_LocPlus") then
+P['datatexts'] = {
+	['font'] = 'ElvUI Font',
+	['fontSize'] = 12,
+	['fontOutline'] = 'NONE',
+
+	['panels'] = {
+		['LeftChatDataPanel'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['RightChatDataPanel'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_1'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_2'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_3'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_4'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_5'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_6'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['Top_Center'] = 'Version',
+		['Bottom_Panel'] = '',
+		['LeftMiniPanel'] = 'Guild',
+		['RightMiniPanel'] = 'Friends',
+		['RightCoordDtPanel'] = '', --LocPlus
+		['LeftCoordDtPanel'] = '', --LocPlus
+	},
+	['localtime'] = true,
+	['time24'] = false,
+	['battleground'] = true,
+	['minimapPanels'] = true,
+	['leftChatPanel'] = true,
+	['rightChatPanel'] = true,
+}
+else
+P['datatexts'] = {
+	['font'] = 'ElvUI Font',
+	['fontSize'] = 12,
+	['fontOutline'] = 'NONE',
+
+	['panels'] = {
+		['LeftChatDataPanel'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['RightChatDataPanel'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_1'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_2'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_3'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_4'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_5'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['DP_6'] = {
+			['left'] = '',
+			['middle'] = '',
+			['right'] = '',
+		},
+		['Top_Center'] = 'Version',
+		['Bottom_Panel'] = '',
+		['LeftMiniPanel'] = 'Guild',
+		['RightMiniPanel'] = 'Friends',
+	},
+	['localtime'] = true,
+	['time24'] = false,
+	['battleground'] = true,
+	['minimapPanels'] = true,
+	['leftChatPanel'] = true,
+	['rightChatPanel'] = true,
+}
+end
+
+P.unitframe.units.player.classbar.xOffset = 0
+P.unitframe.units.player.classbar.yOffset = 0
+P.unitframe.units.player.classbar.offset = false
+P.unitframe.units.player.fixTo = "health"
+P.unitframe.units.target.fixTo = "health"
+P.unitframe.units.targettarget.fixTo = "health"
+P.unitframe.units.focus.fixTo = "health"
+P.unitframe.units.arena.fixTo = "health"
+P.unitframe.units.boss.fixTo = "health"
diff --git a/ElvUI_SLE/locales/china.lua b/ElvUI_SLE/locales/china.lua
index 9390a8d..695b87c 100644
--- a/ElvUI_SLE/locales/china.lua
+++ b/ElvUI_SLE/locales/china.lua
@@ -1,3 +1,6 @@
-local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
-local L = AceLocale:NewLocale("ElvUI", "zhCN")
-if not L then return end
+local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
+local L = AceLocale:NewLocale("ElvUI", "zhCN")
+if not L then return end
+
+--Farm--
+L["Tilled Soil"] = "开垦过的土壤"
\ No newline at end of file
diff --git a/ElvUI_SLE/locales/english.lua b/ElvUI_SLE/locales/english.lua
index f5c0b38..3b788e9 100644
--- a/ElvUI_SLE/locales/english.lua
+++ b/ElvUI_SLE/locales/english.lua
@@ -1,252 +1,253 @@
--- 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 Edit"] = true
-L["Shadow & Light Edit of ElvUI"] = true
-L["SLE_DESC"] = [=[This is and 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
-
---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["Transparent"] = 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 lever/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 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
-
---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
-
---Farm--
-L['Farm'] = true
-L["FARM_DESC"] = true
-L['Only active buttons'] = true
-L['Only show the buttons for the seeds, portals, tools you have in your bags.'] = 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
-
---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
-Azilroka
-Blazeflack
-Boradan
-Camealion
-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.37|r
-- Decimals are once again shown for hp/power texts on unit frames
-
-|cff1784d1v1.36|r
-- Some tweaks to better work with ElvUI 5.20
-
-|cff1784d1v1.35|r
-- Fixed compatibility with full Location Plus version
-
-|cff1784d1v1.34|r
-Fixed rune bar error when using classbar offset
-
-|cff1784d1v1.33|r
-- Fixed errors on auras tooltips
-- Fixed health bar height with classbar offset enabled
-
-|cff1784d1v1.32|r
-- Config updated
-
-|cff1784d1v1.31|r
-- Repooc config updated
-
-|cff1784d1v1.3|r
-- Authors' layouts have been changed
-- Mount serach was deleted, Blizzard added that themselves
-- Some adjustions for pixel perfect mode to make things look good
-- Caster name in auras' tooltips is now profile based option
-- An option added to chosee if you want your power text to be on power bar or health bar (health by default as in normal ElvUI)
-- Raid Utility options removed. Now it's fully movable with it's own mover
-- Added a mover for world/BG pvp score - Hellfire towers, AV reinforcements, AB resources, etc. (Darth grow tired of using MoveAnything)
-- Capture bar is now docked to the bottom of a new mover
-- Show errors in combat is now profile based option
-- Added S&L version number to version datatext, login message and config
-- Buttons for resetting all S&L options or just desired group's options have been added
-- You can now see changelog in game
-- Added alternative mene regen datatext called "MP5". It shows an "mp5" title instead of "mana regen"
+-- 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 Edit"] = true
+L["Shadow & Light Edit of ElvUI"] = true
+L["SLE_DESC"] = [=[This is and 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
+
+--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["Transparent"] = 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 lever/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 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
+
+--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
+
+--Farm--
+L['Farm'] = true
+L["FARM_DESC"] = true
+L['Only active buttons'] = true
+L['Only show the buttons for the seeds, portals, tools you have in your bags.'] = true
+L["Tilled Soil"] = 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
+
+--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
+Azilroka
+Blazeflack
+Boradan
+Camealion
+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.37|r
+- Decimals are once again shown for hp/power texts on unit frames
+
+|cff1784d1v1.36|r
+- Some tweaks to better work with ElvUI 5.20
+
+|cff1784d1v1.35|r
+- Fixed compatibility with full Location Plus version
+
+|cff1784d1v1.34|r
+Fixed rune bar error when using classbar offset
+
+|cff1784d1v1.33|r
+- Fixed errors on auras tooltips
+- Fixed health bar height with classbar offset enabled
+
+|cff1784d1v1.32|r
+- Config updated
+
+|cff1784d1v1.31|r
+- Repooc config updated
+
+|cff1784d1v1.3|r
+- Authors' layouts have been changed
+- Mount serach was deleted, Blizzard added that themselves
+- Some adjustions for pixel perfect mode to make things look good
+- Caster name in auras' tooltips is now profile based option
+- An option added to chosee if you want your power text to be on power bar or health bar (health by default as in normal ElvUI)
+- Raid Utility options removed. Now it's fully movable with it's own mover
+- Added a mover for world/BG pvp score - Hellfire towers, AV reinforcements, AB resources, etc. (Darth grow tired of using MoveAnything)
+- Capture bar is now docked to the bottom of a new mover
+- Show errors in combat is now profile based option
+- Added S&L version number to version datatext, login message and config
+- Buttons for resetting all S&L options or just desired group's options have been added
+- You can now see changelog in game
+- Added alternative mene regen datatext called "MP5". It shows an "mp5" title instead of "mana regen"
 ]=]
\ No newline at end of file
diff --git a/ElvUI_SLE/locales/french.lua b/ElvUI_SLE/locales/french.lua
index e808254..faf9a74 100644
--- a/ElvUI_SLE/locales/french.lua
+++ b/ElvUI_SLE/locales/french.lua
@@ -1,4 +1,7 @@
--- French localization file for frFR.
-local AceLocale = LibStub:GetLibrary("AceLocale-3.0");
-local L = AceLocale:NewLocale("ElvUI", "frFR");
-if not L then return; end
+-- French localization file for frFR.
+local AceLocale = LibStub:GetLibrary("AceLocale-3.0");
+local L = AceLocale:NewLocale("ElvUI", "frFR");
+if not L then return; end
+
+--Farm--
+L["Tilled Soil"] = "Terre labourée"
\ No newline at end of file
diff --git a/ElvUI_SLE/locales/german.lua b/ElvUI_SLE/locales/german.lua
index 86da4e2..967dd8e 100644
--- a/ElvUI_SLE/locales/german.lua
+++ b/ElvUI_SLE/locales/german.lua
@@ -1,179 +1,182 @@
--- German localisation file for deDE
-local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
-local L = AceLocale:NewLocale("ElvUI", "deDE")
-if not L then return end
-
---General--
-L["Shadow & Light Edit"] = "Schatten & Licht Edit"
-L["Shadow & Light Edit of ElvUI"] = "Schatten & Licht Edit von ElvUI"
-L["SLE_DESC"] = [=[Das ist ein Edit von ElvUI das einige Funktionen zum Original Addon hinzufügt und bereits existierende Optionen ändert.
-Der Edit ändert in keiner Hinsicht Originale Dateien so das du es ohne Probleme aus deinem Addon Manager deaktivieren kannst.]=]
-L["LFR Lockout"] = "LFR Abklingzeiten"
-L["Show/Hide LFR lockout info in the time datatext's tooltip."] = "Zeige/Verstecke die LFR Abklingzeiten Info im Zeit Infotext Tooltip."
-L["PvP Auto Release"] = "PvP Auto Freilassen"
-L["Automatically release body when killed inside a battleground."] = "Geist automatisch freilassen wenn man innerhalb eines Schlachtfeldes stirbt."
-L["Pet autocast corners"] = "Begleiter autozauber Ecken"
-L["Show/hide triangles in corners of autocastable buttons."] = "Zeige/Verstecke dreiecke in den Ecken der automatisch zaubernden Tasten."
-L["SLE_LOGIN_MSG"] = [=[Du benutzt |cff1784d1Schatten & Licht Edit|r v|cff1784d1%s%s|r für ElvUI.
-Möchtest du das Original ElvUI Addon benutzen, deaktiviere das Edit Plugin aus deinem Addon Manager.
-Habt einen schönen Tag.]=]
-L["Your version of ElvUI is older than recommended to use with Shadow & Light Edit. Please, download the latest version from tukui.org."] = "Deine Version von Elvui ist älter als die empfohlene zum benutzen mit Schatten & Licht Edit. Bitte, downloade die letzte Version von tukui.org."
-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"] = "Schatten & Licht Einstellungen"
-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."] = "Du kannst nun eine Einstellugen eines Authors wählen. Das wird nicht nur die Postitionierung von einigen Elementen sondern auch eine reihe anderer Optionen geändert."
-L["SLE_Install_Text2"] = [=[Elv's Standart Taste muss nur angeklickt werden um eine unserer Konfigurationen rückgängig zu machen.
-|cffFF0000Warnung:|r das wird alles zurücksetzen auf das Hohe Auflösungs Layout.]=]
-L["Darth's Config"] = "Darth's Einstellungen"
-L["Darth's Defaults Set"] = "Darth's Standarts gesetzt"
-L["Elv's Defaults"] = "Elv's Standarts"
-L["Elv's Defaults Set"] = "Elv's Standarts gesetzt"
-L["Repooc's Config"] = "Repooc's Einstellungen"
-L["Repooc's Defaults Set"] = "Repooc's Standarts gesetzt"
-
---Auras--
-L["Auras Options"] = "Auren Optionen"
-L["Additional Auras Options"] = "Zusätzliche Auren Optionen"
-L["Options for customizing auras near the minimap."] = "Optionen für anpassungen der Auren nahe der Minimap."
-L["Caster Name"] = "Zauber Name"
-L["Enabling this will show caster name in the buffs and debuff icons."] = "Bei aktivierung wird der Name des zaubernden in den Stärkungs und Schwächungs Symbolen angezeigt."
-
---Backgroungds--
-L["Backgrounds"] = "Hintergründe"
-L["Additional Background Panels"] = "Zusätzliche Hintergrund Leisten"
-L["BG_DESC"] = "BG_DESC"
-L["Bottom BG"] = "Unten BG"
-L["Left BG"] = "Linker BG"
-L["Right BG"] = "Rechter BG"
-L["Actionbar BG"] = "Aktionsleisten BG"
-L["Show/Hide this frame."] = "Zeige/Verstecke dieses Fenster."
-L["Sets width of the frame"] = "Wähle die breite dieses Fensters"
-L["Sets height of the frame"] = "Wähle die höhe dieses Fensters"
-L["Sets X offset of the frame"] = "Wähle den X Versatz für dieses Fenster"
-L["Sets Y offset of the frame"] = "Wähle den Y Versatz für dieses Fenster"
-L["Texture"] = "Textur"
-L["Set the texture to use in this frame.  Requirements are the same as the chat textures."] = "Wähle die Textur die für dieses Fenster benutzt wird. Empfohlen wird die selbe wie die Chat Textur."
-L["Backdrop Template"] = "Hintergrund Template"
-L["Change the template used for this backdrop."] = "Wähle das Template das für den Hintergrund benutzt wird."
-L["Default"] = "Standart"
-L["Transparent"] = "Transparent"
-
---Chat--
-L["Chat Options"] = "Chat Optionen"
-L["Chat Editbox History"] = "Chat Editbox History"
-L["Amount of messages to save. Set to 0 to disable."] = "Anzahl der Nachrichten die gespeichert werden. Wähle 0 zum deaktivieren."
-
---Datatexts--
-L["LFR Dragon Soul"] = "LFR Drachenseele"
-L["LFR Mogu'shan Vaults"] = true
-L["LFR Heart of Fear"] = true
-L["LFR Terrace of Endless Spring"] = true
-L["Bosses killed: "] = true
-L["SLE_AUTHOR_INFO"] = "Schatten & Licht Edit von Darth Predator & Repooc"
-L["SLE_CONTACTS"] = [=[Bug berichte, Vorschläge und andere Sachen akzeptiert via:
-- Privat Nachricht auf TukUI.org zu Darth Predator oder Repooc
-- AddOn's Seite/ticket system auf curse.com
-- AddOn's repo github.com]=]
-L["DP_1"] = "Infotext Leiste 1"
-L["DP_2"] = "Infotext Leiste 2"
-L["DP_3"] = "Infotext Leiste 3"
-L["DP_4"] = "Infotext Leiste 4"
-L["DP_5"] = "Infotext Leiste 5"
-L["DP_6"] = "Infotext Leiste 6"
-L["Bottom_Panel"] = "Untere Leiste"
-L["Top_Center"] = "Obere Leise"
-L["Left Chat"] = "Linker Chat"
-L["Right Chat"] = "Rechter Chat"
-L["Datatext Panels"] = "Infotext Leisten"
-L["Additional Datatext Panels"] = "Zusätzliche Infotext Leisten"
-L["DP_DESC"] = [=[Zusätzliche Infotext Leisten.
-8 Leisten mit 20 Infotext Punkten ingesamt und ein dashboard mit 4 Status Leisten.
-You can't disable chat panels.]=]
-L["Dashboard"] = "Dashboard"
-L["Show/Hide dashboard."] = "Zeige/Verstecke dashboard."
-L["Dashboard Panels Width"] = "Dashboard Leisten Breite"
-L["Sets size of dashboard panels."] = "Wähle die Größe der dashboard Leisten."
-L["Show/Hide this panel."] = "Zeige/Verstecke diese Leiste."
-L["Sets size of this panel"] = "Wähle die Größe dieser Leiste"
-L['Hide panel background'] = true
-L["Don't show this panel, only datatexts assinged to it"] = true
-
---Exp/Rep Bar--
-L["Xp-Rep Text"] = "Xp-Rruf Text"
-L["Additional options for XP/Rep bars text"] = "Zusätzliche Optionen für XP/Ruf Leisten Text"
-L["Full value on Exp Bar"] = "Voller Wert auf Exp Leiste"
-L["Changes the way text is shown on exp bar."] = "Ändert die Art der Anzeige für die Exp Leiste."
-L["Full value on Rep Bar"] = "Voller Wert auf Ruf Leiste"
-L["Changes the way text is shown on rep bar."] = "Ändert die Art der Anzeige für die Ruf Leiste."
-
---Marks--
-L["Raid Marks"] = "Schlachtzugs Markierungen"
-L["Show/Hide raid marks."] = "Zeige/Verstecke Schlachtzugs Markierungen"
-L["Sets size of buttons"] = "Wähle die größe der Tasten" --Also used in UI buttons
-L["Direction"] = "Richtung"
-L["Change the direction of buttons growth from the skull marker"] = "Wähle die Richtung des Tasten wachstums von der Totenkopf Markierung"
-
---Skins--
-L["This options require ElvUI AddOnSkins pack to work."] = "Diese Option benötigt ElvUI AddOnSkins Packet zum funktionieren."
-L["Sets font size on DBM bars"] = "Wähle die Schriftgröße der DBM Leisten"
-
---UI buttons--
-L["UI Buttons"] = "UI tasten"
-L["Additional menu with useful buttons"] = "Zusätzliches Menü mit nützlichen Tasten"
-L["Show/Hide UI buttons."] = "Zeige/Verstecke die UI Tasten."
-L["Mouse over"] = "Mouse over"
-L["Show on mouse over."] = "Zeige auf mouse over."
-L["Buttons position"] = "Tasten Position"
-L["Layout for UI buttons."] = "Layout für die UI tasten."
-L["Click to reload your interface"] = "Klicken zum neuladen deines Interface"
-L["Click to toggle config window"] = "Klicken zum umschalten des Konfigurations Fensters"
-L["Click to toggle the AddOn Manager frame (stAddOnManager, Ampere or ACP) you have enabled."] = "Klick zum umschalten des AddOn Manager Fensters (stAddOnManager, Ampere oder ACP) wenn du es aktiviert hast."
-L["Click to toggle the Configuration/Option Window from the Bossmod (DXE, DBM or Bigwigs) you have enabled."] = "Klicke zum umschalten des Konfigurations/Options Fenster von dem Bossmodul (DXE, DBM oder Bigwigs) wenn du es aktiviert hast."
-L["Click to unlock moving ElvUI elements"] = "Klicke um die ElvUI Elemente zu bewegen"
-L["ElvUI Config"] = "ElvUI Konfiguration"
-L["Move UI"] = "Bewege UI"
-L["Reload UI"] = "UI neuladen"
-L["AddOns Manager"] = "AddOns Manager"
-L["Boss Mod"] = "Boss Modul"
-
---Unitframes--
-L["Additional unit frames options"] = "Zusätzliche Einheitenfenster Optionen"
-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."] = "Optionen für anpassung der Einheitenfenster. Bitte ändere diese Einstellungen nicht wenn ElvUI's Test Fenster für Bosse und Arena Fenster angezeigt werden. Das macht sie unsichtbar bis zum wieder umschalten."
-L["Player Frame Indicators"] = "Spieler Fenster Indikator"
-L["Combat Icon"] = "Kampf Symbol"
-L["Show/Hide combat icon on player frame."] = "Zeige/Verstecke das Kampf Symbol auf dem Spieler Fenster."
-L["Combat Position"] = "Kampf Position"
-L["Set the point to show combat icon"] = "Wähle den Punkt zum anzeigen des Kampf Symboles"
-L["Classbar Energy"] = "Klassenleisten Energie"
-L["Show/hide the text with exact number of energy (Solar/Lunar or Demonic Fury) on your Classbar."] = "Zeige/Verstecke den Text mit exakten Nummern der Energie (Solar/Lunar oder Demonischer Furor) auf deiner Klassenleiste."
-L["Classbar Offset"] = "Klassenleisten Versatz"
-L["This options will allow you to detach your classbar from player's frame and move it in other location."] = "Diese Option wird deine Klassenleiste von dem Spieler Fenster abheften und bewege diese zu einer anderen Lage."
-
---Credits--
-L["ELVUI_SLE_CREDITS"] = "Wir möchten an diesem Punkt folgenden Personen für ihre Unterstützung danken für Prüfung, Programmierung und anderen Sachen."
-L["Submodules and Coding:"] = "Submodule und Programmierung:"
-L["ELVUI_SLE_CODERS"] = [=[Elv
-Tukz
-Azilroka
-Blazeflack
-Boradan
-Camealion
-Pvtschlag
-Sinaris
-Sortokk
-Swordyy
-]=]
-L["Other Support:"] = "Anderer Support:"
-L["ELVUI_SLE_MISC"] = [=[BuG - für französisch sein lol
-TheSamaKutra
-Der Rest der 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]."] = "Zum aktivieren des vollen Wertes von Leben/Kraft auf den Einheitenfestern in Schatten & Licht füge folgendes hinzu \":sl\" an das ende des Leben/Kraft tags.\nBeispiel: [health:current:sl]."
-
---Movers--
-L["Pet Battle AB"] = "Haustierkampf AB"
+-- German localisation file for deDE
+local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
+local L = AceLocale:NewLocale("ElvUI", "deDE")
+if not L then return end
+
+--General--
+L["Shadow & Light Edit"] = "Schatten & Licht Edit"
+L["Shadow & Light Edit of ElvUI"] = "Schatten & Licht Edit von ElvUI"
+L["SLE_DESC"] = [=[Das ist ein Edit von ElvUI das einige Funktionen zum Original Addon hinzufügt und bereits existierende Optionen ändert.
+Der Edit ändert in keiner Hinsicht Originale Dateien so das du es ohne Probleme aus deinem Addon Manager deaktivieren kannst.]=]
+L["LFR Lockout"] = "LFR Abklingzeiten"
+L["Show/Hide LFR lockout info in the time datatext's tooltip."] = "Zeige/Verstecke die LFR Abklingzeiten Info im Zeit Infotext Tooltip."
+L["PvP Auto Release"] = "PvP Auto Freilassen"
+L["Automatically release body when killed inside a battleground."] = "Geist automatisch freilassen wenn man innerhalb eines Schlachtfeldes stirbt."
+L["Pet autocast corners"] = "Begleiter autozauber Ecken"
+L["Show/hide triangles in corners of autocastable buttons."] = "Zeige/Verstecke dreiecke in den Ecken der automatisch zaubernden Tasten."
+L["SLE_LOGIN_MSG"] = [=[Du benutzt |cff1784d1Schatten & Licht Edit|r v|cff1784d1%s%s|r für ElvUI.
+Möchtest du das Original ElvUI Addon benutzen, deaktiviere das Edit Plugin aus deinem Addon Manager.
+Habt einen schönen Tag.]=]
+L["Your version of ElvUI is older than recommended to use with Shadow & Light Edit. Please, download the latest version from tukui.org."] = "Deine Version von Elvui ist älter als die empfohlene zum benutzen mit Schatten & Licht Edit. Bitte, downloade die letzte Version von tukui.org."
+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"] = "Schatten & Licht Einstellungen"
+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."] = "Du kannst nun eine Einstellugen eines Authors wählen. Das wird nicht nur die Postitionierung von einigen Elementen sondern auch eine reihe anderer Optionen geändert."
+L["SLE_Install_Text2"] = [=[Elv's Standart Taste muss nur angeklickt werden um eine unserer Konfigurationen rückgängig zu machen.
+|cffFF0000Warnung:|r das wird alles zurücksetzen auf das Hohe Auflösungs Layout.]=]
+L["Darth's Config"] = "Darth's Einstellungen"
+L["Darth's Defaults Set"] = "Darth's Standarts gesetzt"
+L["Elv's Defaults"] = "Elv's Standarts"
+L["Elv's Defaults Set"] = "Elv's Standarts gesetzt"
+L["Repooc's Config"] = "Repooc's Einstellungen"
+L["Repooc's Defaults Set"] = "Repooc's Standarts gesetzt"
+
+--Auras--
+L["Auras Options"] = "Auren Optionen"
+L["Additional Auras Options"] = "Zusätzliche Auren Optionen"
+L["Options for customizing auras near the minimap."] = "Optionen für anpassungen der Auren nahe der Minimap."
+L["Caster Name"] = "Zauber Name"
+L["Enabling this will show caster name in the buffs and debuff icons."] = "Bei aktivierung wird der Name des zaubernden in den Stärkungs und Schwächungs Symbolen angezeigt."
+
+--Backgroungds--
+L["Backgrounds"] = "Hintergründe"
+L["Additional Background Panels"] = "Zusätzliche Hintergrund Leisten"
+L["BG_DESC"] = "BG_DESC"
+L["Bottom BG"] = "Unten BG"
+L["Left BG"] = "Linker BG"
+L["Right BG"] = "Rechter BG"
+L["Actionbar BG"] = "Aktionsleisten BG"
+L["Show/Hide this frame."] = "Zeige/Verstecke dieses Fenster."
+L["Sets width of the frame"] = "Wähle die breite dieses Fensters"
+L["Sets height of the frame"] = "Wähle die höhe dieses Fensters"
+L["Sets X offset of the frame"] = "Wähle den X Versatz für dieses Fenster"
+L["Sets Y offset of the frame"] = "Wähle den Y Versatz für dieses Fenster"
+L["Texture"] = "Textur"
+L["Set the texture to use in this frame.  Requirements are the same as the chat textures."] = "Wähle die Textur die für dieses Fenster benutzt wird. Empfohlen wird die selbe wie die Chat Textur."
+L["Backdrop Template"] = "Hintergrund Template"
+L["Change the template used for this backdrop."] = "Wähle das Template das für den Hintergrund benutzt wird."
+L["Default"] = "Standart"
+L["Transparent"] = "Transparent"
+
+--Chat--
+L["Chat Options"] = "Chat Optionen"
+L["Chat Editbox History"] = "Chat Editbox History"
+L["Amount of messages to save. Set to 0 to disable."] = "Anzahl der Nachrichten die gespeichert werden. Wähle 0 zum deaktivieren."
+
+--Datatexts--
+L["LFR Dragon Soul"] = "LFR Drachenseele"
+L["LFR Mogu'shan Vaults"] = true
+L["LFR Heart of Fear"] = true
+L["LFR Terrace of Endless Spring"] = true
+L["Bosses killed: "] = true
+L["SLE_AUTHOR_INFO"] = "Schatten & Licht Edit von Darth Predator & Repooc"
+L["SLE_CONTACTS"] = [=[Bug berichte, Vorschläge und andere Sachen akzeptiert via:
+- Privat Nachricht auf TukUI.org zu Darth Predator oder Repooc
+- AddOn's Seite/ticket system auf curse.com
+- AddOn's repo github.com]=]
+L["DP_1"] = "Infotext Leiste 1"
+L["DP_2"] = "Infotext Leiste 2"
+L["DP_3"] = "Infotext Leiste 3"
+L["DP_4"] = "Infotext Leiste 4"
+L["DP_5"] = "Infotext Leiste 5"
+L["DP_6"] = "Infotext Leiste 6"
+L["Bottom_Panel"] = "Untere Leiste"
+L["Top_Center"] = "Obere Leise"
+L["Left Chat"] = "Linker Chat"
+L["Right Chat"] = "Rechter Chat"
+L["Datatext Panels"] = "Infotext Leisten"
+L["Additional Datatext Panels"] = "Zusätzliche Infotext Leisten"
+L["DP_DESC"] = [=[Zusätzliche Infotext Leisten.
+8 Leisten mit 20 Infotext Punkten ingesamt und ein dashboard mit 4 Status Leisten.
+You can't disable chat panels.]=]
+L["Dashboard"] = "Dashboard"
+L["Show/Hide dashboard."] = "Zeige/Verstecke dashboard."
+L["Dashboard Panels Width"] = "Dashboard Leisten Breite"
+L["Sets size of dashboard panels."] = "Wähle die Größe der dashboard Leisten."
+L["Show/Hide this panel."] = "Zeige/Verstecke diese Leiste."
+L["Sets size of this panel"] = "Wähle die Größe dieser Leiste"
+L['Hide panel background'] = true
+L["Don't show this panel, only datatexts assinged to it"] = true
+
+--Exp/Rep Bar--
+L["Xp-Rep Text"] = "Xp-Rruf Text"
+L["Additional options for XP/Rep bars text"] = "Zusätzliche Optionen für XP/Ruf Leisten Text"
+L["Full value on Exp Bar"] = "Voller Wert auf Exp Leiste"
+L["Changes the way text is shown on exp bar."] = "Ändert die Art der Anzeige für die Exp Leiste."
+L["Full value on Rep Bar"] = "Voller Wert auf Ruf Leiste"
+L["Changes the way text is shown on rep bar."] = "Ändert die Art der Anzeige für die Ruf Leiste."
+
+--Farm--
+L["Tilled Soil"] = 'Gepflügtes Erdreich'
+
+--Marks--
+L["Raid Marks"] = "Schlachtzugs Markierungen"
+L["Show/Hide raid marks."] = "Zeige/Verstecke Schlachtzugs Markierungen"
+L["Sets size of buttons"] = "Wähle die größe der Tasten" --Also used in UI buttons
+L["Direction"] = "Richtung"
+L["Change the direction of buttons growth from the skull marker"] = "Wähle die Richtung des Tasten wachstums von der Totenkopf Markierung"
+
+--Skins--
+L["This options require ElvUI AddOnSkins pack to work."] = "Diese Option benötigt ElvUI AddOnSkins Packet zum funktionieren."
+L["Sets font size on DBM bars"] = "Wähle die Schriftgröße der DBM Leisten"
+
+--UI buttons--
+L["UI Buttons"] = "UI tasten"
+L["Additional menu with useful buttons"] = "Zusätzliches Menü mit nützlichen Tasten"
+L["Show/Hide UI buttons."] = "Zeige/Verstecke die UI Tasten."
+L["Mouse over"] = "Mouse over"
+L["Show on mouse over."] = "Zeige auf mouse over."
+L["Buttons position"] = "Tasten Position"
+L["Layout for UI buttons."] = "Layout für die UI tasten."
+L["Click to reload your interface"] = "Klicken zum neuladen deines Interface"
+L["Click to toggle config window"] = "Klicken zum umschalten des Konfigurations Fensters"
+L["Click to toggle the AddOn Manager frame (stAddOnManager, Ampere or ACP) you have enabled."] = "Klick zum umschalten des AddOn Manager Fensters (stAddOnManager, Ampere oder ACP) wenn du es aktiviert hast."
+L["Click to toggle the Configuration/Option Window from the Bossmod (DXE, DBM or Bigwigs) you have enabled."] = "Klicke zum umschalten des Konfigurations/Options Fenster von dem Bossmodul (DXE, DBM oder Bigwigs) wenn du es aktiviert hast."
+L["Click to unlock moving ElvUI elements"] = "Klicke um die ElvUI Elemente zu bewegen"
+L["ElvUI Config"] = "ElvUI Konfiguration"
+L["Move UI"] = "Bewege UI"
+L["Reload UI"] = "UI neuladen"
+L["AddOns Manager"] = "AddOns Manager"
+L["Boss Mod"] = "Boss Modul"
+
+--Unitframes--
+L["Additional unit frames options"] = "Zusätzliche Einheitenfenster Optionen"
+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."] = "Optionen für anpassung der Einheitenfenster. Bitte ändere diese Einstellungen nicht wenn ElvUI's Test Fenster für Bosse und Arena Fenster angezeigt werden. Das macht sie unsichtbar bis zum wieder umschalten."
+L["Player Frame Indicators"] = "Spieler Fenster Indikator"
+L["Combat Icon"] = "Kampf Symbol"
+L["Show/Hide combat icon on player frame."] = "Zeige/Verstecke das Kampf Symbol auf dem Spieler Fenster."
+L["Combat Position"] = "Kampf Position"
+L["Set the point to show combat icon"] = "Wähle den Punkt zum anzeigen des Kampf Symboles"
+L["Classbar Energy"] = "Klassenleisten Energie"
+L["Show/hide the text with exact number of energy (Solar/Lunar or Demonic Fury) on your Classbar."] = "Zeige/Verstecke den Text mit exakten Nummern der Energie (Solar/Lunar oder Demonischer Furor) auf deiner Klassenleiste."
+L["Classbar Offset"] = "Klassenleisten Versatz"
+L["This options will allow you to detach your classbar from player's frame and move it in other location."] = "Diese Option wird deine Klassenleiste von dem Spieler Fenster abheften und bewege diese zu einer anderen Lage."
+
+--Credits--
+L["ELVUI_SLE_CREDITS"] = "Wir möchten an diesem Punkt folgenden Personen für ihre Unterstützung danken für Prüfung, Programmierung und anderen Sachen."
+L["Submodules and Coding:"] = "Submodule und Programmierung:"
+L["ELVUI_SLE_CODERS"] = [=[Elv
+Tukz
+Azilroka
+Blazeflack
+Boradan
+Camealion
+Pvtschlag
+Sinaris
+Sortokk
+Swordyy
+]=]
+L["Other Support:"] = "Anderer Support:"
+L["ELVUI_SLE_MISC"] = [=[BuG - für französisch sein lol
+TheSamaKutra
+Der Rest der 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]."] = "Zum aktivieren des vollen Wertes von Leben/Kraft auf den Einheitenfestern in Schatten & Licht füge folgendes hinzu \":sl\" an das ende des Leben/Kraft tags.\nBeispiel: [health:current:sl]."
+
+--Movers--
+L["Pet Battle AB"] = "Haustierkampf AB"
diff --git a/ElvUI_SLE/locales/korean.lua b/ElvUI_SLE/locales/korean.lua
index 50e4e61..a42504b 100644
--- a/ElvUI_SLE/locales/korean.lua
+++ b/ElvUI_SLE/locales/korean.lua
@@ -1,3 +1,6 @@
-local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
-local L = AceLocale:NewLocale("ElvUI", "koKR")
-if not L then return end
+local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
+local L = AceLocale:NewLocale("ElvUI", "koKR")
+if not L then return end
+
+--Farm--
+L["Tilled Soil"] = "갈아엎은 흙"
diff --git a/ElvUI_SLE/locales/portuguese.lua b/ElvUI_SLE/locales/portuguese.lua
index d15cba7..23097f4 100644
--- a/ElvUI_SLE/locales/portuguese.lua
+++ b/ElvUI_SLE/locales/portuguese.lua
@@ -1,3 +1,6 @@
-local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
-local L = AceLocale:NewLocale("ElvUI", "ptBR")
-if not L then return end
+local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
+local L = AceLocale:NewLocale("ElvUI", "ptBR")
+if not L then return end
+
+--Farm--
+L["Tilled Soil"] = "Terra Arada"
diff --git a/ElvUI_SLE/locales/russian.lua b/ElvUI_SLE/locales/russian.lua
index f90b9f9..ca7634b 100644
--- a/ElvUI_SLE/locales/russian.lua
+++ b/ElvUI_SLE/locales/russian.lua
@@ -133,6 +133,7 @@ L['Farm'] = "Ферма"
 L["FARM_DESC"] = true
 L['Only active buttons'] = "Только активные"
 L['Only show the buttons for the seeds, portals, tools you have in your bags.'] = "Отображать только кнопки для тех семян/инструментов/деревьев, которые есть у Вас в сумках."
+L["Tilled Soil"] = "Возделанная земля"

 --Marks--
 L["Raid Marks"] = "Рейдовые Метки"
diff --git a/ElvUI_SLE/locales/spanish.lua b/ElvUI_SLE/locales/spanish.lua
index a60d1ce..304fc1d 100644
--- a/ElvUI_SLE/locales/spanish.lua
+++ b/ElvUI_SLE/locales/spanish.lua
@@ -1,3 +1,6 @@
-local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
-local L = AceLocale:NewLocale("ElvUI", "esES") or AceLocale:NewLocale("ElvUI", "esMX")
-if not L then return end
+local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
+local L = AceLocale:NewLocale("ElvUI", "esES") or AceLocale:NewLocale("ElvUI", "esMX")
+if not L then return end
+
+--Farm--
+L["Tilled Soil"] = "Tierra labrada"
diff --git a/ElvUI_SLE/locales/taiwan.lua b/ElvUI_SLE/locales/taiwan.lua
index e85c57e..6d5dce5 100644
--- a/ElvUI_SLE/locales/taiwan.lua
+++ b/ElvUI_SLE/locales/taiwan.lua
@@ -1,3 +1,6 @@
-local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
-local L = AceLocale:NewLocale("ElvUI", "zhTW")
-if not L then return end
+local AceLocale = LibStub:GetLibrary("AceLocale-3.0")
+local L = AceLocale:NewLocale("ElvUI", "zhTW")
+if not L then return end
+
+--Farm--
+L["Tilled Soil"] = "開墾過的沃土"
diff --git a/ElvUI_SLE/modules/farm/farm.lua b/ElvUI_SLE/modules/farm/farm.lua
index 77e41d4..7f50139 100644
--- a/ElvUI_SLE/modules/farm/farm.lua
+++ b/ElvUI_SLE/modules/farm/farm.lua
@@ -1,372 +1,380 @@
-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 SeedAnchor, ToolAnchor, PortalAnchor
-local tsort = table.sort
-local farmzones = { BL["Sunsong Ranch"], BL["The Halfhill Market"] }
-local size
-
-local seedButtons = {}
-local toolButtons = {}
-local portalButtons = {}
-
-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 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
-}
-
-function F:InSeedZone()
-	local subzone = GetSubZoneText()
-	for _, zone in ipairs(farmzones) do
-		if (zone == subzone) then
-			return true
-		end
-	end
-	return false
-end
-
-function F:InFarmZone()
-	return GetSubZoneText() == farmzones[1]
-end
-
-function F:FarmerInventoryUpdate()
-	if InCombatLockdown() then return end
-
-	for i = 1, 5 do
-		for _, button in ipairs(seedButtons[i]) do
-			button.items = GetItemCount(button.itemId, nil, true)
-			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(toolButtons) do
-		button.items = GetItemCount(button.itemId)
-		button.icon:SetDesaturated(button.items == 0)
-		button.icon:SetAlpha(button.items == 0 and .25 or 1)
-	end
-
-	for _, button in ipairs(portalButtons) do
-		button.items = GetItemCount(button.itemId)
-		button.text:SetText(button.items)
-		button.icon:SetDesaturated(button.items == 0)
-		button.icon:SetAlpha(button.items == 0 and .25 or 1)
-	end
-
-	self:UpdateLayout()
-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 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:UpdateSeedBarLayout(seedBar, anchor, buttons, category)
-	local count = 0
-	size = E.db.sle.farm.size
-	seedBar:ClearAllPoints()
-	--_G[("FarmSeedBar%d"):format(i)
-	--[[if category == 1 then
-		seedBar:Point("TOPLEFT", anchor, "TOPLEFT", (E.PixelMode and 0 or -2), 0)
-	else
-		seedBar:Point("TOPLEFT", anchor, "TOPLEFT", (category-1)*(size+(E.PixelMode and 2 or 1))-(E.PixelMode and 0 or 2), 0)
-	end]]
-	if category == 1 then
-		seedBar:Point("TOPLEFT", anchor, "TOPLEFT", (E.PixelMode and 0 or -2), 0)
-	else
-		if _G[("FarmSeedBar%d"):format(category-1)]:IsShown() then
-			seedBar:Point("TOPLEFT", _G[("FarmSeedBar%d"):format(category-1)], "TOPRIGHT", (E.PixelMode and 0 or -1), 0)
-		else
-			F:UpdateSeedBarLayout(seedBar, anchor, buttons, category-1)
-		end
-	end
-
-	for i, button in ipairs(buttons) do
-		button:ClearAllPoints()
-		if not E.db.sle.farm.active or button.items > 0 then
-			button:Point("TOPLEFT", seedBar, "TOPLEFT", E.PixelMode and 1 or 2, -(count * (size+(E.PixelMode and 2 or 1)))-(E.PixelMode and 1 or 0))
-			button:Show()
-			button:Size(size, size)
-			count = count + 1
-		else
-			button:Hide()
-		end
-	end
-
-	seedBar:Width(size+2)
-	seedBar:Height(1) --(count*(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 and count > 0 and zonecheck(self) and not InCombatLockdown()) then
-		bar:Show()
-	else
-		bar:Hide()
-	end
-end
-
-function F:UpdateLayout()
-	if InCombatLockdown() then return end
-	for i=1, 5 do
-		F:UpdateBar(_G[("FarmSeedBar%d"):format(i)], F.UpdateSeedBarLayout, F.InSeedZone, SeedAnchor, seedButtons[i], i)
-	end
-	F:UpdateBar(_G["FarmToolBar"], F.UpdateBarLayout, F.InFarmZone, ToolAnchor, toolButtons)
-	F:UpdateBar(_G["FarmPortalBar"], F.UpdateBarLayout, F.InFarmZone, PortalAnchor, portalButtons)
-	F:ResizeFrames()
-end
-
-
-function F:CreateFarmButton(index, owner, buttonType, name, texture, allowDrop)
-	size = E.db.sle.farm.size
-	local button = CreateFrame("Button", ("FarmerButton%d"):format(index), owner, "SecureActionButtonTemplate")
-	button:Size(size, size)
-	button:SetTemplate()
-
-	button.sortname = name
-	button.itemId = index
-
-	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)
-
-	button:SetScript("OnEnter", function()
-		GameTooltip:SetOwner(button, 'ANCHOR_TOPLEFT', 2, 4)
-		GameTooltip:ClearLines()
-		GameTooltip:AddDoubleLine(name)
-		if allowDrop then
-			GameTooltip:AddLine(L['Right-click to drop the item.'])
-		end
-		GameTooltip:Show()
-	end)
-
-	button:SetScript("OnLeave", function()
-		GameTooltip:Hide()
-	end)
-
-	button:SetScript("OnMouseDown", function(self, mousebutton)
-		if mousebutton == "LeftButton" then
-			button:SetAttribute("type", buttonType)
-			button:SetAttribute(buttonType, name)
-		elseif mousebutton == "RightButton" and allowDrop then
-			button:SetAttribute("type", "click")
-			for container = 0, 4 do
-				for slot = 1, GetContainerNumSlots(container) do
-					if button.itemId == GetContainerItemID(container, slot) then
-						PickupContainerItem(container, slot)
-						DeleteCursorItem()
-						return
-					end
-				end
-			end
-		end
-	end)
-
-	return button
-end
-
-function F:ResizeFrames()
-	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))
-	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", 4, -200)
-	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, "FarmSeedAnchor", "Farmer Seed Bar")
-	E:CreateMover(ToolAnchor, "FarmToolAnchor", "Farmer Tool Bar")
-	E:CreateMover(PortalAnchor, "FarmPortalAnchor", "Farmer Portal Bar")
-
-	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:CreateBackdrop("Transparent")
-		seedBar:SetFrameStrata("BACKGROUND")
-		seedBar:SetPoint("CENTER", SeedAnchor, "CENTER", 0, 0)
-
-		seedButtons[i] = seedButtons[i] or {}
-
-		for id, v in pairs(seeds) do
-			if v[1] == i then
-				tinsert(seedButtons[i], F:CreateFarmButton(id, seedBar, "item", v[2], v[11], false))
-			end
-			tsort(seedButtons[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(toolButtons, F:CreateFarmButton(id, toolBar, "item", v[1], v[10], true))
-	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(portalButtons, F:CreateFarmButton(id, portalBar, "item", v[2], v[11], false))
-		end
-	end
-
-	F:FarmerInventoryUpdate()
-	F:UpdateLayout()
-
-	F:RegisterEvent("ZONE_CHANGED", "UpdateLayout")
-	F:RegisterEvent("PLAYER_REGEN_ENABLED", "UpdateLayout")
-	F:RegisterEvent("BAG_UPDATE", "FarmerInventoryUpdate")
-end
-
-function F:OnLoadDelay()
-	E:Delay(5, F.UpdateLayout)
-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()
-		E:Delay(1, F.OnLoadDelay)
-	end
-end
-
-function F:Initialize()
-	if not E.private.sle.farm 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 seedButtons = {}
+local toolButtons = {}
+local portalButtons = {}
+
+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 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
+}
+
+function F:InSeedZone()
+	local subzone = GetSubZoneText()
+	for _, zone in ipairs(farmzones) do
+		if (zone == subzone) then
+			return true
+		end
+	end
+	return false
+end
+
+function F:InFarmZone()
+	return GetSubZoneText() == farmzones[1]
+end
+
+function F:FarmerInventoryUpdate()
+	if InCombatLockdown() then return end
+
+	for i = 1, 5 do
+		for _, button in ipairs(seedButtons[i]) do
+			button.items = GetItemCount(button.itemId, nil, true)
+			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(toolButtons) do
+		button.items = GetItemCount(button.itemId)
+		button.icon:SetDesaturated(button.items == 0)
+		button.icon:SetAlpha(button.items == 0 and .25 or 1)
+	end
+
+	for _, button in ipairs(portalButtons) do
+		button.items = GetItemCount(button.itemId)
+		button.text:SetText(button.items)
+		button.icon:SetDesaturated(button.items == 0)
+		button.icon:SetAlpha(button.items == 0 and .25 or 1)
+	end
+
+	self:UpdateLayout()
+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 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:UpdateSeedBarLayout(seedBar, anchor, buttons, category)
+	local count = 0
+	size = E.db.sle.farm.size
+	seedBar:ClearAllPoints()
+	--_G[("FarmSeedBar%d"):format(i)
+	--[[if category == 1 then
+		seedBar:Point("TOPLEFT", anchor, "TOPLEFT", (E.PixelMode and 0 or -2), 0)
+	else
+		seedBar:Point("TOPLEFT", anchor, "TOPLEFT", (category-1)*(size+(E.PixelMode and 2 or 1))-(E.PixelMode and 0 or 2), 0)
+	end]]
+	if category == 1 then
+		seedBar:Point("TOPLEFT", anchor, "TOPLEFT", (E.PixelMode and 0 or -2), 0)
+	else
+		if _G[("FarmSeedBar%d"):format(category-1)]:IsShown() then
+			seedBar:Point("TOPLEFT", _G[("FarmSeedBar%d"):format(category-1)], "TOPRIGHT", (E.PixelMode and 0 or -1), 0)
+		else
+			F:UpdateSeedBarLayout(seedBar, anchor, buttons, category-1)
+		end
+	end
+
+	for i, button in ipairs(buttons) do
+		button:ClearAllPoints()
+		if not E.db.sle.farm.active or button.items > 0 then
+			button:Point("TOPLEFT", seedBar, "TOPLEFT", E.PixelMode and 1 or 2, -(count * (size+(E.PixelMode and 2 or 1)))-(E.PixelMode and 1 or 0))
+			button:Show()
+			button:Size(size, size)
+			count = count + 1
+		else
+			button:Hide()
+		end
+	end
+
+	seedBar:Width(size+2)
+	seedBar:Height(1) --(count*(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 and count > 0 and zonecheck(self) and not InCombatLockdown()) then
+		bar:Show()
+	else
+		bar:Hide()
+	end
+end
+
+function F:UpdateLayout()
+	if InCombatLockdown() then return end
+	for i=1, 5 do
+		F:UpdateBar(_G[("FarmSeedBar%d"):format(i)], F.UpdateSeedBarLayout, F.InSeedZone, SeedAnchor, seedButtons[i], i)
+	end
+	F:UpdateBar(_G["FarmToolBar"], F.UpdateBarLayout, F.InFarmZone, ToolAnchor, toolButtons)
+	F:UpdateBar(_G["FarmPortalBar"], F.UpdateBarLayout, F.InFarmZone, PortalAnchor, portalButtons)
+	F:ResizeFrames()
+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()
+
+	button.sortname = name
+	button.itemId = index
+
+	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)
+
+	button:SetScript("OnEnter", function()
+		GameTooltip:SetOwner(button, 'ANCHOR_TOPLEFT', 2, 4)
+		GameTooltip:ClearLines()
+		GameTooltip:AddDoubleLine(name)
+		if allowDrop then
+			GameTooltip:AddLine(L['Right-click to drop the item.'])
+		end
+		GameTooltip:Show()
+	end)
+
+	button:SetScript("OnLeave", function()
+		GameTooltip:Hide()
+	end)
+
+	button:SetScript("OnMouseDown", function(self, mousebutton)
+		if mousebutton == "LeftButton" then
+			button:SetAttribute("type", buttonType)
+			button:SetAttribute(buttonType, name)
+
+			if id and id ~= 2 and id ~= 4 and E.db.sle.farm.autotarget and UnitName("target") ~= L["Tilled Soil"] then
+				F:AutoTarget(button)
+			end
+		elseif mousebutton == "RightButton" and allowDrop then
+			button:SetAttribute("type", "click")
+			local container, slot = SLE:BagSearch(button.itemId)
+			if container and slot then
+				PickupContainerItem(container, slot)
+				DeleteCursorItem()
+			end
+		end
+	end)
+
+	return button
+end
+
+function F:ResizeFrames()
+	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))
+	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", 4, -200)
+	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, "FarmSeedAnchor", "Farmer Seed Bar")
+	E:CreateMover(ToolAnchor, "FarmToolAnchor", "Farmer Tool Bar")
+	E:CreateMover(PortalAnchor, "FarmPortalAnchor", "Farmer Portal Bar")
+
+	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:CreateBackdrop("Transparent")
+		seedBar:SetFrameStrata("BACKGROUND")
+		seedBar:SetPoint("CENTER", SeedAnchor, "CENTER", 0, 0)
+
+		seedButtons[i] = seedButtons[i] or {}
+
+		for id, v in pairs(seeds) do
+			if v[1] == i then
+				tinsert(seedButtons[i], F:CreateFarmButton(id, seedBar, "item", v[2], v[11], false, i))
+			end
+			tsort(seedButtons[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(toolButtons, 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(portalButtons, F:CreateFarmButton(id, portalBar, "item", v[2], v[11], false, nil))
+		end
+	end
+
+	F:FarmerInventoryUpdate()
+	F:UpdateLayout()
+
+	F:RegisterEvent("ZONE_CHANGED", "UpdateLayout")
+	F:RegisterEvent("PLAYER_REGEN_ENABLED", "UpdateLayout")
+	F:RegisterEvent("BAG_UPDATE", "FarmerInventoryUpdate")
+end
+
+function F:OnLoadDelay()
+	E:Delay(5, F.UpdateLayout)
+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()
+		E:Delay(1, F.OnLoadDelay)
+	end
+end
+
+function F:Initialize()
+	if not E.private.sle.farm then return end
+
+	self:RegisterEvent("PLAYER_ENTERING_WORLD", "StartFarmBarLoader")
+end
+
 E:RegisterModule(F:GetName())
\ No newline at end of file