--locales/enUS.lua, English (default) localization for FPS++.
--registered with the Details Framework language system (see libs/DetailsFramework/languages.md).
--other locales register the same phrase keys for their languageId and fall back to this
--default table; a key missing everywhere resolves to the key string itself.

local addonName, private = ...

local detailsFramework = DetailsFramework or LibStub("DetailsFramework-1.0")

--register English as the default language table for this addon (the first registered
--language becomes the fallback for every other language). populate it with the phrases below.
local L = detailsFramework.Language.RegisterLanguage(addonName, "enUS")

--the rest of the addon reads localized strings through private.locale; point it at the
--registered table so existing consumers keep working.
private.locale = L

--sections
L["SECTION_GENERAL"] = "General"
L["SECTION_INTERFACE"] = "Blizzard AddOns"
L["SECTION_ADDON_SOLUTIONS"] = "AddOn Solutions"
L["SECTION_GRAPHICS"] = "Graphics"

--general
L["ENABLE_ADDON"] = "Enable FPS++"
L["ENABLE_ADDON_DESC"] = "Master switch. When off, all optimizations are restored."
L["TOGGLE_ALL"] = "Toggle All FPS Reductions"
L["TOGGLE_ALL_DESC"] = "Select or clear every reduction toggle at once (the Interface hides plus Reduce Particle Density and Shadows). They take effect based on the 'Apply Reductions When' options below. The per-setting live tests are in the Live FPS Test window."

--apply reductions when (the context gate; any checked condition activates the reductions)
L["SECTION_CONTEXT"] = "Apply Improvement When"
L["CONTEXT_DUNGEON"] = "In Dungeons"
L["CONTEXT_DUNGEON_DESC"] = "Apply the enabled FPS reductions the whole time you are inside a 5-player dungeon, and restore them when you leave."
L["CONTEXT_DUNGEON_ENCOUNTER"] = "Dungeon Encounters"
L["CONTEXT_DUNGEON_ENCOUNTER_DESC"] = "Apply the enabled FPS reductions only during a boss encounter while inside a dungeon, and restore them when it ends."
L["CONTEXT_RAID"] = "In Raids"
L["CONTEXT_RAID_DESC"] = "Apply the enabled FPS reductions the whole time you are inside a raid instance, and restore them when you leave."
L["CONTEXT_RAID_ENCOUNTER"] = "Raid Encounters"
L["CONTEXT_RAID_ENCOUNTER_DESC"] = "Apply the enabled FPS reductions only during a boss encounter while inside a raid, and restore them when it ends."
L["CONTEXT_ALWAYS"] = "Always"
L["CONTEXT_ALWAYS_DESC"] = "Apply the enabled FPS reductions at all times. Overrides the conditions above."

--interface toggles (hide Blizzard UI while the context gate is active)
L["UI_MINIMAP"] = "Hide Minimap"
L["UI_MINIMAP_DESC"] = "Hide the minimap while your chosen context is active, then show it again when it ends."
L["UI_BUFFS"] = "Hide Buffs"
L["UI_BUFFS_DESC"] = "Hide the buff and debuff frames while your chosen context is active, then show them again when it ends."
L["UI_RAID_FRAMES"] = "Hide Raid Frames"
L["UI_RAID_FRAMES_DESC"] = "Hide the Blizzard raid frames while your chosen context is active. Protected: if the context begins during combat, the change takes effect when you leave combat."
L["UI_CHEAP_RAID"] = "Use Cheap Raid Frame"
L["UI_CHEAP_RAID_DESC"] = "Show the addon's lightweight raid frames (health bar + debuffs only) in place of Blizzard's. Pairs with 'Hide Raid Frames' above."
L["UI_ACTION_BARS"] = "Hide Action Bars"
L["UI_ACTION_BARS_DESC"] = "Hide the Blizzard action bars while your chosen context is active. Protected: if the context begins during combat, the change takes effect when you leave combat."
L["UI_DAMAGE_METER"] = "Hide Blizzard Damage Meter"
L["UI_DAMAGE_METER_DESC"] = "Disable Blizzard's built-in damage meter while your chosen context is active, then restore it when the context ends (toggles the damageMeterEnabled console variable)."

--live hide (immediate manual toggles for testing FPS impact)
L["SECTION_MANUAL_HIDE"] = "Live Hide (test FPS)"
L["MANUAL_MINIMAP"] = "Hide Minimap Now"
L["MANUAL_MINIMAP_DESC"] = "Immediately hide the minimap; uncheck to show it. Works any time (even mid-encounter) -- open the FPS Monitor to see the difference."
L["MANUAL_BUFFS"] = "Hide Buffs Now"
L["MANUAL_BUFFS_DESC"] = "Immediately hide the buff/debuff frames; uncheck to show them. Works any time, even in combat."
L["MANUAL_RAID_FRAMES"] = "Hide Raid Frames Now"
L["MANUAL_RAID_FRAMES_DESC"] = "Immediately hide the Blizzard raid frames (the grid showing every player in your raid); uncheck to show them. This is protected: a change made during combat takes effect when you leave combat."
L["MANUAL_ACTION_BARS"] = "Hide Action Bars Now"
L["MANUAL_ACTION_BARS_DESC"] = "Immediately hide the Blizzard action bars; uncheck to show them. These are protected: a change made during combat takes effect when you leave combat."

--graphics toggles
L["GFX_PARTICLES"] = "Reduce Particle Density"
L["GFX_PARTICLES_DESC"] = "Lower spell and environment particle density to save GPU time."
L["GFX_SHADOWS"] = "Reduce Shadows"
L["GFX_SHADOWS_DESC"] = "Disable or lower shadow rendering."

