Quantcast

-Titan Bar : Allow user to adjust plugin text and icons within EACH bar

urnati [03-21-26 - 21:09]
-Titan Bar : Allow user to adjust plugin text and icons within EACH bar
- Titan : More locale strings encoded
Filename
Titan/Titan.lua
Titan/TitanConfig.lua
Titan/TitanGlobal.lua
Titan/locale/Localization.lua
diff --git a/Titan/Titan.lua b/Titan/Titan.lua
index de1a340..9410675 100644
--- a/Titan/Titan.lua
+++ b/Titan/Titan.lua
@@ -1934,7 +1934,7 @@ function TitanPanelButton_Justify()
 		--	.. " " .. tostring(TitanBarData[idx].plugin_y_offset) .. ""
 		--	.. " " .. tostring(TitanBarDataVars[idx].plugin_off_y) .. ""
 		--)
-		y_offset = TitanBarData[idx].plugin_y_offset -- + TitanBarDataVars[idx].plugin_off_y -- user may offset
+		y_offset = TitanBarData[idx].plugin_y_offset + TitanBarDataVars[idx].plugin_off_y -- user may offset
 		x_offset = TitanBarData[idx].plugin_x_offset
 		firstLeftButton = TitanUtils_GetButton(TitanPanelSettings.Buttons
 			[TitanUtils_GetFirstButtonOnBar(bar, TITAN_LEFT)])
diff --git a/Titan/TitanConfig.lua b/Titan/TitanConfig.lua
index 23dec65..9fe47f1 100644
--- a/Titan/TitanConfig.lua
+++ b/Titan/TitanConfig.lua
@@ -36,9 +36,9 @@ local Config_locale = {
 		advanced   = L["TITAN_PANEL_MENU_ADV"],
 		changes    = L["TITAN_PANEL_MENU_CHANGE_HISTORY"],
 		slash      = L["TITAN_PANEL_MENU_SLASH_COMMAND"],
-		help_list  = "Help List", --L["TITAN_PANEL_MENU_HELP"],
-		im_ex_port = "Import / Export", --L["TITAN_PANEL_MENU_HELP"],
-		adjust     = "Frame Adjustment",
+		help_list  = L["TITAN_PANEL_MENU_HELP_LIST"],
+		im_ex_port = L["TITAN_PANEL_MENU_IMPEXP_LABEL"],
+		adjust     = L["TITAN_PANEL_MENU_ADJUST_LABEL"] ,
 	}
 }

