-- Locales/enUS.lua -- English (base locale – all keys must be defined here) local L = LibStub("AceLocale-3.0"):NewLocale("HailMaryGuildTools", "enUS", true) -- true = this is the default locale; missing keys in other locales fall back here -- ── Addon general ──────────────────────────────────────────── L["ADDON_TITLE"] = "Hail Mary Guild Tools" L["ADDON_SUBTITLE"] = "Interrupt & Raid Cooldown Tracker v1.0" L["ADDON_LOADED"] = "|cff00aaffHail Mary Guild Tools|r loaded. /hmgt for options." L["FRAMES_LOCKED"] = "Frames locked." L["FRAMES_UNLOCKED"] = "Frames unlocked." L["DEMO_MODE_ACTIVE"] = "Demo mode active." L["TEST_MODE_ACTIVE"] = "Test mode active." -- ── Slash commands ─────────────────────────────────────────── L["SLASH_HINT"] = "/hmgt – options | /hmgt lock/unlock | /hmgt demo | /hmgt test | /hmgt version | /hmgt debugdump [lines]" L["VERSION_MISMATCH_CHAT"] = "Version mismatch with %s: %s" L["VERSION_MISMATCH_POPUP"] = "HailMaryGuildTools mismatch with %s.\n%s\nSource: %s" L["VERSION_WINDOW_TITLE"] = "HMGT Version Check" L["VERSION_WINDOW_MESSAGE"] = "A new version of Hail Mary Guild Tools is available." L["VERSION_WINDOW_DETAIL"] = "Detected via %s from %s.\n%s" L["VERSION_WINDOW_NO_MISMATCH"] = "No newer HMGT version has been detected in your current group." L["VERSION_WINDOW_CURRENT"] = "Current version: %s | Protocol: %s" L["VERSION_WINDOW_DEBUG_ONLY"] = "HMGT: /hmgt version is only available while debug mode is enabled." L["VERSION_WINDOW_DEVTOOLS_ONLY"] = "HMGT: /hmgt version is only available while developer tools are enabled." -- ── Options: general ───────────────────────────────────────── L["OPT_GENERAL"] = "General" L["OPT_DESC"] = "Interrupt & Raid Cooldown Tracker for groups and raids.\n\n" .. "|cffffff00/hmgt|r – open options\n" .. "|cffffff00/hmgt lock|r – lock all frames\n" .. "|cffffff00/hmgt unlock|r – unlock all frames\n" .. "|cffffff00/hmgt demo|r – demo mode (dummy data)\n" .. "|cffffff00/hmgt test|r – test mode (your own spells)\n\n" .. "Communication uses AceComm (addon messages). All group members need the addon." L["OPT_LOCK_ALL"] = "Lock all frames" L["OPT_UNLOCK_ALL"] = "Unlock all frames" L["OPT_DEMO_MODE"] = "Demo mode" L["OPT_DEMO_MODE_DESC"] = "Show demo data in the trackers" L["OPT_TEST_MODE"] = "Test mode" L["OPT_TEST_MODE_DESC"] = "Show your own spells in all trackers" L["OPT_DEBUG_MODE"] = "Debug mode" L["OPT_DEBUG_MODE_DESC"] = "Show debug information for important addon actions in a separate debug console" L["OPT_DEBUG_LEVEL"] = "Debug level" L["OPT_DEBUG_LEVEL_ERROR"]= "Errors only" L["OPT_DEBUG_LEVEL_INFO"] = "Info (tracked CDs)" L["OPT_DEBUG_LEVEL_VERBOSE"] = "Verbose (+ power spend)" L["OPT_DEBUG_SCOPE"] = "Module filter" L["OPT_DEBUG_SCOPE_ALL"] = "All modules" L["OPT_DEBUG_OPEN"] = "Open debug console" L["OPT_DEBUG_CLEAR"] = "Clear debug log" L["OPT_DEBUG_SELECT_ALL"] = "Select all" L["DEBUG_WINDOW_TITLE"] = "HMGT Debug Console" L["DEBUG_WINDOW_HINT"] = "Mouse wheel scrolls, Ctrl+A selects all, Ctrl+C copies selected text" L["OPT_DEVTOOLS_MODE"] = "Developer tools" L["OPT_DEVTOOLS_MODE_DESC"] = "Enable the structured developer event console." L["OPT_DEVTOOLS_LEVEL"] = "Capture level" L["OPT_DEVTOOLS_LEVEL_ERROR"] = "Errors" L["OPT_DEVTOOLS_LEVEL_TRACE"] = "Trace" L["OPT_DEVTOOLS_SCOPE"] = "Scope filter" L["OPT_DEVTOOLS_SCOPE_ALL"] = "All scopes" L["OPT_DEVTOOLS_OPEN"] = "Open developer console" L["OPT_DEVTOOLS_CLEAR"] = "Clear developer log" L["OPT_DEVTOOLS_SELECT_ALL"] = "Select all" L["OPT_DEVTOOLS_DISABLED"] = "HMGT: developer tools are not enabled." L["DEVTOOLS_WINDOW_TITLE"] = "HMGT Developer Tools" L["DEVTOOLS_WINDOW_HINT"] = "Structured developer events for the current session" L["OPT_SYNC_REMOTE_CHARGES"] = "Sync remote charges" L["OPT_SYNC_REMOTE_CHARGES_DESC"] = "Transmit charge information for cooldowns to group members" L["OPT_CHANGELOG"] = "Changelog" L["OPT_CHANGELOG_DESC"] = "Recent addon changes" L["OPT_CHANGELOG_VERSION"]= "Version" L["OPT_CHANGELOG_EMPTY"] = "No changelog entries available." L["OPT_PROFILES"] = "Profiles" L["OPT_TRACKER"] = "Tracker" L["OPT_TRACKERS"] = "Tracker Bars" L["OPT_TRACKERS_DESC"] = "Create tracker bars and bind them to one or more spell categories." L["OPT_TRACKER_ACTIONS"] = "Tracker actions" L["OPT_TRACKER_ACTIONS_DESC"] = "Global actions for all tracker frames." L["OPT_TRACKER_NAME"] = "Tracker name" L["OPT_TRACKER_CATEGORIES"] = "Categories" L["OPT_TRACKER_CATEGORIES_DESC"] = "Select which spell categories this tracker should display." L["OPT_TRACKER_TYPE"] = "Tracker type" L["OPT_TRACKER_TYPE_DESC"] = "Choose whether this tracker uses one shared frame or separate frames per group member." L["OPT_TRACKER_TYPE_NORMAL"] = "Normal tracker" L["OPT_TRACKER_TYPE_GROUP"] = "Group-based tracker" L["OPT_TRACKER_PER_MEMBER"] = "Create one frame per group member" L["OPT_TRACKER_PER_MEMBER_DESC"] = "Use separate tracker frames for each party member instead of a single shared tracker frame." L["OPT_INCLUDE_SELF_FRAME"] = "Create a frame for your own player too" L["OPT_INCLUDE_SELF_FRAME_DESC"] = "Also provision a dedicated frame for your own player on group-based trackers." L["OPT_ADD_TRACKER"] = "Add tracker" L["OPT_REMOVE_TRACKER"] = "Remove tracker" L["OPT_REMOVE_TRACKER_CONFIRM"] = 'Really remove tracker "%s"?' L["OPT_TRACKERS_EMPTY"] = "No tracker bars configured yet." L["OPT_TRACKED_SPELLS_DESC"] = "Changes here apply to all tracker bars that use the spell's categories." L["OPT_TRACKED_SPELLS_EMPTY"] = "No spells are currently tracked by your tracker bars." L["OPT_TRACKED_SPELLS_NO_MATCH"] = "No spells match the current filters." L["OPT_MAP"] = "Map" L["OPT_MAP_PLACEHOLDER"] = "Map module options will be available here." L["OPT_MAP_ENABLED"] = "Enable map overlay" L["OPT_MAP_ICON_SIZE"] = "Icon size" L["OPT_MAP_ALPHA"] = "Icon alpha" L["OPT_MAP_SHOW_LABELS"] = "Show labels" L["OPT_MAP_POI_SECTION"] = "Custom POIs" L["OPT_MAP_POI_MAPID"] = "Map ID" L["OPT_MAP_POI_X"] = "X (0-100)" L["OPT_MAP_POI_Y"] = "Y (0-100)" L["OPT_MAP_POI_LABEL"] = "Label" L["OPT_MAP_POI_CATEGORY"] = "Icon" L["OPT_MAP_POI_USE_CURRENT"] = "Use current position" L["OPT_MAP_POI_USE_CURRENT_DESC"] = "Fill map ID, X and Y from your current player position" L["OPT_MAP_POI_ADD"] = "Add POI" L["OPT_MAP_POI_UPDATE"] = "Update POI" L["OPT_MAP_POI_REMOVE_INDEX"] = "Remove index" L["OPT_MAP_POI_REMOVE"] = "Remove POI" L["OPT_MAP_POI_LIST"] = "Current POIs" L["OPT_MAP_POI_EMPTY"] = "No POIs configured." L["OPT_MAP_POI_SELECT_HINT"] = "Select a POI in the tree on the left to edit it." L["OPT_MAP_POI_CURRENT_SET"] = "HMGT: current position copied" L["OPT_MAP_POI_CURRENT_FAILED"] = "HMGT: could not determine current position" L["OPT_MAP_POI_ADDED"] = "HMGT: POI added" L["OPT_MAP_POI_ADD_FAILED"] = "HMGT: could not add POI" L["OPT_MAP_POI_UPDATED"] = "HMGT: POI updated" L["OPT_MAP_POI_UPDATE_FAILED"] = "HMGT: could not update POI" L["OPT_MAP_POI_REMOVED"] = "HMGT: POI removed" L["OPT_MAP_POI_REMOVE_FAILED"] = "HMGT: could not remove POI" L["OPT_GENERAL_SETTINGS"] = "General Settings" L["OPT_SHOW_MINIMAP_ICON"] = "Show Minimap Icon" L["OPT_COMMANDS"] = "Commands" L["OPT_MODULES"] = "Modules" L["OPT_MODULE_TRACKER"] = "Tracker" L["OPT_MODULE_BUFF_ENDING"] = "Aura Expiry" L["OPT_MODULE_AURA_EXPIRY"] = "Aura Expiry" L["OPT_MODULE_PERSONAL_AURAS"] = "Personal Auras" L["OPT_MODULE_MAP_OVERLAY"] = "Map Overlay" -- ── Options: tracker shared ─────────────────────────────────── L["OPT_SECTION_GENERAL"] = "General Settings" L["OPT_ENABLED"] = "Enabled" L["OPT_ENABLED_DESC"] = "Enable or disable this tracker" L["OPT_DISPLAY_MODE"] = "Display mode" L["OPT_DISPLAY_MODE_DESC"]= "Show as progress bars or icons" L["OPT_DISPLAY_BAR"] = "Progress bars" L["OPT_DISPLAY_ICON"] = "Icons" L["OPT_SHOW_SPELL_TOOLTIP"] = "Blizzard tooltip on bars" L["OPT_SHOW_SPELL_TOOLTIP_DESC"] = "Show the Blizzard spell tooltip when mousing over a progress bar" L["OPT_SHOW_READY_TEXT"] = "Show ready text" L["OPT_SHOW_CHARGES_ON_ICON"] = "Show charges on icon" L["OPT_SHOW_REMAINING_ON_ICON"] = "Show remaining time on icon" L["OPT_LOCKED"] = "Lock frame" L["OPT_LOCKED_DESC"] = "Prevent the frame from being moved" L["OPT_SHOW_NAME"] = "Show player names" L["OPT_CLASS_COLOR"] = "Use class colours" L["OPT_GROW_DIR"] = "Grow direction" L["OPT_GROW_DOWN"] = "Downward" L["OPT_GROW_UP"] = "Upward" L["OPT_SECTION_ANCHOR"] = "Anchor" L["OPT_ANCHOR_TO"] = "Anchor to" L["OPT_ANCHOR_TO_DESC"] = "Attach this frame to another frame or to the screen" L["OPT_ANCHOR_TARGET_UI"] = "Screen (UIParent)" L["OPT_ANCHOR_TARGET_CUSTOM"] = "Custom frame name" L["OPT_ANCHOR_CUSTOM_NAME"] = "Custom frame" L["OPT_ANCHOR_CUSTOM_NAME_DESC"] = "Global frame name, e.g. ElvUF_Player" L["OPT_ATTACH_PARTY_FRAME"] = "Attach to Party Frame" L["OPT_ATTACH_PARTY_FRAME_DESC"] = "Anchor each group cooldown frame to its corresponding party unit frame" L["OPT_ATTACH_PARTY_SIDE"] = "Attach side" L["OPT_ATTACH_PARTY_OFFSET_X"] = "Attach X offset" L["OPT_ATTACH_PARTY_OFFSET_Y"] = "Attach Y offset" L["OPT_ATTACH_LEFT"] = "Left" L["OPT_ATTACH_RIGHT"] = "Right" L["OPT_ANCHOR_POINT"] = "Anchor point" L["OPT_ANCHOR_POINT_DESC"]= "Point on this frame to use for anchoring" L["OPT_ANCHOR_REL_POINT"] = "Relative point" L["OPT_ANCHOR_REL_POINT_DESC"] = "Point on the target frame to anchor to" L["OPT_ANCHOR_X"] = "X offset" L["OPT_ANCHOR_Y"] = "Y offset" L["OPT_SHOW_ONLY_ACTIVE"] = "Show only active cooldowns" L["OPT_SHOW_ONLY_ACTIVE_DESC"] = "Hide entries that are currently ready" L["OPT_SHOW_ONLY_READY"] = "Show only ready cooldowns" L["OPT_SHOW_ONLY_READY_DESC"] = "Only show entries that are currently ready" L["OPT_READY_SOON_SEC"] = "Ready soon threshold (sec)" L["OPT_READY_SOON_SEC_DESC"] = "Show only cooldowns that are ready or below this remaining time (0 = disabled)" L["OPT_PREPROVISION_UNKNOWN"] = "Pre-provision unknown players" L["OPT_PREPROVISION_UNKNOWN_DESC"] = "Show prefilled spells for group members even before addon hello/sync was received" L["OPT_ROLE_FILTER"] = "Role filter" L["OPT_ROLE_FILTER_ALL"] = "All" L["OPT_ROLE_FILTER_TANK"] = "Tank" L["OPT_ROLE_FILTER_HEALER"] = "Healer" L["OPT_ROLE_FILTER_DAMAGER"] = "Damage" L["OPT_RANGE_CHECK"] = "Range check" L["OPT_HIDE_OOR"] = "Hide out of range" L["OPT_OOR_ALPHA"] = "Out of range alpha" L["OPT_SECTION_SIZE"] = "Size & Width" L["OPT_WIDTH"] = "Width (bars)" L["OPT_BAR_HEIGHT"] = "Bar height" L["OPT_ICON_SIZE"] = "Icon size" L["OPT_ICON_COLS"] = "Icons per row" L["OPT_SECTION_FONT"] = "Font" L["OPT_FONT"] = "Typeface" L["OPT_FONT_SIZE"] = "Font size" L["OPT_FONT_OUTLINE"] = "Font outline" L["OPT_OUTLINE_NONE"] = "None" L["OPT_OUTLINE_NORMAL"] = "Outline" L["OPT_OUTLINE_THICK"] = "Thick Outline" L["OPT_OUTLINE_MONO"] = "Monochrome" L["OPT_SECTION_SPELLS"] = "Tracked Spells" L["OPT_SECTION_CUSTOM_SPELLS"] = "Custom Spells" L["OPT_CUSTOM_SPELLS_INFO"] = "Add/remove custom spells for this tracker." L["OPT_CUSTOM_SPELLS_ID"] = "Spell ID" L["OPT_CUSTOM_SPELLS_CD"] = "Cooldown (sec)" L["OPT_CUSTOM_SPELLS_CLASS"] = "Class" L["OPT_CUSTOM_SPELLS_SPECS"] = "Specs (optional, e.g. 1,3)" L["OPT_CUSTOM_SPELLS_CATEGORY"] = "Category" L["OPT_CUSTOM_SPELLS_ADD"] = "Add Spell" L["OPT_CUSTOM_SPELLS_REMOVE"] = "Remove SpellID" L["OPT_CUSTOM_SPELLS_CURRENT"] = "Current custom spells" L["OPT_CUSTOM_SPELLS_EMPTY"] = "No custom spells for this tracker." L["OPT_CUSTOM_SPELLS_MSG_ADDED"] = "HMGT: custom spell added" L["OPT_CUSTOM_SPELLS_MSG_INVALID"] = "HMGT: invalid custom spell input" L["OPT_CUSTOM_SPELLS_MSG_REMOVED"] = "HMGT: custom spell removed" L["OPT_CUSTOM_SPELLS_MSG_NOT_FOUND"] = "HMGT: spell not found" L["OPT_SPELLS_DESC"] = "Enable or disable individual spells:\n" L["OPT_SPELL_SELECT"] = "Select spells" L["OPT_DISABLED"] = "Disabled" L["OPT_VISIBILITY_NONE"] = "Hidden everywhere" L["OPT_STATUS_MODE"] = "Mode" L["OPT_STATUS_DISPLAY"] = "Display" L["OPT_STATUS_VISIBILITY"]= "Visibility" L["OPT_STATUS_GROWTH"] = "Growth" L["OPT_STATUS_ATTACH"] = "Attach" L["OPT_UI_GROUP_MODE"] = "Mode" L["OPT_UI_GROUP_PLACEMENT"] = "Placement" L["OPT_UI_GROUP_VISIBILITY"] = "Visibility" L["OPT_UI_GROUP_LAYOUT"] = "Layout" L["OPT_UI_GROUP_APPEARANCE"] = "Appearance" L["OPT_SPELL_BROWSER"] = "Spell Browser" L["OPT_SPELL_BROWSER_DESC"] = "Filter tracked spells by name or Spell ID and apply quick actions to the visible results." L["OPT_SELECTION"] = "Selection" L["OPT_RT_NAME"] = "Raid Timeline" L["OPT_RT_ENABLED"] = "Enable Raid Timeline" L["OPT_RT_LEAD_TIME"] = "Warning lead time" L["OPT_RT_ASSIGNMENT_LEAD_TIME"] = "Assignment lead time" L["OPT_RT_ASSIGNMENT_LEAD_TIME_DESC"] = "How many seconds before the planned use the assigned player should be selected." L["OPT_RT_ALERT_HEADER"] = "Alert frame" L["OPT_RT_UNLOCK"] = "Unlock alert frame" L["OPT_RT_PREVIEW"] = "Preview alert" L["OPT_RT_ALERT_COLOR"] = "Text colour" L["OPT_RT_ALERT_PREVIEW"] = "Tranquility in 5" L["OPT_RT_DESC"] = "Create encounter timelines here and open the interactive Ace3 timeline editor for visual planning." L["OPT_RT_ALERT_UNLOCKED_HINT"] = "Raid Timeline Alert\nDrag to move" L["OPT_RT_ALERT_TEMPLATE"] = "%s in %d" L["OPT_RT_ENCOUNTERS_HEADER"] = "Encounter timelines" L["OPT_RT_SECTION_GENERAL"] = "General" L["OPT_RT_SECTION_MANAGE"] = "Manage encounters" L["OPT_RT_ADD_ENCOUNTER_ID"] = "Encounter ID" L["OPT_RT_ADD_ENCOUNTER_NAME"] = "Encounter name" L["OPT_RT_ADD_RAID"] = "Raid" L["OPT_RT_ADD_ENCOUNTER"] = "Add encounter" L["OPT_RT_INVALID_ENCOUNTER"] = "HMGT: invalid encounter ID" L["OPT_RT_EMPTY"] = "No encounter timelines configured yet." L["OPT_RT_ENCOUNTER"] = "Encounter" L["OPT_RT_ENCOUNTER_NAME"] = "Name" L["OPT_RT_RAID_NAME"] = "Raid" L["OPT_RT_RAID_ID"] = "Raid ID" L["OPT_RT_RAID_DEFAULT"] = "Encounter" L["OPT_RT_DELETE_ENCOUNTER_CONFIRM"] = "Delete raid timeline for encounter %d?" L["OPT_RT_DIFFICULTY_HEADER"] = "Difficulties" L["OPT_RT_DIFF_LFR"] = "LFR" L["OPT_RT_DIFF_NORMAL"] = "Normal" L["OPT_RT_DIFF_HEROIC"] = "HC" L["OPT_RT_DIFF_MYTHIC"] = "Mythic" L["OPT_RT_ADD_TIME"] = "Time (MM:SS)" L["OPT_RT_ADD_SPELL"] = "Spell" L["OPT_RT_ADD_PLAYER"] = "Target" L["OPT_RT_ADD_PLAYER_DESC"] = "Optional. Comma-separated player names or variables like Group1, Group8, GroupEven, GroupOdd. If empty, sends to everyone." L["OPT_RT_ADD_ENTRY"] = "Add entry" L["OPT_RT_ADD_ENTRY_INVALID"] = "HMGT: invalid raid timeline entry" L["OPT_RT_ENTRY_TIME"] = "Time" L["OPT_RT_ENTRY_SPELL"] = "Spell" L["OPT_RT_ENTRY_PLAYER"] = "Target" L["OPT_NOTES_NAME"] = "Notes" L["OPT_NOTES_ENABLED"] = "Enable notes" L["OPT_NOTES_DESC"] = "Provides an MRT-style notes window with a main note, a personal note and encounter drafts." L["OPT_NOTES_OPEN_WINDOW"] = "Open notes window" L["OPT_NOTES_OPEN_SETTINGS"] = "Open settings" L["OPT_NOTES_WINDOW_TITLE"] = "HMGT Notes" L["OPT_NOTES_LIST"] = "Notes" L["OPT_NOTES_EDITOR"] = "Editor" L["OPT_NOTES_MAIN"] = "Main note" L["OPT_NOTES_PERSONAL"] = "Personal note" L["OPT_NOTES_DRAFT"] = "Draft" L["OPT_NOTES_NEW_DRAFT"] = "New draft" L["OPT_NOTES_DUPLICATE"] = "Duplicate" L["OPT_NOTES_TITLE"] = "Title" L["OPT_NOTES_ENCOUNTER"] = "Encounter" L["OPT_NOTES_TEXT"] = "Text" L["OPT_NOTES_NO_ENCOUNTER"] = "No encounter" L["OPT_NOTES_SEND_CHAT"] = "Send to chat" L["OPT_NOTES_SUMMARY"] = "Main note, personal note and %d drafts available." L["OPT_RT_TRIGGER"] = "Trigger" L["OPT_RT_TRIGGER_TIME"] = "Time" L["OPT_RT_TRIGGER_BOSS_ABILITY"] = "Boss ability" L["OPT_RT_ACTION"] = "Action" L["OPT_RT_ACTION_TEXT"] = "Text" L["OPT_RT_ACTION_RAID_COOLDOWN"] = "Raid Cooldown" L["OPT_RT_INVALID_TIME"] = "HMGT: invalid time" L["OPT_RT_INVALID_SPELL"] = "HMGT: invalid spell ID" L["OPT_RT_TIMELINE_VIEWPORT"] = "Timeline window" L["OPT_RT_TIMELINE_EMPTY_WINDOW"] = "No cooldowns in the current window." L["OPT_RT_TIMELINE_EDITOR"] = "Interactive Timeline" L["OPT_RT_OPEN_EDITOR"] = "Open timeline" L["OPT_RT_START_TEST"] = "Start timeline test" L["OPT_RT_STOP_TEST"] = "Stop test" L["OPT_RT_TEST_HINT"] = "Runs the encounter timeline outside of combat so you can verify assignments, whispers and debug output." L["OPT_RT_TIMELINE_SCROLL"] = "Scroll timeline" L["OPT_RT_TIMELINE_ZOOM"] = "Zoom" L["OPT_RT_TIMELINE_HINT"] = "Click the bar to add a cooldown. Drag markers horizontally to change the time. Mousewheel scrolls, Ctrl+Mousewheel zooms." L["OPT_RT_ASSIGNMENT_EDITOR"] = "Assignment" L["OPT_RT_ASSIGNMENT_NONE"] = "No cooldown selected" L["OPT_SPELLS_VISIBLE"] = "Visible spells" L["OPT_SPELLS_ENABLED_COUNT"] = "Enabled" L["OPT_FILTER_SEARCH"] = "Search" L["OPT_FILTER_SEARCH_DESC"] = "Search by spell name or Spell ID" L["OPT_FILTER_ENABLED_ONLY"] = "Enabled only" L["OPT_FILTER_RESET"] = "Reset filters" L["OPT_SELECT_VISIBLE"] = "Select visible" L["OPT_DESELECT_VISIBLE"] = "Deselect visible" L["OPT_ALL_SPECS"] = "All specs" L["OPT_CUSTOM_SPELLS_EDITOR"] = "Spell Editor" L["OPT_CUSTOM_SPELLS_PREVIEW"] = "Preview" L["OPT_CUSTOM_SPELLS_PREVIEW_EMPTY"] = "Enter a spell ID to preview the custom spell." L["OPT_CUSTOM_SPELLS_LOAD"] = "Load into editor" -- ── Tracker titles ──────────────────────────────────────────── L["IT_TITLE"] = "|cff00aaffInterrupts|r" L["RCD_TITLE"] = "|cffff8800Raid Cooldowns|r" L["GCD_TITLE"] = "|cff77dd77Group Cooldowns|r" -- ── Options: tracker names ──────────────────────────────────── L["IT_NAME"] = "Interrupt Tracker" L["RCD_NAME"] = "Raid Cooldown Tracker" L["GCD_NAME"] = "Group Cooldown Tracker" L["BEA_NAME"] = "Aura Expiry" L["AE_NAME"] = "Aura Expiry" L["PA_NAME"] = "Personal Auras" L["AEM_NAME"] = "Auto Enemy Marker" L["OPT_BEA_ENABLED"] = "Enable aura expiry" L["OPT_BEA_ENABLED_DESC"] = "Announce countdowns for tracked auras and channels in /say" L["OPT_BEA_ANNOUNCE_AT"] = "Announce from (sec)" L["OPT_BEA_ANNOUNCE_AT_DESC"] = "Start countdown announcements when remaining buff duration is at or below this value" L["OPT_BEA_DEFAULT_THRESHOLD"] = "Default threshold (sec)" L["OPT_BEA_DEFAULT_THRESHOLD_DESC"] = "Used when you add a new tracked buff" L["OPT_BEA_SECTION_GENERAL"] = "General" L["OPT_BEA_SECTION_BUFFS"] = "Tracked buffs" L["OPT_BEA_ADD_ID"] = "Add Spell ID" L["OPT_BEA_ADD_THRESHOLD"] = "Threshold" L["OPT_BEA_ADD_THRESHOLD_DESC"] = "Countdown start in seconds for this buff" L["OPT_BEA_ADD"] = "Add buff" L["OPT_BEA_REMOVE_ID"] = "Remove Spell ID" L["OPT_BEA_REMOVE"] = "Remove buff" L["OPT_BEA_CURRENT"] = "Current tracked buffs" L["OPT_BEA_COL_ICON"] = "Icon" L["OPT_BEA_COL_SPELL"] = "Spellname" L["OPT_BEA_COL_THRESHOLD"] = "Threshold" L["OPT_BEA_COL_ACTION"] = "Action" L["OPT_BEA_EMPTY"] = "No buffs configured." L["OPT_BEA_MSG_ADDED"] = "HMGT: buff added: %s" L["OPT_BEA_MSG_REMOVED"] = "HMGT: buff removed: %s" L["OPT_BEA_MSG_INVALID"] = "HMGT: invalid buff spell ID" L["OPT_BEA_MSG_NOT_FOUND"] = "HMGT: buff not found" L["OPT_BEA_MSG_THRESHOLD_INVALID"] = "HMGT: invalid threshold" L["OPT_PA_ENABLED"] = "Enable personal auras" L["OPT_PA_ENABLED_DESC"] = "Show tracked debuffs on your current player in a movable frame" L["OPT_PA_UNLOCK"] = "Unlock frame" L["OPT_PA_UNLOCK_DESC"] = "Show the frame placeholder and allow it to be moved" L["OPT_PA_WIDTH"] = "Frame width" L["OPT_PA_ROW_HEIGHT"] = "Row height" L["OPT_PA_ICON_SIZE"] = "Icon size" L["OPT_PA_FONT_SIZE"] = "Font size" L["OPT_PA_SECTION_GENERAL"] = "General" L["OPT_PA_SECTION_DEBUFFS"] = "Tracked debuffs" L["OPT_PA_ADD_ID"] = "Add Spell ID" L["OPT_PA_ADD"] = "Add debuff" L["OPT_PA_REMOVE"] = "Remove debuff" L["OPT_PA_EMPTY"] = "No debuffs configured." L["OPT_PA_UNLOCK_HINT"] = "Personal Auras\nDrag to move" L["OPT_PA_MSG_ADDED"] = "HMGT: debuff added: %s" L["OPT_PA_MSG_REMOVED"] = "HMGT: debuff removed: %s" L["OPT_PA_MSG_INVALID"] = "HMGT: invalid debuff spell ID" L["OPT_PA_MSG_NOT_FOUND"] = "HMGT: debuff not found" L["OPT_PA_ACTIVE"] = "Active" L["OPT_PA_INACTIVE"] = "Inactive" L["BEA_MSG_TEMPLATE"] = "%s ending in %d" L["OPT_AEM_ENABLED"] = "Enable auto enemy marking" L["OPT_AEM_ENABLED_DESC"] = "Marks configured enemy unit IDs on mouseover with rotating raid markers (out of combat)" L["OPT_AEM_RESET_SESSION"] = "Reset marker cycle" L["OPT_AEM_SECTION_UNITS"] = "Tracked unit IDs" L["OPT_AEM_ADD_ID"] = "Add Unit ID" L["OPT_AEM_ADD"] = "Add unit" L["OPT_AEM_REMOVE_ID"] = "Remove Unit ID" L["OPT_AEM_REMOVE"] = "Remove unit" L["OPT_AEM_CURRENT"] = "Current unit IDs" L["OPT_AEM_EMPTY"] = "No unit IDs configured." L["OPT_AEM_MSG_ADDED"] = "HMGT: unit ID added: %s" L["OPT_AEM_MSG_REMOVED"] = "HMGT: unit ID removed: %s" L["OPT_AEM_MSG_INVALID"] = "HMGT: invalid unit ID" L["OPT_AEM_MSG_NOT_FOUND"] = "HMGT: unit ID not found" L["AEM_MSG_COMBAT_BLOCKED"] = "HMGT Auto Enemy Marker: automatic marking is blocked in combat by Blizzard secure restrictions." L["AEM_MSG_API_BLOCKED"] = "HMGT Auto Enemy Marker: raid marker API call is blocked in this environment." -- ── Tooltip ─────────────────────────────────────────────────── L["TT_DRAG"] = "|cff00aaffHMGT|r\nDrag to move\n|cffffff00/hmgt lock|r to lock" L["TT_REMAINING"] = "Remaining: " L["TT_READY"] = "Ready!" L["TT_UNKNOWN"] = "Unknown" -- ── Spell spell-toggle label format ────────────────────────── -- used as: string.format(L["SPELL_LABEL"], classStr, name) L["SPELL_LABEL"] = "[%s] %s" -- used as: string.format(L["SPELL_DESC"], spellId, cooldown) L["SPELL_DESC"] = "SpellID: %d | Cooldown: %ds" -- ── Spell categories ───────────────────────────────────────── L["CAT_lust"] = "Bloodlust / Lust" L["CAT_offensive"] = "Offensive Cooldowns" L["CAT_defensive"] = "Defensive Cooldowns" L["CAT_tank"] = "Tank Cooldowns" L["CAT_healing"] = "Healing Cooldowns" L["CAT_utility"] = "Utility" L["CAT_cc"] = "Crowd Control" L["CAT_interrupt"] = "Interrupts" L["CAT_raid"] = "Raid Cooldowns" -- ── Config spell list ───────────────────────────────────────── L["OPT_CD_LABEL"] = "%s (%ds)" -- icon+name, cooldown L["OPT_SELECT_ALL"] = "Select all" L["OPT_DESELECT_ALL"] = "Deselect all" -- ── Bar-Mode options ───────────────────────────────────────── L["OPT_BAR_TEXTURE"] = "Texture" L["OPT_BAR_TEXTURE_DESC"] = "Texture of the progress bar" L["OPT_BAR_SPACING"] = "Bar spacing" -- ── Icon-Mode options ───────────────────────────────────────── L["OPT_GROW_LEFT"] = "Leftward" L["OPT_GROW_RIGHT"] = "Rightward" L["OPT_ICON_COLS_DESC"] = "Number of icons per row (DOWN/UP) or per column (LEFT/RIGHT)" L["OPT_ICON_OVERLAY"] = "Cooldown display" L["OPT_ICON_OVERLAY_DESC"] = "How to show remaining cooldown on icons" L["OPT_ICON_OVERLAY_SWEEP"] = "Cooldown sweep" L["OPT_ICON_OVERLAY_TIMER"] = "Text timer (MM:SS)" L["OPT_ICON_SPACING"] = "Icon spacing" -- ── Visibility options ──────────────────────────────────────── L["OPT_SECTION_VISIBILITY"] = "Visibility" L["OPT_SHOW_SOLO"] = "Show when solo" L["OPT_SHOW_SOLO_DESC"] = "Show this tracker when not in a group" L["OPT_SHOW_GROUP"] = "Show in group" L["OPT_SHOW_GROUP_DESC"] = "Show this tracker in a party" L["OPT_SHOW_RAID"] = "Show in raid" L["OPT_SHOW_RAID_DESC"] = "Show this tracker in a raid group" -- ── Border options ────────────────────────────────────────────── L["OPT_BORDER_ENABLED"] = "Show border" L["OPT_BORDER_ENABLED_DESC"] = "Show a 1px border around progress bars and icons" L["OPT_BORDER_COLOR"] = "Border color" L["OPT_BORDER_COLOR_DESC"] = "Color of the 1px border" -- ── Text anchor (icon mode) ─────────────────────────────────── L["OPT_TEXT_ANCHOR"] = "Text position" L["OPT_TEXT_ANCHOR_DESC"] = "Where to show name and timer relative to the icon" L["OPT_ANCHOR_ON_ICON"] = "On icon (overlay)" L["OPT_ANCHOR_ABOVE"] = "Above icon" L["OPT_ANCHOR_BELOW"] = "Below icon" L["OPT_ANCHOR_LEFT"] = "Left of icon" L["OPT_ANCHOR_RIGHT"] = "Right of icon" -- ── Talent mod types (tooltip / desc) ───────────────────────── L["TALENTMOD_SET"] = "Talent sets CD to %ds" L["TALENTMOD_MULTIPLY"] = "Talent multiplies CD by %.2f" L["TALENTMOD_REDUCE"] = "Talent reduces CD by %d%%" L["OPT_RT_ADD_TEXT"] = "Custom text" L["OPT_RT_ENTRY_TEXT"] = "Custom text" L["OPT_RT_NO_SPELL"] = "No spell" L["OPT_RT_ADD_TYPE"] = "Type" L["OPT_RT_ENTRY_TYPE"] = "Type" L["OPT_RT_TYPE_SPELL"] = "Spell" L["OPT_RT_TYPE_TEXT"] = "Text" L["OPT_RT_TYPE_BOSS_ABILITY"] = "Boss ability" L["OPT_RT_BOSSMOD"] = "Boss mod" L["OPT_RT_BOSS_ABILITY"] = "Boss ability" L["OPT_RT_BOSS_BAR_NAME"] = "Bossmod bar name" L["OPT_RT_NO_BOSS_ABILITY"] = "No boss ability" L["OPT_RT_CAST_COUNT"] = "Cast count" L["OPT_RT_CAST_COUNT_DESC"] = "Use a number, All, Odd, or Even." L["OPT_RT_CAST"] = "Cast" L["OPT_RT_CAST_ALL"] = "All" L["OPT_RT_CAST_ODD"] = "Odd" L["OPT_RT_CAST_EVEN"] = "Even" L["OPT_RT_ADD_TARGETS"] = "Targets" L["OPT_RT_ENTRY_TARGETS"] = "Targets" L["OPT_RT_TARGETS_DESC"] = "Use All, Odd, Even, raid groups like 1,2, 1-3 or player names separated by commas."