--live graphics cvars (immediate per-cvar toggles for testing FPS impact)
L["SECTION_LIVE_GRAPHICS"] = "Live Graphics (test FPS)"
L["CVAR_LIQUID_DETAIL"] = "Liquid Detail"
L["CVAR_LIQUID_DETAIL_DESC"] = "Immediately drop water/liquid detail to its lowest; uncheck to restore. Watch the FPS Monitor to see the impact."
L["CVAR_SHADOW_QUALITY"] = "Shadows"
L["CVAR_SHADOW_QUALITY_DESC"] = "Remove all shadows from the ambient."
L["CVAR_DEPTH_EFFECTS"] = "Fog"
L["CVAR_DEPTH_EFFECTS_DESC"] = "Remove fog from the ambient, also removes reflections, sun shafts and glare effects."
L["CVAR_OUTLINE_MODE"] = "Outlines"
L["CVAR_OUTLINE_MODE_DESC"] = "Remove the outline when the mouse passes above another player, npc or object."
L["CVAR_SPELL_DENSITY"] = "Spell Density"
L["CVAR_SPELL_DENSITY_DESC"] = "Immediately drop spell-effect density to its lowest; uncheck to restore."
L["CVAR_ENVIRONMENT_DETAIL"] = "Decoration Objects"
L["CVAR_ENVIRONMENT_DETAIL_DESC"] = "Remove objects that are far away from the player.\nThese objects can be torches, plants, vases and other decorative objects."
L["CVAR_GROUND_CLUTTER"] = "Ground Decoration"
L["CVAR_GROUND_CLUTTER_DESC"] = "Immediately drop ground clutter/foliage to its lowest; uncheck to restore."
L["CVAR_VIEW_DISTANCE"] = "View Distance"
L["CVAR_VIEW_DISTANCE_DESC"] = "Immediately snap view distance to its minimum; uncheck to restore. One of the biggest CPU wins in cities and raids. The Far Clip slider covers the full range."
L["CVAR_ANTI_ALIASING"] = "Anti-Aliasing"
L["CVAR_ANTI_ALIASING_DESC"] = "Immediately turn off anti-aliasing; uncheck to restore. MSAA is the expensive part -- up to ~25 FPS at 8x."
L["CVAR_TERRAIN_LOD"] = "Terrain LOD Distance"
L["CVAR_TERRAIN_LOD_DESC"] = "Set the terrain level-of-detail draw distance, from 200 to 5000. Lower values render less distant terrain detail for more FPS; the change applies immediately and is undone by Restore All."
L["CVAR_FARCLIP"] = "Far Clip Distance"
L["CVAR_FARCLIP_DESC"] = "Set the world far clip plane from 1500 to 10000, and the matching view distance quality (0-9). Lower values draw less of the distant world for more FPS; higher values see farther. Applies immediately and is undone by Restore All."

--diagnostics (event counter)
L["SECTION_DIAGNOSTICS"] = "Diagnostics"
L["EVENTS_ENABLE"] = "Count Events During Encounters"
L["EVENTS_ENABLE_DESC"] = "When enabled at the start of a boss encounter, tally how often every game event fires for the duration of the fight. The live counts appear in a panel attached to the right of this window. This itself has a cost (it watches every event), so use it only for diagnosis."
L["EVENTS_TITLE"] = "Event Counts"

--profiles
L["SECTION_PROFILES"] = "Profiles"
L["PROFILE_AUTO_ROLE"] = "Auto-switch by Spec Role"
L["PROFILE_AUTO_ROLE_DESC"] = "Automatically switch to the tank/damager/healer profile matching your current specialization on login and when you change spec. Turn off to manage profiles manually."
L["PROFILE_SELECT"] = "Profile"
L["PROFILE_SELECT_DESC"] = "Manually select this character's profile. Available only when 'Auto-switch by Spec Role' is off."

--fps monitor
L["MONITOR_PRIMARY"] = "200ms average"
L["MONITOR_SECONDARY"] = "2-second average"
L["MONITOR_TITLE"] = "FPS++ Monitor"
L["MONITOR_SCALE"] = "Scale"
L["MONITOR_ALPHA"] = "Alpha"
L["MONITOR_OPTIONS"] = "Options"
L["MONITOR_OPTIONS_DESC"] = "Open the detached FPS monitor's options (window scale)."
L["MONITOR_DETACH"] = "Detach"
L["MONITOR_DETACH_DESC"] = "Pop the FPS charts out into a movable window that stays on screen after you close this panel. Drag it anywhere; close it with the X in its top-right corner (or on reload)."

--buttons
L["RESTORE_ALL"] = "Restore All"
L["RESTORE_ALL_DESC"] = "Undo every Blizzard UI and CVar change made this session."
L["MANAGE_PROFILES"] = "Manage Profiles"
L["MANAGE_PROFILES_DESC"] = "Open the profile management window (create, switch, delete profiles)."
L["LIVE_TEST"] = "Live FPS Test"
L["LIVE_TEST_DESC"] = "Open a window with every Live Hide and Live Graphics option. Unlike the options in this panel (which only take effect while your 'Apply Improvement When' context is active), each toggle there applies THE INSTANT you click it, so you can measure a single setting's FPS impact on the spot."

--live fps test window
L["LIVE_TEST_HINT"] = "Each toggle applies immediately."
L["LIVE_TEST_RESTORE"] = "Restore Live Test"
L["LIVE_TEST_RESTORE_DESC"] = "Undo every override made in this window (restore the reduced CVars and show the hidden frames). Your saved profile is left untouched."

--messages
L["MSG_RESTORED"] = "All optimizations restored."