@@ -132,7 +132,7 @@ local function CreateAbout(pos)
 		type = "group",
 		args = {
 			confgendesc = {
-				name = "Description",
+				name = L["TITAN_PANEL_MENU_ABOUT_DESCRIPTION"],
 				order = 1,
 				type = "group",
 				inline = true,
@@ -239,12 +239,15 @@ local function Format_coord(coord)
 	return (tostring(format("%0.2f", coord)))
 end

+---Local Control the options of each Bar
+---@param pos number Options order start
+---@return table Config options
 local function CreateBarsList(pos)
-	--	AceConfigRegistry:NotifyChange("Titan Panel Bars")
 	local function IfColor(info, bar_short)
 		local frame_str = TitanVariables_GetFrameName(bar_short)
 		return (TitanBarDataVars[frame_str].texure == Titan_Global.COLOR)
 	end
+	--	AceConfigRegistry:NotifyChange("Titan Panel Bars")

 	local args = {}
 	local position = 1000
@@ -396,7 +399,7 @@ local function CreateBarsList(pos)
 				TitanPanelBarButton_DisplayBarsWanted("Bar reset to default position - " .. tostring(v.name))
 			end,
 		}
-		--[[
+		---[[
 		position = position + 1 -- spacer
 		args[v.name].args.offsetyspacer1 = {
 			type = "header",
@@ -408,7 +411,7 @@ local function CreateBarsList(pos)
 		args[v.name].args.yoffset = {
 			type = "range",
 			width = "full",
-			name = "Plugin Y Offset",
+			name = L["TITAN_PANEL_MENU_PLUGIN_Y_OFFSET"],
 			order = position,
 			min = -12,
 			max = 12,
@@ -420,11 +423,7 @@ local function CreateBarsList(pos)
 			set = function(info, a)
 				local frame_str = TitanVariables_GetFrameName(v.name)

-print("Config Y"
-.." "..tostring(v.name)..""
-.." "..tostring(frame_str)..""
-.." "..tostring(a)..""
-)				TitanBarDataVars[frame_str].plugin_off_y = a
+				TitanBarDataVars[frame_str].plugin_off_y = a
 				-- Justify button position
 				TitanPanelButton_Justify();
 			end,
@@ -513,7 +512,7 @@ print("Config Y"
 						showborder = {
 							type = "toggle",
 							width = "normal",
-							name = "Show Border", --L["TITAN_PANEL_MENU_DISPLAY_BAR"],
+							name = L["TITAN_PANEL_MENU_BARS_BORDER"],
 							order = 350,
 							get = function(info)
 								local frame_str = TitanVariables_GetFrameName(v.name)
@@ -629,8 +628,11 @@ end

 --============= Bars - All

---	AceConfigRegistry:NotifyChange("Titan Panel Globals")
+---local Control the options of ALL Bars
+---@param pos number Options order start
+---@return table Config options
 local function CreateBarsAll(pos)
+--	AceConfigRegistry:NotifyChange("Titan Panel Globals")
 	local args = {}
 	local position = 1000

@@ -711,6 +713,9 @@ local function ColorAdjShown(frame_str)
 	return res
 end

+---local Control the options of frames usewr can adjust
+---@param pos number Options order start
+---@return table Config options
 local function CreateUpdateAdj(pos)
 	--	AceConfigRegistry:NotifyChange("Titan Panel Adjust")

@@ -780,7 +785,7 @@ local function CreateUpdateAdj(pos)
 		args[f_name].args.offset = {
 			type = "range",
 			width = "full",
-			name = "Vertical Adjustment",
+			name = L["TITAN_PANEL_MENU_FRAME_Y_OFFSET"],
 			order = position,
 			min = -200,
 			max = 600,
@@ -834,7 +839,9 @@ local function Setter(id, var, value)
 	TitanPanelButton_UpdateButton(id)
 end

----Allow the user to control each plugin registered to Titan.
+---local Control options of each plugin registered to Titan.
+---@param pos number
+---@return table Config options
 local function CreateConfigAddons(pos)
 	--	AceConfigRegistry:NotifyChange("Titan Panel Addon Control")
 	local plug_in = nil
@@ -1199,39 +1206,9 @@ end

 --============= Profiles

-local function SummaryText(profile)
-	local res = ""
-
-	if profile.ptype == Titan_Global.profile.GLOBAL then
-		res = L["TITAN_PANEL_GLOBAL"] .. " : " .. profile.cname
-	elseif profile.ptype == Titan_Global.profile.SYNC then
-		res = L["TITAN_PANEL_MENU_PROFILE_SYNC"] .. " : " .. profile.cname
-	elseif profile.ptype == Titan_Global.profile.TOON then
-		res = L["TITAN_PANEL_MENU_PROFILE_CHARS"] .. " : " .. Titan_Global.profile.NONE
-	else
-		res = "?" .. " : " .. Titan_Global.profile.NONE
-	end
-
-	return res
-end
-
-local function EndProfileText(profile)
-	local res = ""
-
-	if profile.ptype == Titan_Global.profile.GLOBAL then
-		res = " : " .. profile.cname
-	elseif profile.ptype == Titan_Global.profile.SYNC then
-		res = " : " .. profile.cname
-	elseif profile.ptype == Titan_Global.profile.TOON then
-		res = " : " .. Titan_Global.profile.NONE
-	else
-		res = " : ?" .. Titan_Global.profile.NONE
-	end
-
-	return res
-end
-
----Allow the user to load / delete / reset / sync profile data
+---local Allow the user to load / delete / reset / sync profile data
+---@param pos number Order of options
+---@return table Config options
 local function CreateProfiles(pos)
 	--		AceConfigRegistry:NotifyChange("Titan Panel Addon Chars")
 	local p_info = {} -- used to hold info about each toon in players
@@ -1256,8 +1233,19 @@ local function CreateProfiles(pos)

 		this_toon.name = index
 		this_toon.profile = TitanVariables_GetProfile(index)
-		this_toon.summary = SummaryText(this_toon.profile)
-		this_toon.toon_header = this_toon.fancy_name .. EndProfileText(this_toon.profile)
+		local res = ""
+
+		if this_toon.profile.ptype == Titan_Global.profile.GLOBAL then
+			res = L["TITAN_PANEL_GLOBAL"] .. " : " .. this_toon.profile.cname
+		elseif this_toon.profile.ptype == Titan_Global.profile.SYNC then
+			res = L["TITAN_PANEL_MENU_PROFILE_SYNC"] .. " : " .. this_toon.profile.cname
+		elseif this_toon.profile.ptype == Titan_Global.profile.TOON then
+			res = L["TITAN_PANEL_MENU_PROFILE_CHARS"] .. " : " .. Titan_Global.profile.NONE
+		else
+			res = "?" .. " : " .. Titan_Global.profile.NONE
+		end
+
+	this_toon.toon_header = this_toon.fancy_name .. res --EndProfileText(this_toon.profile)
 		this_toon.is_player = (index == TitanUtils_GetPlayer())
 		this_toon.sync_set = not (id.Panel["SyncWithProfile"] == Titan_Global.profile.NONE)
 		this_toon.sync_name = id.Panel["SyncWithProfile"]
@@ -1333,7 +1321,7 @@ local function CreateProfiles(pos)
 				position = position + 1
 				p_args[tostring(position)] = {
 					type = "description",
-					name = "Last Logout : " .. logout,
+					name = L["TITAN_PANEL_MENU_PROFILE_LOGOUT"].." : " .. logout,
 					--width = "0.5",
 					cmdHidden = true,
 					order = position,
@@ -1344,7 +1332,7 @@ local function CreateProfiles(pos)
 					position = position + 1
 					p_args[tostring(position)] = {
 						type = "description",
-						name = "@ : " .. itoon.zoneText .. " " .. itoon.subZoneText,
+						name = L["TITAN_PANEL_MENU_PROFILE_LOC"].." : " .. itoon.zoneText .. " " .. itoon.subZoneText,
 						--width = "0.5",
 						cmdHidden = true,
 						order = position,
@@ -1353,7 +1341,7 @@ local function CreateProfiles(pos)
 				position = position + 1
 				p_args[tostring(position)] = {
 					type = "description",
-					name = "Level : " .. itoon.levelText,
+					name = L["TITAN_PANEL_MENU_PROFILE_LEVEL"] .." : " .. itoon.levelText,
 					width = "0.5",
 					cmdHidden = true,
 					order = position,
@@ -1361,7 +1349,7 @@ local function CreateProfiles(pos)
 				position = position + 1
 				p_args[tostring(position)] = {
 					type = "description",
-					name = "Faction : " .. itoon.faction,
+					name = L["TITAN_PANEL_MENU_PROFILE_FACTION"].." : " .. itoon.faction,
 					width = "0.5",
 					cmdHidden = true,
 					order = position,
@@ -1369,7 +1357,7 @@ local function CreateProfiles(pos)
 				position = position + 1
 				p_args[tostring(position)] = {
 					type = "description",
-					name = "Class : " .. itoon.class,
+					name = L["TITAN_PANEL_MENU_PROFILE_CLASS"].." : " .. itoon.class,
 					width = "0.5",
 					cmdHidden = true,
 					order = position,
@@ -1377,7 +1365,7 @@ local function CreateProfiles(pos)
 				position = position + 1
 				p_args[tostring(position)] = {
 					type = "description",
-					name = "Race : " .. itoon.race,
+					name = L["TITAN_PANEL_MENU_PROFILE_RACE"].." : " .. itoon.race,
 					width = "0.5",
 					cmdHidden = true,
 					order = position,
@@ -1432,14 +1420,14 @@ local function CreateProfiles(pos)

 						position = position + 1
 						p_args.mailClear = {
-							name = "Clear", --L["TITAN_PANEL_MENU_LOAD_SETTINGS"],
-							desc = "Clear Mail info for this toon",
+							name = L["TITAN_PANEL_MENU_POST_CLEAR"],
+							desc = L["TITAN_PANEL_MENU_POST_CLEAR_DESC"],
 							order = position,
 							type = "execute",
 							func = function(info, v)
 								TitanPost.ClearMailInfo(this_toon.name)
 								TitanPrint(
-									"Clear Mail info"
+									L["TITAN_PANEL_MENU_POST_CLEAR_DESC"]
 									.. " > " .. this_toon.name .. ""
 									, "info")
 								AceConfigRegistry:NotifyChange("Titan Panel Addon Chars")
@@ -1564,8 +1552,8 @@ local function CreateProfiles(pos)
 			p_args.reset_this = {
 				--name = L["TITAN_PANEL_MENU_PROFILE_RESET"].." : "..this_toon.profile.cname, --
 				--desc = L["TITAN_PANEL_MENU_PROFILE_RESET_DESC"],
-				name = "Reset Profile in Use", --
-				desc = "Will reset" .. " : " .. this_toon.profile.cname,
+				name = L["TITAN_PANEL_MENU_PROFILE_RESET"],
+				desc = L["TITAN_PANEL_MENU_PROFILE_RESET_DESC"] .. " : " .. this_toon.profile.cname,
 				order = position,
 				type = "execute",
 				--width = "1.0",
@@ -1733,8 +1721,8 @@ local function CreateProfiles(pos)
 			}
 			position = position + 1
 			p_args.sync_all_with = {
-				name = "Sync All",            --L["TITAN_PANEL_MENU_PROFILE_SYNC"],
-				desc = "Sync every toon to this profile", --L["TITAN_PANEL_MENU_PROFILE_SYNC_DESC"],
+				name = L["TITAN_PANEL_MENU_PROFILE_SYNC_ALL"],
+				desc = L["TITAN_PANEL_MENU_PROFILE_SYNC_ALL_DESC"],
 				order = position,
 				type = "execute",
 				--width = "full",
@@ -1749,7 +1737,7 @@ local function CreateProfiles(pos)
 					Titan_Debug.Out('titan', 'profile', str)

 					TitanPrint(""
-						.. "" .. "Sync All" .. ""
+						.. "" .. L["TITAN_PANEL_MENU_PROFILE_SYNC_ALL"] .. ""
 						.. " > '" .. tostring(this_toon.name) .. "'"
 						, "info")

@@ -1763,8 +1751,8 @@ local function CreateProfiles(pos)
 			}
 			position = position + 1
 			p_args.sync_all_clear = {
-				name = "Clear Sync All",     --L["TITAN_PANEL_MENU_PROFILE_CLEAR_SYNC"],
-				desc = "Revert to each toon's settings", --L["TITAN_PANEL_MENU_PROFILE_CLEAR_SYNC_DESC"],
+				name = L["TITAN_PANEL_MENU_PROFILE_SYNC_ALL_CLEAR"],
+				desc = L["TITAN_PANEL_MENU_PROFILE_SYNC_ALL_CLEAR_DESC"],
 				order = position,
 				type = "execute",
 				func = function(info, v)
@@ -1777,7 +1765,7 @@ local function CreateProfiles(pos)
 					Titan_Debug.Out('titan', 'profile', str)

 					TitanPrint(""
-						.. "" .. "Clear Sync All" .. ""
+						.. "" .. L["TITAN_PANEL_MENU_PROFILE_SYNC_ALL_CLEAR"] .. ""
 						.. " > '" .. tostring(this_toon.name) .. "'"
 						, "info")

@@ -1795,7 +1783,7 @@ local function CreateProfiles(pos)
 			position = position + 1
 			p_args.sync_all_title = {
 				type = "header",
-				name = TitanUtils_GetGoldText("Uses as Sync"),
+				name = TitanUtils_GetGoldText(L["TITAN_PANEL_MENU_PROFILE_SYNC_USE"]),
 				cmdHidden = true,
 				order = position,
 			}
@@ -1803,7 +1791,7 @@ local function CreateProfiles(pos)
 				position = position + 1
 				p_args[tostring(position)] = {
 					type = "description",
-					name = ALL or "ALL",
+					name = Titan_Global.literals.all,
 					cmdHidden = true,
 					order = position,
 				}
@@ -1831,7 +1819,7 @@ local function CreateProfiles(pos)
 					position = position + 1
 					p_args[tostring(position)] = {
 						type = "description",
-						name = NONE or "None",
+						name = Titan_Global.literals.none,
 						cmdHidden = true,
 						order = position,
 					}
@@ -1848,7 +1836,9 @@ end
 local export_str = "" -- hold export string
 local import_str = "" -- hold import string

----Allow the user to load / delete / reset / sync profile data
+---local Allow the user to load / delete / reset / sync profile data
+---@param pos number Options order start
+---@return table Config options
 local function CreateImportExportList(pos)
 	local players = {} -- used for list of profiles
 	local export  = {} -- used for selected profiles
@@ -1912,7 +1902,7 @@ local function CreateImportExportList(pos)
 	args["export_header"] = {
 		order = position,
 		type = "header",
-		name = "Export \n", --L["TITAN_PANEL_MENU_PROFILES"] .. "\n",
+		name = L["TITAN_PANEL_MENU_IMPEXP_IMPORT"].." \n",
 		cmdHidden = true
 	}
 	local ex_desc = ""
@@ -1966,7 +1956,7 @@ local function CreateImportExportList(pos)

 	position = position + 1
 	args["export_cmd"] = {
-		name = "Export",              --L["TITAN_PANEL_MENU_LOAD_SETTINGS"],
+		name = L["TITAN_PANEL_MENU_IMPEXP_EXPORT"],
 		desc = "Export the selected toons", --L["TITAN_PANEL_MENU_LOAD_SETTINGS_DESC"],
 		order = position,
 		type = "execute",
@@ -1980,8 +1970,8 @@ local function CreateImportExportList(pos)
 	args["export_text"] = {
 		order = position,
 		type = "input",
-		name = "Export box",                                                        --L["TITAN_PANEL_MENU_PROFILES"] .. "\n",
-		desc = "To copy the string; Click in the string; Then control-A; Then control-C", --L["TITAN_PANEL_MENU_PROFILES"] .. "\n",
+		name = L["TITAN_PANEL_MENU_IMPEXP_EXPORT_BOX"] .. "\n",
+		desc = L["TITAN_PANEL_MENU_IMPEXP_EXPORT_BOX_DESC"] .. "\n",
 		multiline = 10,
 		width = 'full',
 		get = function(info, v)
@@ -2009,7 +1999,7 @@ local function CreateImportExportList(pos)
 	args["import_header"] = {
 		order = position,
 		type = "header",
-		name = "Import \n", --L["TITAN_PANEL_MENU_PROFILES"] .. "\n",
+		name = L["TITAN_PANEL_MENU_IMPEXP_IMPORT"] .. "\n",
 		cmdHidden = true
 	}
 	local im_desc = ""
@@ -2030,8 +2020,8 @@ local function CreateImportExportList(pos)
 	args["import_text"] = {
 		order = position,
 		type = "input",
-		name = "Import box",                                            --L["TITAN_PANEL_MENU_PROFILES"] .. "\n",
-		desc = "To copy the export string; Click in the box; Then control-V", --L["TITAN_PANEL_MENU_PROFILES"] .. "\n",
+		name = L["TITAN_PANEL_MENU_IMPEXP_IMPORT"] .. "\n",
+		desc = L["TITAN_PANEL_MENU_IMPEXP_IMPORT_DESC"] .. "\n",
 		width = 'full',
 		multiline = 10,
 		get = function(info, v)
@@ -2056,8 +2046,8 @@ local function CreateImportExportList(pos)
 	}
 	position = position + 1
 	args["import_cmd"] = {
-		name = "Import",                              --L["TITAN_PANEL_MENU_LOAD_SETTINGS"],
-		desc = "Import the Titan export in the input box.", --L["TITAN_PANEL_MENU_PROFILES"] .. "\n",
+		name = L["TITAN_PANEL_MENU_IMPEXP_IMPORT"],
+		desc = L["TITAN_PANEL_MENU_IMPEXP_IMPORT_DESC"] .. "\n",
 		order = position,
 		type = "execute",
 		func = function(info, v)
@@ -2076,8 +2066,9 @@ end

 --============= Tooltips and Frames

----Show the general Titan options that the user can change.
-
+---local Show the general Titan options that the user can change.
+---@param pos number Options order start
+---@return table Config options
 local function CreateTooltipOptions(pos)
 	local optionsFrames = {
 		name = Config_locale.topic.tooltips,
@@ -2090,8 +2081,8 @@ local function CreateTooltipOptions(pos)
 				name = L["TITAN_PANEL_MENU_OPTIONS_TOOLTIPS"],
 			},
 			optiontooltiptimer = {
-				name = "Tooltip Timeout",            --L["TITAN_PANEL_UISCALE_CONTROL_TITLE_UI"],
-				desc = "Time Tooltip stays after cursor leaves.", --L["TITAN_PANEL_UISCALE_SLIDER_DESC"],
+				name = L["TITAN_PANEL_MENU_TOOLTIP_TIMEOUT"],
+				desc = L["TITAN_PANEL_MENU_TOOLTIP_TIMEOUT_DESC"],
 				order = 203,
 				type = "range",
 				width = "full",
@@ -2221,7 +2212,9 @@ end

 --============= Scale and Font

----Show the Titan options that allow a user to adjust Titan scale and font
+---local Show the Titan options that allow a user to adjust Titan scale and font
+---@param pos number Options order start
+---@return table Config options
 local function CreateUIOptions(pos)
 	local optionsUIScale = {
 		name = Config_locale.topic.scale,
@@ -2344,7 +2337,7 @@ local function CreateUIOptions(pos)
 				order = 30,
 				width = "full",
 				type = "header",
-				name = "Font",
+				name = L["TITAN_PANEL_MENU_FONT_LABEL"],
 			},
 			fontselection = {
 				name = L["TITAN_PANEL_MENU_LSM_FONTS"],
@@ -2384,13 +2377,13 @@ local function CreateUIOptions(pos)
 				order = 35,
 				type = "description",
 				width = "full",
-				name = "* Could include Fonts from other addons.",
+				name = L["TITAN_PANEL_MENU_FONT_OTHER"],
 			},
 			paneldesc = {
 				order = 40,
 				width = "full",
 				type = "header",
-				name = "Strata",
+				name = L["TITAN_PANEL_MENU_FRAME_STRATA"],
 			},
 			panelstrata = {
 				name = L["TITAN_PANEL_MENU_FRAME_STRATA"],
@@ -2418,7 +2411,7 @@ local function CreateUIOptions(pos)
 				width = ".5",
 				order = 42,
 				type = "description",
-				name = "Order of Strata\n"
+				name = L["TITAN_PANEL_MENU_FRAME_STRATA_ORDER"].."\n"
 					.. "- BACKGROUND\n"
 					.. "- LOW - default\n"
 					.. "- MEDIUM\n"
diff --git a/Titan/TitanGlobal.lua b/Titan/TitanGlobal.lua
index 660e3fa..2dba8e8 100644
--- a/Titan/TitanGlobal.lua
+++ b/Titan/TitanGlobal.lua
@@ -213,6 +213,8 @@ Titan_Global.literals = {
 	pvp = PVP,
 	use = USE,
 	note = LABEL_NOTE,
+	all = ALL,
+	none = NONE,
 }

 Titan_Global.colors = {
diff --git a/Titan/locale/Localization.lua b/Titan/locale/Localization.lua
index 6ed1d1d..0a520be 100644
--- a/Titan/locale/Localization.lua
+++ b/Titan/locale/Localization.lua
@@ -177,13 +177,6 @@ L["TITAN_PANEL_EXTRAS_DELETE_MSG"] = "configuration entry has been removed.";
 L["TITAN_PANEL_EXTRAS_DESC"] = "These are plugins with configuration data that are not currently loaded.\n".."These are safe to delete.";
 L["TITAN_PANEL_EXTRAS_SHORT"] = "Extras";
 L["TITAN_PANEL_EXTRAS"] = TITAN_PANEL.." Extras";
-L["TITAN_PANEL_PERFORMANCE_FPS_BUTTON_LABEL"] = "FPS: ";
-L["TITAN_PANEL_PERFORMANCE_FPS_FORMAT"] = "%.1f";
-L["TITAN_PANEL_PERFORMANCE_FPS_TOOLTIP_AVG_FPS"] = "Average FPS: ";
-L["TITAN_PANEL_PERFORMANCE_FPS_TOOLTIP_CURRENT_FPS"] = "Current FPS: ";
-L["TITAN_PANEL_PERFORMANCE_FPS_TOOLTIP_MAX_FPS"] = "Maximum FPS: ";
-L["TITAN_PANEL_PERFORMANCE_FPS_TOOLTIP_MIN_FPS"] = "Minimum FPS: ";
-L["TITAN_PANEL_PERFORMANCE_FPS_TOOLTIP"] = "Frames Per Second";
 L["TITAN_PANEL_GLOBAL_ERR_1"] = "You may not load a profile when a global profile is in use";
 L["TITAN_PANEL_GLOBAL_PROFILE"] = "Global Profile";
 L["TITAN_PANEL_GLOBAL_RESET_PART"] = "resetting options";
@@ -192,25 +185,9 @@ L["TITAN_PANEL_GLOBAL_USE_DESC"] = "Use a global profile for all characters";
 L["TITAN_PANEL_GLOBAL_USE"] = "Use Global Profile";
 L["TITAN_PANEL_GLOBAL"] = "Global";
 L["TITAN_PANEL_HOURS_ABBR"] = "h";
-L["TITAN_PANEL_PERFORMANCE_KILOBYTES_PER_SECOND"] = "KB/s";
-L["TITAN_PANEL_PERFORMANCE_LATENCY_BANDWIDTH_FORMAT"] = "%.3f ".."KB/s";
-L["TITAN_PANEL_PERFORMANCE_LATENCY_BUTTON_LABEL"] = "Latency: ";
-L["TITAN_PANEL_PERFORMANCE_LATENCY_FORMAT"] = "%d".."ms";
-L["TITAN_PANEL_PERFORMANCE_LATENCY_TOOLTIP_BANDWIDTH_IN"] = "Bandwidth In: ";
-L["TITAN_PANEL_PERFORMANCE_LATENCY_TOOLTIP_BANDWIDTH_OUT"] = "Bandwidth Out: ";
-L["TITAN_PANEL_PERFORMANCE_LATENCY_TOOLTIP_LATENCY_HOME"] = "Realm Latency (home): ";
-L["TITAN_PANEL_PERFORMANCE_LATENCY_TOOLTIP_LATENCY_WORLD"] = "Game Latency (world): ";
-L["TITAN_PANEL_PERFORMANCE_LATENCY_TOOLTIP"] = "Network Status";
 L["TITAN_PANEL_MEGABYTE"] = "MB";
-L["TITAN_PANEL_PERFORMANCE_MEMORY_BUTTON_LABEL"] = "Memory: ";
-L["TITAN_PANEL_PERFORMANCE_MEMORY_FORMAT_KB"] = "%d".."KB";
-L["TITAN_PANEL_PERFORMANCE_MEMORY_FORMAT"] = "%.3f".."MB";
-L["TITAN_PANEL_PERFORMANCE_MEMORY_KBMB_LABEL"] = "KB/MB";
-L["TITAN_PANEL_PERFORMANCE_MEMORY_RATE_FORMAT"] = "%.3f".."KB/s";
-L["TITAN_PANEL_PERFORMANCE_MEMORY_TOOLTIP_CURRENT_MEMORY"] = "Current: ";
-L["TITAN_PANEL_PERFORMANCE_MEMORY_TOOLTIP_INCREASING_RATE"] = "Increasing Rate: ";
-L["TITAN_PANEL_PERFORMANCE_MEMORY_TOOLTIP_INITIAL_MEMORY"] = "Initial: ";
-L["TITAN_PANEL_PERFORMANCE_MEMORY_TOOLTIP"] = "Memory Usage";
+L["TITAN_PANEL_MENU_ABOUT_DESCRIPTION"] = "Description"
+L["TITAN_PANEL_MENU_ADJUST_LABEL"] = "Frame Adjustment";
 L["TITAN_PANEL_MENU_ADV_BUFF_DESC"] = "Adjust Buff icons only as needed. This will override the Titan default adjustment.";
 L["TITAN_PANEL_MENU_ADV_BUFF"] = "Buff Icon Vertical Adjustment";
 L["TITAN_PANEL_MENU_ADV_CUSTOM_DESC"] = "Custom label text to show.";
@@ -236,6 +213,7 @@ L["TITAN_PANEL_MENU_AUTOHIDE_IN_COMBAT"] = "Lock auto hide bars while in combat"
 L["TITAN_PANEL_MENU_AUTOHIDE"] = "Auto-Hide";
 L["TITAN_PANEL_MENU_BAR_ALWAYS"] = "Always On";
 L["TITAN_PANEL_MENU_BAR"] = "Bar";
+L["TITAN_PANEL_MENU_BARS_BORDER"] = "Show Border";
 L["TITAN_PANEL_MENU_BOTTOM_BARS"] = "Bottom Bars";
 L["TITAN_PANEL_MENU_BOTTOM"] = "Bottom";
 L["TITAN_PANEL_MENU_BOTTOM2"] = "Bottom 2";
@@ -254,24 +232,36 @@ L["TITAN_PANEL_MENU_DISABLED"] = "Disabled";
 L["TITAN_PANEL_MENU_DISPLAY_BAR"] = "Show Bar";
 L["TITAN_PANEL_MENU_DISPLAY_ON_BAR"] = "Choose which bar the plugin is displayed";
 L["TITAN_PANEL_MENU_ENABLED"] = "Enabled";
+L["TITAN_PANEL_MENU_FONT_LABEL"] = "Font";
+L["TITAN_PANEL_MENU_FONT_OTHER"] = "* Could include Fonts from other addons";
 L["TITAN_PANEL_MENU_FONT_SIZE_DESC"] = "Sets the size for the "..TITAN_PANEL.." font.";
 L["TITAN_PANEL_MENU_FONT_SIZE"] = "Font Size";
 L["TITAN_PANEL_MENU_FRAME_STRATA_DESC"] = "Adjusts the frame strata for the "..TITAN_PANEL.." Bar(s).";
+L["TITAN_PANEL_MENU_FRAME_STRATA_ORDER"] = "Order of Strata";
 L["TITAN_PANEL_MENU_FRAME_STRATA"] = ""..TITAN_PANEL.." Frame Strata";
+L["TITAN_PANEL_MENU_FRAME_Y_OFFSET"] = "Vertical Adjustment";
 L["TITAN_PANEL_MENU_GLOBAL_SKIN_TIP"] = "Use Global Skin for All Bars";
 L["TITAN_PANEL_MENU_GLOBAL_SKIN_TITLE"] = "Global Skin";
 L["TITAN_PANEL_MENU_GLOBAL_SKIN"] = "Use Global Skin";
+L["TITAN_PANEL_MENU_HELP_LIST"] = "Help List";
 L["TITAN_PANEL_MENU_HELP"] = TITAN_PANEL.." "..(HELP_LABEL or "Help")
 L["TITAN_PANEL_MENU_HIDE_IN_COMBAT_DESC"] = (HIDE or "Hide").."All Bars While In Combat";
 L["TITAN_PANEL_MENU_HIDE_IN_COMBAT"] = (HIDE or "Hide").." In Combat";
 L["TITAN_PANEL_MENU_HIDE_ORDERHALL"] = "Hide Order Hall Command Bar";
 L["TITAN_PANEL_MENU_HIDE"] = "Hide";
+L["TITAN_PANEL_MENU_IMPEXP_EXPORT_BOX_DESC"] = "To copy the string; Click in the string; Then control-A; Then control-C";
+L["TITAN_PANEL_MENU_IMPEXP_EXPORT_BOX"] = "Export string";
+L["TITAN_PANEL_MENU_IMPEXP_EXPORT_DESC"] = "Export the selected toons";
+L["TITAN_PANEL_MENU_IMPEXP_EXPORT"] = "Export";
+L["TITAN_PANEL_MENU_IMPEXP_IMPORT_DESC"] = "Copy  the export string; Click in the box; Then control-V";
+L["TITAN_PANEL_MENU_IMPEXP_IMPORT"] = "Import";
+L["TITAN_PANEL_MENU_IMPEXP_LABEL"] = "Import / Export";
 L["TITAN_PANEL_MENU_IN_COMBAT_LOCKDOWN"] = "(In Combat)";
 L["TITAN_PANEL_MENU_LDB_FORCE_LAUNCHER"] = "Force LDB Launchers to Right-Side";
 L["TITAN_PANEL_MENU_LDB_SIDE"] = "Right-Side Plugin";
-L["TITAN_PANEL_MENU_LOAD_SETTINGS"] = "Load";
 L["TITAN_PANEL_MENU_LOAD_SETTINGS_DESC"] = "Copy this profile into the current character.";
 L["TITAN_PANEL_MENU_LOAD_SETTINGS_ERR1"] = "Load not allowed, same toon.";
+L["TITAN_PANEL_MENU_LOAD_SETTINGS"] = "Load";
 L["TITAN_PANEL_MENU_LOCK_BUTTONS"] = "Lock Buttons";
 L["TITAN_PANEL_MENU_LSM_FONTS_DESC"] = "Select the font type for the various plugins on the "..TITAN_PANEL.." Bars.";
 L["TITAN_PANEL_MENU_LSM_FONTS"] = "Panel Font";
@@ -284,30 +274,46 @@ L["TITAN_PANEL_MENU_OPTIONS_TOOLTIPS"] = "Tooltips";
 L["TITAN_PANEL_MENU_OPTIONS"] = TITAN_PANEL.." Tooltips and Frames";
 L["TITAN_PANEL_MENU_PLUGIN_RESET_DESC"] = "Refresh Plugin Text and Position";
 L["TITAN_PANEL_MENU_PLUGIN_RESET"] = "Refresh Plugins";
+L["TITAN_PANEL_MENU_PLUGIN_Y_OFFSET"] = "Plugin Y Offset";
 L["TITAN_PANEL_MENU_PLUGINS"] = "Plugins";
 L["TITAN_PANEL_MENU_POSITION"] = "Position";
+L["TITAN_PANEL_MENU_POST_CLEAR_DESC"] = "Clear Mail info for this toon";
+L["TITAN_PANEL_MENU_POST_CLEAR"] = "Clear";
 L["TITAN_PANEL_MENU_PROFILE_ALREADY_EXISTS"] = "The profile name entered already exists. Are you sure you want to overwrite it ? Push 'Accept' if yes, otherwise push 'Cancel' or the 'Escape' key.";
 L["TITAN_PANEL_MENU_PROFILE_CHARS"] = "Character";
-L["TITAN_PANEL_MENU_PROFILE_CLEAR_SYNC"] = "Clear Sync";
+L["TITAN_PANEL_MENU_PROFILE_CLASS"] = "Class";
 L["TITAN_PANEL_MENU_PROFILE_CLEAR_SYNC_DESC"] = "Clear Sync to use profile of this toon.";
+L["TITAN_PANEL_MENU_PROFILE_CLEAR_SYNC"] = "Clear Sync";
 L["TITAN_PANEL_MENU_PROFILE_CUSTOM"] = "Custom";
-L["TITAN_PANEL_MENU_PROFILE_DELETE_SETTINGS"] = "Delete";
 L["TITAN_PANEL_MENU_PROFILE_DELETE_SETTINGS_DESC"] = "Delete this profile from the list.";
 L["TITAN_PANEL_MENU_PROFILE_DELETE_SETTINGS_ERR1"] = "Delete not allowed, used as Sync by another profile.";
 L["TITAN_PANEL_MENU_PROFILE_DELETE_SETTINGS_ERR2"] = "Delete not allowed, cannot delete yourself.";
+L["TITAN_PANEL_MENU_PROFILE_DELETE_SETTINGS"] = "Delete";
 L["TITAN_PANEL_MENU_PROFILE_DELETED"] = " has been deleted.";
+L["TITAN_PANEL_MENU_PROFILE_FACTION"] = "Faction";
+L["TITAN_PANEL_MENU_PROFILE_LEVEL"] = "Level";
+L["TITAN_PANEL_MENU_PROFILE_LOC"] = "At";
+L["TITAN_PANEL_MENU_PROFILE_LOGOUT"] = "Last Logout";
+L["TITAN_PANEL_MENU_PROFILE_RACE"] = "Race";
 L["TITAN_PANEL_MENU_PROFILE_RELOADUI"] = "Your UI will now reload upon pushing 'Okay' to allow saving of your custom profile.";
-L["TITAN_PANEL_MENU_PROFILE_RESET"] = "Reset Profile";
 L["TITAN_PANEL_MENU_PROFILE_RESET_DESC"] = "Reset just this profile to defaults.";
-L["TITAN_PANEL_MENU_PROFILE_SAVE"] = "Save";
-L["TITAN_PANEL_MENU_PROFILE_SAVE_DESC"] = "Save this profile as a custom profile.";
+L["TITAN_PANEL_MENU_PROFILE_RESET_DESC"] = "Will reset"; -- given profile
+L["TITAN_PANEL_MENU_PROFILE_RESET"] = "Reset Profile in Use";
+L["TITAN_PANEL_MENU_PROFILE_RESET"] = "Reset Profile";
 L["TITAN_PANEL_MENU_PROFILE_SAVE_CUSTOM_TITLE"] = "Enter a name for your custom profile:\n(20 chars max, no spaces allowed, case sensitive)";
+L["TITAN_PANEL_MENU_PROFILE_SAVE_DESC"] = "Save this profile as a custom profile.";
 L["TITAN_PANEL_MENU_PROFILE_SAVE_PENDING"] = "Current settings are to be saved under profile name: ";
+L["TITAN_PANEL_MENU_PROFILE_SAVE"] = "Save";
 L["TITAN_PANEL_MENU_PROFILE_SERVERS"] = "Server";
-L["TITAN_PANEL_MENU_PROFILE_SYNC"] = "Sync";
+L["TITAN_PANEL_MENU_PROFILE_SYNC_ALL_CLEAR_DESC"] = "Revert to each toon's settings";
+L["TITAN_PANEL_MENU_PROFILE_SYNC_ALL_CLEAR"] = "Clear Sync All";
+L["TITAN_PANEL_MENU_PROFILE_SYNC_ALL_DESC"] = "Sync every toon to this profile";
+L["TITAN_PANEL_MENU_PROFILE_SYNC_ALL"] = "Sync All";
 L["TITAN_PANEL_MENU_PROFILE_SYNC_DESC"] = "Sync this profile with current character. Changes on current character will be made to this profile.";
 L["TITAN_PANEL_MENU_PROFILE_SYNC_ERR1"] = "Sync not allowed, cannot Sync to a toon that has a Sync.";
 L["TITAN_PANEL_MENU_PROFILE_SYNC_ERR2"] = "Sync not allowed, cannot Sync to yourself.";
+L["TITAN_PANEL_MENU_PROFILE_SYNC_USE"] = "Use as Sync";
+L["TITAN_PANEL_MENU_PROFILE_SYNC"] = "Sync";
 L["TITAN_PANEL_MENU_PROFILE"] = "Profile ";
 L["TITAN_PANEL_MENU_PROFILES"] = "Profiles";
 L["TITAN_PANEL_MENU_RELOADUI"] = "(Reload UI)";
@@ -318,12 +324,14 @@ L["TITAN_PANEL_MENU_SHOW_ICON"] = "Show Icon";
 L["TITAN_PANEL_MENU_SHOW_LABEL_TEXT"] = "Show Label Text";
 L["TITAN_PANEL_MENU_SHOW_PLUGIN_TEXT"] = "Show Plugin Text";
 L["TITAN_PANEL_MENU_SHOW"] = "Show Plugin";
-L["TITAN_PANEL_MENU_SKIN_CHANGE"] = "Change skins using Bar options :";
 L["TITAN_PANEL_MENU_SILENT_LOAD"] = "Silent Load";
+L["TITAN_PANEL_MENU_SKIN_CHANGE"] = "Change skins using Bar options :";
 L["TITAN_PANEL_MENU_SLASH_COMMAND"] = ("/").." "..(COMMAND or "Command")
 L["TITAN_PANEL_MENU_TEXTURE_SETTINGS"] = "Skins";
 L["TITAN_PANEL_MENU_TITLE"] = TITAN_PANEL;
 L["TITAN_PANEL_MENU_TOOLTIP_MOD"] = "Use Modifier to Show Tooltip";
+L["TITAN_PANEL_MENU_TOOLTIP_TIMEOUT_DESC"] = "Time Tooltip stays after cursor leaves";
+L["TITAN_PANEL_MENU_TOOLTIP_TIMEOUT"] = "Tooltip Timeout";
 L["TITAN_PANEL_MENU_TOOLTIPS_SHOWN_IN_COMBAT"] = "Hide Tooltips in Combat";
 L["TITAN_PANEL_MENU_TOOLTIPS_SHOWN"] = "Show Tooltips";
 L["TITAN_PANEL_MENU_TOP_BARS"] = "Top Bars";
@@ -335,6 +343,31 @@ L["TITAN_PANEL_MINUTES_ABBR"] = "m";
 L["TITAN_PANEL_NA"] = "N/A";
 L["TITAN_PANEL_NONE"] = "None";
 L["TITAN_PANEL_OPTIONS"] = "Options";
+L["TITAN_PANEL_PERFORMANCE_FPS_BUTTON_LABEL"] = "FPS: ";
+L["TITAN_PANEL_PERFORMANCE_FPS_FORMAT"] = "%.1f";
+L["TITAN_PANEL_PERFORMANCE_FPS_TOOLTIP_AVG_FPS"] = "Average FPS: ";
+L["TITAN_PANEL_PERFORMANCE_FPS_TOOLTIP_CURRENT_FPS"] = "Current FPS: ";
+L["TITAN_PANEL_PERFORMANCE_FPS_TOOLTIP_MAX_FPS"] = "Maximum FPS: ";
+L["TITAN_PANEL_PERFORMANCE_FPS_TOOLTIP_MIN_FPS"] = "Minimum FPS: ";
+L["TITAN_PANEL_PERFORMANCE_FPS_TOOLTIP"] = "Frames Per Second";
+L["TITAN_PANEL_PERFORMANCE_KILOBYTES_PER_SECOND"] = "KB/s";
+L["TITAN_PANEL_PERFORMANCE_LATENCY_BANDWIDTH_FORMAT"] = "%.3f ".."KB/s";
+L["TITAN_PANEL_PERFORMANCE_LATENCY_BUTTON_LABEL"] = "Latency: ";
+L["TITAN_PANEL_PERFORMANCE_LATENCY_FORMAT"] = "%d".."ms";
+L["TITAN_PANEL_PERFORMANCE_LATENCY_TOOLTIP_BANDWIDTH_IN"] = "Bandwidth In: ";
+L["TITAN_PANEL_PERFORMANCE_LATENCY_TOOLTIP_BANDWIDTH_OUT"] = "Bandwidth Out: ";
+L["TITAN_PANEL_PERFORMANCE_LATENCY_TOOLTIP_LATENCY_HOME"] = "Realm Latency (home): ";
+L["TITAN_PANEL_PERFORMANCE_LATENCY_TOOLTIP_LATENCY_WORLD"] = "Game Latency (world): ";
+L["TITAN_PANEL_PERFORMANCE_LATENCY_TOOLTIP"] = "Network Status";
+L["TITAN_PANEL_PERFORMANCE_MEMORY_BUTTON_LABEL"] = "Memory: ";
+L["TITAN_PANEL_PERFORMANCE_MEMORY_FORMAT_KB"] = "%d".."KB";
+L["TITAN_PANEL_PERFORMANCE_MEMORY_FORMAT"] = "%.3f".."MB";
+L["TITAN_PANEL_PERFORMANCE_MEMORY_KBMB_LABEL"] = "KB/MB";
+L["TITAN_PANEL_PERFORMANCE_MEMORY_RATE_FORMAT"] = "%.3f".."KB/s";
+L["TITAN_PANEL_PERFORMANCE_MEMORY_TOOLTIP_CURRENT_MEMORY"] = "Current: ";
+L["TITAN_PANEL_PERFORMANCE_MEMORY_TOOLTIP_INCREASING_RATE"] = "Increasing Rate: ";
+L["TITAN_PANEL_PERFORMANCE_MEMORY_TOOLTIP_INITIAL_MEMORY"] = "Initial: ";
+L["TITAN_PANEL_PERFORMANCE_MEMORY_TOOLTIP"] = "Memory Usage";
 L["TITAN_PANEL_PRINT"] = "Titan";
 L["TITAN_PANEL_REGISTER_END"] = "Registration process done.";
 L["TITAN_PANEL_REGISTER_START"] = "Register "..TITAN_PANEL.." plugins...";
@@ -345,10 +378,10 @@ L["TITAN_PANEL_SHIFT_LEFT"] = "Shift Left";
 L["TITAN_PANEL_SHIFT_RIGHT"] = "Shift Right";
 L["TITAN_PANEL_SKINS_ADD_DESC"] = "Adds a new skin to the list of available skins for "..TITAN_PANEL..".";
 L["TITAN_PANEL_SKINS_ADD_HEADER"] = "Add Skin";
-L["TITAN_PANEL_SKINS_LIST_TITLE"] = "Skin List";
 L["TITAN_PANEL_SKINS_ADDED"] = "Skin added :";
 L["TITAN_PANEL_SKINS_ALREADY_LISTED"] = "No Skin added - already in list :";
 L["TITAN_PANEL_SKINS_BLANK_VALUE"] = "No Skin added - blank value :";
+L["TITAN_PANEL_SKINS_LIST_TITLE"] = "Skin List";
 L["TITAN_PANEL_SKINS_MAIN_DESC"] = "All custom skins are assumed to be in: \n".."..\\AddOns\\Titan\\Artwork\\Custom\\<Skin Folder>\\ ".."\n".."\n"..TITAN_PANEL.." and custom skins are stored under the Custom folder.";
 L["TITAN_PANEL_SKINS_NAME_DESC"] = "Enter a name for your new skin. It will be used in the skin dropdown lists.";
 L["TITAN_PANEL_SKINS_NAME_TITLE"] = "Skin Name";
@@ -397,8 +430,8 @@ L["TITAN_PANEL_SLASH_RESP3"] = LIGHTYELLOW_FONT_COLOR_CODE..TITAN_PANEL.." scale
 L["TITAN_PANEL_SLASH_RESP4"] = LIGHTYELLOW_FONT_COLOR_CODE..TITAN_PANEL.." button spacing has been reset.";
 L["TITAN_PANEL_SLASH_SILENT_0"] = LIGHTYELLOW_FONT_COLOR_CODE.."Usage: |r|cffffffff/titan {silent}|r";
 L["TITAN_PANEL_SLASH_SILENT_1"] = LIGHTYELLOW_FONT_COLOR_CODE.."silent: |r|cffffffffToggles "..TITAN_PANEL.." to load silently.|r";
-L["TITAN_PANEL_TOOLTIP"] = "Tooltip";
 L["TITAN_PANEL_TOOLTIP_MODIFIER"] = "Tooltip Modifier";
+L["TITAN_PANEL_TOOLTIP"] = "Tooltip";
 L["TITAN_PANEL_TRANS_MENU_TEXT_SHORT"] = "Transparency";
 L["TITAN_PANEL_UISCALE_BUTTON_SLIDER_DESC"] = "Adjusts the space between left-side plugins.";
 L["TITAN_PANEL_UISCALE_CONTROL_TITLE_BUTTON"] = "Button Spacing";