1 QuestHelper_File
["config.lua"] = "Development Version"
2 QuestHelper_Loadtime
["config.lua"] = GetTime()
4 -- This is pretty much ganked wholesale from lightsfuryuther's QuestHelperConfig UI mod, then tweaked heavily because I'm kind of an obsessive asshole when it comes to make things work.
5 -- It's provided under a somewhat mangled version of the MIT license, which I will reproduce verbatim:
10 Copyright (c) <year> <copyright holders>
12 Permission is hereby granted, free of charge, to any person obtaining a
14 of this software and associated documentation files (the "Software"), to
16 in the Software without restriction, including without limitation the
18 to use, copy, modify, merge, publish, distribute, sublicense, and/or
20 copies of the Software, and to permit persons to whom the Software is
21 furnished to do so, subject to the following conditions:
23 The above copyright notice and this permission notice shall be included
25 all copies or substantial portions of the Software.
27 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
29 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
30 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
32 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
33 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
35 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
40 local addonTable
= {} -- we are not doing a common table we're just jamming shit in here basically
45 local QH
= QuestHelper
;
46 QH
.have_custom_config
= true; -- enable a custom config page
47 local QHConfig
= {}; -- create "global" addon table
49 local addon
= QHConfig
;
50 local ldb
= LibStub("LibDataBroker-1.1");
52 QH_Event("ADDON_LOADED", function (addonid
)
53 if addonid
~= "QuestHelper" then
56 addon
:OnInit(); -- initialize the config window and LDB entry
59 function addon
:OnInit()
60 addonTable
.Profile_OnInit_Start
= GetTime();
61 self
:GenerateQHLocales();
62 self
.Locale
:SetCurrentLocale(GetLocale());
63 self
.Version
= GetAddOnMetadata("QuestHelper", "Version");
64 self
:GenerateOptions();
67 addonTable
.Profile_OnInit_Stop
= GetTime();
70 function addon
:SetupGUI()
71 LibStub("AceConfigRegistry-3.0"):RegisterOptionsTable("QuestHelper", addon
.Options
);
72 local lib
= LibStub("AceConfigDialog-3.0");
73 addon
.OptionsFrames
= {};
74 if addon
.Options
.args
.Error
then -- version < targetVersion
75 addon
.OptionsFrames
.Global
= lib
:AddToBlizOptions("QuestHelper", "QuestHelper", nil, "Error");
78 addon
.OptionsFrames
.Global
= lib
:AddToBlizOptions("QuestHelper", "QuestHelper", nil, "Global");
79 addon
.OptionsFrames
.Route
= lib
:AddToBlizOptions("QuestHelper", "Route", "QuestHelper", "RouteOptions");
80 addon
.OptionsFrames
.Interface
= lib
:AddToBlizOptions("QuestHelper", "Interface", "QuestHelper", "InterfaceOptions");
81 addon
.OptionsFrames
.Plugins
= lib
:AddToBlizOptions("QuestHelper", "Plugins", "QuestHelper", "Plugins");
84 function addon
:SetupLDB()
87 icon
= "Interface\\QuestFrame\\UI-QuestLog-BookIcon",
88 label
= "QuestHelper",
89 tocname
= "QuestHelper",
90 OnClick
= function(self
, button
)
91 if QuestHelper_Pref
['hide'] then
92 QuestHelper
:ToggleHide();
95 if button
== "LeftButton" then
96 if IsShiftKeyDown() then
99 QuestHelper
:ToggleHide();
105 OnTooltipShow
= function(tooltip
)
106 local theme
= QuestHelper
:GetColourTheme();
107 local L
= addon
.Locale
108 tooltip
:AddLine("QuestHelper v" .. (GetAddOnMetadata("QuestHelper", "Version")) .. ", Config v" .. addon
.Version
, unpack(theme
.tooltip
));
109 tooltip
:AddLine(QHFormat("QH_BUTTON_TOOLTIP1", QHText(QuestHelper_Pref
.hide
and "QH_BUTTON_SHOW" or "QH_BUTTON_HIDE")), unpack(theme
.tooltip
));
110 if not QuestHelper_Pref
.hide
then
111 tooltip
:AddLine(L
["TooltipOpenConfig"], unpack(theme
.tooltip
));
112 tooltip
:AddLine(L
["IncompleteToggleTooltip"], unpack(theme
.tooltip
));
116 ldb
:NewDataObject("QuestHelper", self
.dataObject
);
119 function addon
:ShowGUI()
120 InterfaceOptionsFrame_OpenToCategory(self
.OptionsFrames
.Plugins
);
121 InterfaceOptionsFrame_OpenToCategory(self
.OptionsFrames
.Global
);
124 function addon
:GenerateOptions()
125 local L
= addon
.Locale
;
129 name
= "QuestHelper",
131 return QuestHelper_Pref
[i
[#i]]
;
134 QuestHelper_Pref
[i
[#i]]
= v
;
140 name
= L
["GlobalOptionsName"],
141 desc
= L
["GlobalOptionsDesc"],
142 disabled
= function()
143 return QuestHelper_Pref
['hide'];
149 name
= L
["GlobalEnableName"],
150 desc
= L
["GlobalEnableDesc"],
153 return not QuestHelper_Pref
['hide'];
156 QuestHelper_Pref
['hide'] = not v
;
158 if QuestHelper
.MapButton
then
159 QuestHelper
.MapButton
:GetNormalTexture():SetDesaturated(QuestHelper_Pref
['hide']);
161 if QuestHelper_Pref
['hide'] then
162 if QuestHelper_Pref
['track'] then
163 QusetHelper
:HideTracker();
165 QuestHelper
.map_overlay
:Hide();
167 if QuestHelper_Pref
['track'] then
168 QuestHelper
:ShowTracker();
170 QuestHelper
.map_overlay
:Show();
171 QuestHelper
.minimap_marker
:Show();
178 name
= L
["PerfName"],
179 desc
= L
["PerfDesc"],
185 name
= L
["PerfRouteName"],
186 desc
= L
["PerfRouteDesc"],
191 disabled
= function()
192 return QuestHelper_Pref
['hide'];
195 return QuestHelper_Pref
['perf_scale_2'];
198 QuestHelper_Pref
['perf_scale_2'] = v
;
204 name
= L
["PerfLoadName"],
205 desc
= L
["PerfLoadDesc"],
211 return QuestHelper_Pref
['perfload_scale'];
214 QuestHelper_Pref
['perfload_scale'] = v
;
223 name
= L
["ActionsName"],
224 desc
= L
["ActionsDesc"],
229 name
= L
["ActionsHiddenName"],
230 desc
= L
["ActionsHiddenDesc"],
238 name
= L
["ActionsIncompName"],
239 desc
= L
["ActionsIncompDesc"],
247 name
= L
["ActionsPurgeName"],
248 desc
= L
["ActionsPurgeDesc"],
250 if not StaticPopupDialogs
["QHC_Purge_Dialog"] then
251 StaticPopupDialogs
["QHC_Purge_Dialog"] = {
252 text
= L
["ActionsPurgeDialogText"],
253 button1
= L
["ActionsDialogPurge"],
254 button2
= L
["ActionsDialogCancel"],
255 OnAccept
= function()
256 QuestHelper
:Purge(nil, true); -- force a purge
262 StaticPopup_Show("QHC_Purge_Dialog");
268 name
= L
["ActionsResetName"],
269 desc
= L
["ActionsResetDesc"],
271 if not StaticPopupDialogs
["QHC_Reset_Dialog"] then
272 StaticPopupDialogs
["QHC_Reset_Dialog"] = {
273 text
= L
["ActionsResetDialogText"],
274 button1
= L
["ActionsDialogReset"],
275 button2
= L
["ActionsDialogCancel"],
276 OnAccept
= function()
277 QuestHelper
.purge_code
= 'asdf'; -- hack a 'force' parameter
278 QuestHelper
:HardReset('asdf');
284 StaticPopup_Show("QHC_Reset_Dialog");
290 name
= L
["ActionsSubmitName"],
291 desc
= L
["ActionsSubmitDesc"],
293 QuestHelper
:Submit();
299 name
= L
["ActionsChangesName"],
300 desc
= L
["ActionsChangesDesc"],
302 QuestHelper
:ChangeLog();
311 name
= L
["AdditionalInfoName"],
312 desc
= L
["AdditionalInfoDesc"],
317 name
= L
["InfoTooltipName"],
318 desc
= L
["InfoTooltipDesc"],
320 return QuestHelper_Pref
['tooltip'];
323 QuestHelper_Pref
['tooltip'] = v
;
329 name
= L
["InfoMetricName"],
330 desc
= L
["InfoMetricDesc"],
336 local v
= QuestHelper_Pref
['metric'];
344 QuestHelper_Pref
['metric'] = (v
== 'meters' and true) or false;
350 name
= L
["InfoFlightName"],
351 desc
= L
["InfoFlightDesc"],
353 return QuestHelper_Pref
['flight_time'];
356 QuestHelper_Pref
['flight_time'] = v
;
362 name
= L
["InfoTravelName"],
363 desc
= L
["InfoTravelDesc"],
365 return QuestHelper_Pref
['travel_time'];
368 QuestHelper_Pref
['travel_time'] = v
;
374 name
= L
["MapButtonName"],
375 desc
= L
["MapButtonDesc"],
377 return QuestHelper_Pref
['map_button'];
380 QuestHelper_Pref
['map_button'] = v
;
381 if QuestHelper_Pref
['map_button'] then
382 QuestHelper
:InitMapButton();
384 QuestHelper
:HideMapButton();
391 name
= L
["InfoMiniName"],
392 desc
= L
["InfoMiniDesc"],
398 return QuestHelper_Pref
['mini_opacity'];
401 QuestHelper_Pref
['mini_opacity'] = v
;
411 name
= L
["InterfaceOptionsName"],
412 desc
= L
["InterfaceOptionsDesc"],
413 disabled
= function()
414 return QuestHelper_Pref
['hide'];
418 type = "description",
420 name
= L
["InterfaceIntro"]
426 name
= L
["ArrowOptionsName"],
427 desc
= L
["ArrowOptionsDesc"],
432 name
= L
["ArrowEnableName"],
433 desc
= L
["ArrowEnableDesc"],
435 return QuestHelper_Pref
['arrow'];
438 QuestHelper_Pref
['arrow'] = v
;
444 name
= L
["ArrowLockedName"],
445 desc
= L
["ArrowLockedDesc"],
446 disabled
= function()
447 return not QuestHelper_Pref
['arrow'] or QuestHelper_Pref
['hide'];
450 return QuestHelper_Pref
['arrow_locked'];
453 QuestHelper_Pref
['arrow_locked'] = v
;
459 name
= L
["ArrowScaleName"],
460 desc
= L
["ArrowScaleDesc"],
465 disabled
= function()
466 return not QuestHelper_Pref
['arrow'] or QuestHelper_Pref
['hide'];
469 return (QuestHelper_Pref
['arrow_scale'] == nil) and 1 or QuestHelper_Pref
['arrow_scale']; -- arrow_scale == nil ? 1 : arrow_scale
472 QH_Arrow_SetScale(v
);
478 name
= L
["ArrowTextSizeName"],
479 desc
= L
["ArrowTextSizeDesc"],
484 disabled
= function()
485 return not QuestHelper_Pref
['arrow'] or QuestHelper_Pref
['hide'];
488 return (QuestHelper_Pref
['arrow_textsize'] == nil) and 1 or QuestHelper_Pref
['arrow_textsize'];
491 QH_Arrow_SetTextScale(v
);
497 name
= L
["ArrowResetName"],
498 desc
= L
["ArrowResetDesc"],
499 disabled
= function()
500 return not QuestHelper_Pref
['arrow'] or QuestHelper_Pref
['hide'];
512 name
= L
["TrackerOptionsName"],
513 desc
= L
["TrackerOptionsDesc"],
518 name
= L
["TrackerEnableName"],
519 desc
= L
["TrackerEnableDesc"],
521 return QuestHelper_Pref
['track'];
524 QuestHelper_Pref
['track'] = v
;
525 if QuestHelper_Pref
['track'] then
526 QuestHelper
:ShowTracker();
528 QuestHelper
:HideTracker();
535 name
= L
["TrackerMinimizeName"],
536 desc
= L
["TrackerMinimizeDesc"],
537 disabled
= function()
538 return not QuestHelper_Pref
['track'] or QuestHelper_Pref
['hide'];
541 return QuestHelper_Pref
['track_minimized'];
544 QuestHelper_Pref
['track_minimized'] = v
;
545 if QuestHelper_Pref
['track_minimized'] then
546 QuestHelperQuestWatchFrameMinimizeButton
:GetScript("OnLeave")();
547 QuestHelper
.tracker
:Hide();
549 QuestHelperQuestWatchFrameMinimizeButton
:GetScript("OnLeave")();
550 QuestHelper
.tracker
:Show();
557 name
= L
["TrackScaleName"],
558 desc
= L
["TrackScaleDesc"],
563 disabled
= function()
564 return not QuestHelper_Pref
['track'] or QuestHelper_Pref
['hide'];
567 return QuestHelper_Pref
['track_scale']; -- default to 1 if arrow_scale is nil
570 QuestHelper_Pref
['track_scale'] = v
;
571 QuestHelper
.tracker
:SetScale(QuestHelper_Pref
.track_scale
)
577 name
= L
["TrackLinesName"],
578 desc
= L
["TrackLinesDesc"],
582 disabled
= function()
583 return not QuestHelper_Pref
['track'] or QuestHelper_Pref
['hide'];
586 return QuestHelper_Pref
['track_size'];
589 QuestHelper_Pref
['track_size'] = v
;
596 name
= L
["TrackerLevelName"],
597 desc
= L
["TrackerLevelDesc"],
599 disabled
= function()
600 return not QuestHelper_Pref
['track'] or QuestHelper_Pref
['hide'];
603 return QuestHelper_Pref
['track_level'];
606 QuestHelper_Pref
['track_level'] = v
;
607 QH_UpdateQuests(true)
614 name
= L
["TrackerQColorName"],
615 desc
= L
["TrackerQColorDesc"],
617 disabled
= function()
618 return not QuestHelper_Pref
['track'];
621 return QuestHelper_Pref
['track_qcolour'];
624 QuestHelper_Pref
['track_qcolour'] = v
;
625 QH_UpdateQuests(true)
632 name
= L
["TrackerOColorName"],
633 desc
= L
["TrackerOColorDesc"],
635 disabled
= function()
636 return not QuestHelper_Pref
['track'] or QuestHelper_Pref
['hide'];
639 return QuestHelper_Pref
['track_ocolour'];
642 QuestHelper_Pref
['track_ocolour'] = v
;
643 QH_UpdateQuests(true)
653 name
= L
["MapOptionsName"],
654 desc
= L
["MapOptionsDesc"],
659 name
= L
["MapBlizzMapName"],
660 desc
= L
["MapBlizzMapDesc"],
662 return not UpdateQuestMapPOI
; -- likely removed for WoW
665 return QuestHelper_Pref
['blizzmap'];
668 QuestHelper_Pref
['blizzmap'] = v
;
674 name
= L
["MapAntsName"],
675 desc
= L
["MapAntsDesc"],
677 return QuestHelper_Pref
['show_ants'];
680 QuestHelper_Pref
['show_ants'] = v
;
686 name
= L
["MapZonesName"],
687 desc
= L
["MapZonesDesc"],
689 return QuestHelper_Pref
['zones'] == 'next';
692 QuestHelper_Pref
['zones'] = (v
and 'next') or 'none';
702 name
= L
["MapScaleName"],
703 desc
= L
["MapScaleDesc"],
705 return QuestHelper_Pref
['scale'];
708 QuestHelper_Pref
['scale'] = v
;
718 name
= L
["RouteOptionsName"],
719 desc
= L
["RouteOptionsDesc"],
720 disabled
= function()
721 return QuestHelper_Pref
['hide'];
725 type = "description",
727 name
= L
["RouteIntro"],
732 name
= L
["RouteSoloName"],
733 desc
= L
["RouteSoloDesc"],
735 return QuestHelper_Pref
['solo'];
738 QuestHelper_Pref
['solo'] = v
;
739 if QuestHelper_Pref
['solo'] and QuestHelper_Pref
['share'] then
740 QuestHelper
:SetShare(false);
741 elseif QuestHelper_Pref
['share'] then
742 QuestHelper
:SetShare(true);
749 name
= L
["RouteShareName"],
750 desc
= L
["RouteShareDesc"],
751 disabled
= function()
752 return QuestHelper_Pref
['solo'] or QuestHelper_Pref
['hide'];
755 return QuestHelper_Pref
['share'];
758 QuestHelper_Pref
['share'] = v
;
759 if QuestHelper_Pref
['share'] and not QuestHelper_Pref
['solo'] then
760 QuestHelper
:SetShare(true);
761 elseif QuestHelper_Pref
['solo'] then
762 QusetHelper
:SetShare(false);
770 name
= L
["RouteFiltersName"],
771 desc
= L
["RouteFiltersDesc"],
776 name
= L
["FilterLevelName"],
777 desc
= L
["FilterLevelDesc"],
779 return QuestHelper_Pref
['filter_level'];
782 QuestHelper_Pref
['filter_level'] = v
;
783 QH_Route_Filter_Rescan("filter_quest_level");
789 name
= L
["FilterLevelOffsetName"],
790 desc
= L
["FilterLevelOffsetDesc"],
795 return QuestHelper_Pref
['level'];
798 QuestHelper_Pref
['level'] = v
;
799 QH_Route_Filter_Rescan("filter_quest_level");
801 disabled
= function()
802 return not QuestHelper_Pref
['filter_level'] or QuestHelper_Pref
['hide'];
808 name
= L
["FilterGroupName"],
809 desc
= L
["FilterGroupDesc"],
811 return QuestHelper_Pref
['filter_group'];
814 QuestHelper_Pref
['filter_group'] = v
;
815 QH_Route_Filter_Rescan("filter_quest_group");
821 name
= L
["FilterGroupSizeName"],
822 desc
= L
["FilterGroupSizeDesc"],
827 return QuestHelper_Pref
['filter_group_param'];
830 QuestHelper_Pref
['filter_group_param'] = v
;
831 QH_Route_Filter_Rescan("filter_quest_level");
833 disabled
= function()
834 return not QuestHelper_Pref
['filter_group'] or QuestHelper_Pref
['hide'];
840 name
= L
["FilterZoneName"],
841 desc
= L
["FilterZoneDesc"],
844 return QuestHelper_Pref
['filter_zone'];
847 QuestHelper_Pref
['filter_zone'] = v
;
848 QH_Route_Filter_Rescan("filter_zone");
854 name
= L
["FilterDoneName"],
855 desc
= L
["FilterDoneDesc"],
858 return QuestHelper_Pref
['filter_done'];
861 QuestHelper_Pref
['filter_done'] = v
;
862 QH_Route_Filter_Rescan("filter_quest_done");
868 name
= L
["FilterBlockedName"],
869 desc
= L
["FilterBlockedDesc"],
872 return QuestHelper_Pref
['filter_blocked'];
875 QuestHelper_Pref
['filter_blocked'] = v
;
876 QH_Route_Filter_Rescan("filter_blocked");
882 name
= L
["FilterWatchedName"],
883 desc
= L
["FilterWatchedDesc"],
886 return QuestHelper_Pref
['filter_watched'];
889 QuestHelper_Pref
['filter_watched'] = v
;
890 QH_Route_Filter_Rescan("filter_quest_watched");
896 name
= L
["FilterWGName"],
897 desc
= L
["FilterWGDesc"],
900 return QuestHelper_Pref
['filter_wintergrasp'];
903 QuestHelper_Pref
['filter_wintergrasp'] = v
;
904 QH_Route_Filter_Rescan("filter_quest_wintergrasp");
910 name
= L
["FilterRaidName"],
911 desc
= L
["FilterRaidDesc"],
914 return QuestHelper_Pref
['filter_raid_accessible'];
917 QuestHelper_Pref
['filter_raid_accessible'] = v
;
918 QH_Route_Filter_Rescan("filter_quest_raid_accessible");
928 name
= L
["PluginOptionsName"],
929 desc
= L
["PluginOptionsDesc"],
930 disabled
= function()
931 return QuestHelper_Pref
['hide'];
936 type = "description",
937 name
= L
["PluginIntro"],
943 name
= L
["PluginCartographerName"],
944 desc
= L
["PluginCartographerDesc"],
945 disabled
= function()
946 return not Cartographer_Waypoints
or QuestHelper_Pref
['hide'];
952 name
= L
["CartographerArrowName"],
953 desc
= L
["CartographerArrowDesc"],
955 return QuestHelper_Pref
['cart_wp_new'];
958 QuestHelper_Pref
['cart_wp_new'] = v
;
959 if QuestHelper_Pref
['cart_wp_new'] then
960 QuestHelper
:EnableCartographer();
962 QuestHelper
:DisableCartographer();
972 name
= L
["PluginTomTomName"],
973 desc
= L
["PluginTomTomDesc"],
974 disabled
= function()
975 return not TomTom
or QuestHelper_Pref
['hide'];
981 name
= L
["TomTomArrowName"],
982 desc
= L
["TomTomArrowDesc"],
984 return QuestHelper_Pref
['tomtom_wp_new'];
987 QuestHelper_Pref
['tomtom_wp_new'] = v
;
988 if QuestHelper_Pref
['tomtom_wp_new'] then
989 QuestHelper
:EnableTomTom();
991 QuestHelper
:DisableTomTom();
1003 function addon
:GenerateQHLocales()
1005 for loc
, tbl
in pairs(QuestHelper_Translations
) do
1006 if tbl
.LOCALE_NAME
and tbl
.LOCALE_NAME
~= '???' then
1007 l
[loc
] = tbl
.LOCALE_NAME
;
1010 addon
.QHLocales
= l
;
1018 error("QuestHelperConfig did not load properly.");
1026 function locale
:SetCurrentLocale(loc
)
1027 if not loc
then -- reset locale
1028 loc
= GetLocale(); -- default to client locale
1030 if self
.Data
[loc
] then -- only change if data is available
1031 self
.CurLocale
= loc
;
1036 loc: locale to register data for
1037 data: key-value pairs to register
1038 force: clear existing data before adding new data
1040 function locale
:RegisterData(loc
, data
, force
)
1041 local d
= self
.Data
[loc
];
1046 self
.Data
[loc
] = {};
1049 for k
, v
in pairs(data
) do -- add the new data
1054 local function locale__index(t
, k
)
1055 local d
, l
= t
.Data
, t
.CurLocale
;
1056 if d
[l
] and d
[l
][k
] then
1058 elseif d
["enUS"] and d
["enUS"][k
] then
1059 return d
["enUS"][k
];
1065 local function locale__newindex(t
, k
, v
)
1066 local d
, l
= t
.Data
, t
.CurLocale
;
1076 setmetatable(locale
, {
1077 __index
= locale__index
,
1078 __newindex
= locale__newindex
,
1081 addon
.Locale
= locale
;
1087 -- this is pretty dang grim isn't it
1088 if not QHConfig
or not QHConfig
.Locale
then
1089 return; -- if we made it this far, one or more errors are already shown
1090 -- error("QuestHelperConfig did not load properly.");
1093 local l
= QHConfig
.Locale
;
1095 l
:RegisterData("enUS", {
1096 ["GlobalOptionsName"] = "Interface options",
1097 ["GlobalOptionsDesc"] = "Configure QuestHelper interface options",
1098 ["FilterBlockedName"] = "Blocked Objectives",
1099 ["FilterBlockedDesc"] = "Hide objectives that rely on incomplete objectives, such as quest turn-ins for incomplete quests",
1100 ["FilterDoneName"] = "Complete Objectives",
1101 ["FilterDoneDesc"] = "Only show objectives for complete quests",
1102 ["FilterLevelName"] = "Quest level",
1103 ["FilterLevelDesc"] = "Filter quests that are higher level than you",
1104 ["FilterGroupName"] = "Group Quests",
1105 ["FilterGroupDesc"] = "Filters objectives that require groups",
1106 ["FilterWatchedName"] = "Watched quests",
1107 ["FilterWatchedDesc"] = "Only show quests tracked in the Quest Log",
1108 ["FilterZoneName"] = "Zone filter",
1109 ["FilterZoneDesc"] = "Filter objectives outside the current zone",
1110 ["TooltipOpenConfig"] = "Right click: Open configuration window",
1111 ["GlobalEnableName"] = "Enable QuestHelper",
1112 ["GlobalEnableDesc"] = "Enable/Disable QuestHelper",
1113 ["PerfName"] = "Performance Options",
1115 ["PerfRouteName"] = "Routing Performance",
1116 ["PerfRouteDesc"] = "Percentage of default resources to use for calculating the route",
1117 ["PerfLoadName"] = "Loading Performance",
1118 ["PerfLoadDesc"] = "Percentage of default resources to use when loading quest and achievement data",
1119 ["ArrowOptionsName"] = "Waypoint Arrow Options",
1120 ["ArrowOptionsDesc"] = "",
1121 ["ArrowEnableName"] = "Enable",
1122 ["ArrowEnableDesc"] = "Show/Hide the waypoint arrow",
1123 ["ArrowLockedName"] = "Lock",
1124 ["ArrowLockedDesc"] = "Lock the waypoint arrow in place",
1125 ["ArrowScaleName"] = "Size",
1126 ["ArrowScaleDesc"] = "Size of the waypoint arrow (100% is normal size)",
1127 ["ArrowTextSizeName"] = "Text Size",
1128 ["ArrowTextSizeDesc"] = "Size of waypoint arrow text (100% is normal size)",
1129 ["TrackerOptionsName"] = "Quest Tracker Options",
1130 ["TrackerOptionsDesc"] = "",
1131 ["TrackerEnableName"] = "Enable",
1132 ["TrackerEnableDesc"] = "Show/Hide the QuestHelper quest tracker",
1133 ["TrackerMinimizeName"] = "Minimize",
1134 ["TrackerMinimizeDesc"] = "Minimize the QuestHelper quest tracker",
1135 ["TrackScaleName"] = "Quest Tracker Size",
1136 ["TrackScaleDesc"] = "Size of the quest tracker (100% is normal size)",
1137 ["TrackerLevelName"] = "Quest Level",
1138 ["TrackerLevelDesc"] = "Show/Hide quest level in the tracker",
1139 ["TrackerQColorName"] = "Quest Color",
1140 ["TrackerQColorDesc"] = "Color quest names in the tracker based on level",
1141 ["TrackerOColorName"] = "Objective Color",
1142 ["TrackerOColorDesc"] = "Color quest objectives based on progress",
1143 ["RouteOptionsName"] = "Route Calculation Options",
1144 ["RouteOptionsDesc"] = "Options to control route calculation",
1145 ["RouteIntro"] = "Options to control route calculation",
1146 ["InterfaceIntro"] = "Options to control how QuestHelper interacts with the interface",
1147 ["RouteSoloName"] = "Solo mode",
1148 ["RouteSoloDesc"] = "Ignore party members and disable communications with party members.",
1149 ["RouteShareName"] = "Objective Sharing",
1150 ["RouteShareDesc"] = "Inform your party members of objectives you have and have not completed.",
1151 ["RouteFiltersName"] = "Objective Filter Options",
1152 ["RouteFiltersDesc"] = "",
1153 ["FilterGroupSizeName"] = "Group size",
1154 ["FilterGroupSizeDesc"] = "Threshold party size for filtering group quests",
1155 ["FilterLevelOffsetName"] = "Level difference",
1156 ["FilterLevelOffsetDesc"] = "Threshold level difference for filtering quests",
1157 ["FilterRaidName"] = "Raid Accessible Quests",
1158 ["FilterRaidDesc"] = "Hide non-raid quests while in a raid group",
1159 ["FilterWGName"] = "Lake Wintergrasp Quests",
1160 ["FilterWGDesc"] = "Hide PvP-quests for Lake Wintergrasp while outside Lake Wintergrasp",
1161 ["PluginOptionsName"] = "Plugin Options",
1162 ["PluginOptionsDesc"] = "",
1163 ["PluginIntro"] = "Options for 3rd party addons. 3rd party addons need to be installed for these options to be available",
1164 ["PluginCartographerName"] = "Cartographer options",
1165 ["PluginCartographerDesc"] = "",
1166 ["CartographerArrowName"] = "Waypoint Arrow",
1167 ["CartographerArrowDesc"] = "Use the Cartographer Waypoint Arrow instead of the built-in QuestHelper arrow",
1168 ["PluginTomTomName"] = "TomTom options",
1169 ["PluginTomTomDesc"] = "",
1170 ["TomTomArrowName"] = "Waypoint Arrow",
1171 ["TomTomArrowDesc"] = "Use the TomTom Waypoint Arrow instead of the built-in QuestHelper arrow",
1172 ["MapOptionsName"] = "Map Options",
1173 ["MapOptionsDesc"] = "",
1174 ["MapAntsName"] = "Ant Trails",
1175 ["MapAntsDesc"] = "Show ant trails on the world map",
1176 ["MapScaleName"] = "Map Icon Size",
1177 ["MapScaleDesc"] = "Size of icons, ant trails, etc on the world map and minimap (100 is normal size)",
1178 ["AdditionalInfoName"] = "Miscellaneous options",
1179 ["AdditionalInfoDesc"] = "",
1180 ["InfoTooltipName"] = "Tooltip info",
1181 ["InfoTooltipDesc"] = "Show quest progress in the tooltips of monsters, items, etc",
1182 ["InfoMetricName"] = "Distance metric",
1183 ["InfoMetricDesc"] = "Unit of measure to use when calculating distances",
1184 ["InfoFlightName"] = "Show flight times",
1185 ["InfoFlightDesc"] = "Show an estimated flight time onscreen while flying",
1186 ["InfoTravelName"] = "Show travel times",
1187 ["InfoTravelDesc"] = "Show an estimated travel time in objective tooltips",
1188 ["MapButtonName"] = "World map button",
1189 ["MapButtonDesc"] = "Show the QuestHelper button on the world map",
1190 ["InfoMiniName"] = "Minimap item transparency",
1191 ["InfoMiniDesc"] = "Adjust the transparency of QuestHelper items on the minimap",
1192 ["MapBlizzMapName"] = "Blizzard map points",
1193 ["MapBlizzMapDesc"] = "Show the built-in Blizzard map points",
1194 ["MapZonesName"] = "Map zones",
1195 ["MapZonesDesc"] = "Highlight areas of the world map where the current objective is located",
1196 ["IncompleteToggleTooltip"] = "Shift+Left Click: Toggle incomplete quest start locations",
1197 ["TrackLinesName"] = "Objectives shown",
1198 ["TrackLinesDesc"] = "Change the number of objectives shown in the tracker. Watched quests will always be shown in the tracker.",
1199 ["ErrorName"] = "This version of QuestHelperConfig is designed for a newer version of the QuestHelper addon. Please visit Curse or WoW Interface to update your version of QuestHelper.\nCurrent QuestHelper version: %s.\nTarget QuestHelper version: %s.",
1200 ["ArrowResetName"] = "Reset arrow position",
1201 ["ArrowResetDesc"] = "Unlock the waypoint arrow and bring it to the center of the screen. Use this if you can't find the arrow onscreen.",
1202 ["ActionsName"] = "Useful commands",
1203 ["ActionsDesc"] = "",
1204 ["ActionsHiddenName"] = "/qh hidden",
1205 ["ActionsHiddenDesc"] = "Display a list of hidden objectives and why those objectives are hidden.",
1206 ["ActionsIncompName"] = "/qh incomplete",
1207 ["ActionsIncompDesc"] = "Toggle map markers for incomplete quests.",
1208 ["ActionsPurgeName"] = "/qh purge",
1209 ["ActionsPurgeDesc"] = "Purge the local database of collected information. Deletes all collected data.\nPlease submit your data to qhaddon@gmail.com before performing a purge.",
1210 ["ActionsPurgeDialogText"] = "Are you sure you want to purge the local database?\nThis will delete all collected data.\nEnter /qh submit for instructions on how to submit your collected data.",
1211 ["ActionsResetName"] = "/qh hardreset",
1212 ["ActionsResetDesc"] = "Reset QuestHelper to \"factory default\" settings. Deletes all collected data and preferences.\nPlease submit your data to qhaddon@gmail.com before performing a hard reset.",
1213 ["ActionsResetDialogText"] = "Are you sure you want to reset QuestHelper?\nThis will delete all collected data and preferences.\nEnter /qh submit for instructions on how to submit your collected data.",
1214 ["ActionsDialogPurge"] = "Purge",
1215 ["ActionsDialogCancel"] = "Cancel",
1216 ["ActionsDialogReset"] = "Reset",
1217 ["ActionsChangesName"] = "/qh changes",
1218 ["ActionsChangesDesc"] = "View the changelog for the current version.",
1219 ["InterfaceOptionsName"] = "",
1220 ["InterfaceOptionsDesc"] = "",
1221 ["ActionsSubmitName"] = "/qh submit",
1222 ["ActionsSubmitDesc"] = "View information on how to submit collected data.",
1228 if not QHConfig
or not QHConfig
.Locale
then
1229 return; -- if we made it this far, one or more errors are already shown
1230 -- error("QuestHelperConfig did not load properly.");
1233 local l
= QHConfig
.Locale
;
1236 L
["ActionsDialogCancel"] = "Abbrechen"
1237 L
["AdditionalInfoName"] = "Verschiedene Einstellungen"
1238 L
["ArrowEnableDesc"] = "Wegepfeil zeigen/verbergen"
1239 L
["ArrowEnableName"] = "ein"
1240 L
["ArrowLockedDesc"] = "Wegpfeil sperren"
1241 L
["ArrowLockedName"] = "gesperrt"
1242 L
["ArrowOptionsName"] = "Wegepfeil Einstellungen"
1243 L
["ArrowScaleDesc"] = "Wegpfeilgr\195\182\195\159e (100% ist Normalgr\195\182\195\159e)"
1244 L
["ArrowScaleName"] = "Gr\195\182\195\159e"
1245 L
["ArrowTextSizeDesc"] = "Gr\195\182\195\159e des Wegpfeiltextes (100% ist Normalgr\195\182\195\159e)"
1246 L
["ArrowTextSizeName"] = "Textgr\195\182\195\159e"
1247 L
["CartographerArrowDesc"] = "Verwende Wegpfeil von Cartograpfer anstelle des eingebauten QuestHelper-Wegpfeils"
1248 L
["CartographerArrowName"] = "Wegepunkt Pfeil"
1249 L
["FilterGroupName"] = "Gruppenquests"
1250 L
["FilterGroupSizeName"] = "Gruppengr\195\182\195\159e"
1251 L
["FilterLevelDesc"] = "Quests ausblenden, die ein h\195\182heres Level haben als man selbst"
1252 L
["FilterLevelName"] = "Questlevel"
1253 L
["FilterLevelOffsetName"] = "Levelunterschied"
1256 l
:RegisterData("deDE", L
);