-------------------------------------------------------------------------------
--  EllesmereUI_koKR / Locale / Nameplates.lua
--  EllesmereUINameplates
-------------------------------------------------------------------------------
EUI_L = EUI_L or {}

-- ── 베이스 업데이트 추가분 (2026-05-22): 우호적 NPC·위협 색상·FOCUS 표시 ──
EUI_L["Friendly NPC Settings"] = "우호적 NPC 설정"
EUI_L["Show NPC Titles"] = "NPC 칭호 표시"
EUI_L["Show Special \"Has Aggro\" Color"] = "특수 \"위협 보유\" 색상 표시"
EUI_L["Show Special \"Off-Tank\" Color"] = "특수 \"보조 탱커\" 색상 표시"
EUI_L["Display the word \"FOCUS\" below caster/miniboss mobs in M+ if you have not set your focus. This is the same setting as in the FocusKick bar options. Disabled for specs with no kick."] = "주시 대상을 지정하지 않았을 때 신화+에서 시전자/소형 우두머리 몹 아래에 \"FOCUS\"를 표시합니다. FocusKick 바 옵션과 동일한 설정입니다. 차단기가 없는 전문화에서는 비활성화됩니다."

-- Core Positions 드롭다운 값
EUI_L["Rare/Quest Indicator"] = "희귀/퀘스트 표식"

EUI_L["Show EUI Friendly Player Nameplates"] = "EUI 우호적 플레이어 이름표 표시"
EUI_L["When disabled, EUI relinquishes full control of friendly player nameplates to Blizzard. Use Blizzard's own Nameplate settings (Esc > Options > Nameplates) to control them."] = "비활성화 시 EUI는 우호적 플레이어 이름표 제어권을 기본 UI에 넘깁니다. 기본 이름표 설정(ESC > 옵션 > 이름표)에서 제어하세요."
EUI_L["Enable Stacking Nameplates"] = "이름표 쌓기 활성화"
EUI_L["When enabled, nameplates stack vertically instead of overlapping."] = "활성화 시 이름표가 겹치지 않고 세로로 쌓입니다."
EUI_L["Hitbox Size X"] = "히트박스 크기 가로"
EUI_L["Hitbox Size Y"] = "히트박스 크기 세로"
EUI_L["Widens the clickable hitbox of enemy nameplates. 100% = matches bar width. Increase to make nameplates easier to click."] = "적 이름표의 클릭 가능 히트박스 너비를 넓힙니다. 100% = 바 너비와 동일. 높이면 이름표가 더 쉽게 클릭됩니다."
EUI_L["Increases the clickable hitbox height of enemy nameplates. 100% = matches bar height. Increase to make nameplates easier to click."] = "적 이름표의 클릭 가능 히트박스 높이를 늘립니다. 100% = 바 높이와 동일. 높이면 이름표가 더 쉽게 클릭됩니다."
EUI_L["Bar Spacing"] = "바 간격"
EUI_L["Show Border"] = "테두리 표시"
EUI_L["Show Class Resource"] = "직업 자원 표시"
EUI_L["Aura Duration"] = "오라 지속시간"
EUI_L["Aura Stacks"] = "오라 중첩"
EUI_L["TARGET & FOCUS EFFECTS"] = "대상 & 주시 효과"
EUI_L["Target Preview"] = "대상 미리보기"
EUI_L["Target Texture"] = "대상 텍스처"
EUI_L["Scale Target Nameplate"] = "대상 이름표 비율"
EUI_L["Scales your current target's nameplate. 100% = no change."] = "현재 대상의 이름표 비율을 조정합니다. 100% = 변경 없음."
EUI_L["Show Arrows on Target"] = "대상에 화살표 표시"
EUI_L["Arrow Scale"] = "화살표 비율"
EUI_L["Up"] = "위"
EUI_L["Enable Target Color"] = "대상 색상 활성화"
EUI_L["Enable Focus Color"] = "주시 색상 활성화"
EUI_L["Enable Quest Mob Color"] = "퀘스트 몹 색상 활성화"
EUI_L["Cast Timer"] = "시전 타이머"
EUI_L["Cast Timer Settings"] = "시전 타이머 설정"
EUI_L["Casts In Front of Nameplates"] = "이름표 앞에 시전 표시"
EUI_L["Forces all casts to be shown in front of nameplates for visual clarity"] = "시각적 명확성을 위해 모든 시전을 이름표 앞에 강제 표시합니다"
EUI_L["Important Cast Glow"] = "중요한 시전 반짝임"
EUI_L["Show a glow on the cast bar when the enemy is casting a spell Blizzard marks as important."] = "적이 기본 UI에서 중요로 표시한 주문을 시전할 때 시전 바에 반짝임을 표시합니다."
EUI_L["Pandemic Glow Style"] = "팬데믹 반짝임 모양"
EUI_L["Pandemic Glow Preview"] = "팬데믹 반짝임 미리보기"
EUI_L["Dispel Glow Style"] = "해제 반짝임 모양"
EUI_L["Use Dispel Type Color"] = "해제 유형 색상 사용"
EUI_L["Classic Tank Aggro"] = "고전 방어 어그로"
EUI_L["Enables a three-tier tank aggro system: has aggro, losing aggro, and no aggro colors override all mob-type colors."] = "3단계 방어 어그로 시스템을 활성화합니다: 어그로 보유, 어그로 잃는 중, 어그로 없음 색상이 모든 몹 유형 색상을 재정의합니다."
EUI_L["Shows a special color for nameplates that another tank in your raid has aggro on."] = "공격대의 다른 방어가 어그로를 가진 이름표에 특별 색상을 표시합니다."
EUI_L["Show Special \\"] = "특수 표시 \\"
EUI_L["Show Special \"Has Aggro\" Color"] = "\"어그로 보유\" 특수 색상 표시"
EUI_L["Show Special \"Off-Tank\" Color"] = "\"부 탱커\" 특수 색상 표시"

-- Pixel Glow / 팝업 라벨
EUI_L["Pixel Glow Settings"] = "픽셀 반짝임 설정"
EUI_L["Lines"] = "선 개수"
EUI_L["Thickness"] = "두께"

-- 톱니 팝업 정적 타이틀
EUI_L["Friendly Nameplate Settings"] = "아군 이름표 설정"
EUI_L["Name Only Settings"] = "이름만 설정"
EUI_L["Spell Icon Settings"] = "주문 아이콘 설정"
EUI_L["Absorb Settings"] = "흡수 설정"

-- 슬롯 설정 조합
EUI_L["Top Slot Settings"] = "상단 슬롯 설정"
EUI_L["Bottom Slot Settings"] = "하단 슬롯 설정"
EUI_L["Left Slot Settings"] = "왼쪽 슬롯 설정"
EUI_L["Right Slot Settings"] = "오른쪽 슬롯 설정"
EUI_L["Top Left Slot Settings"] = "왼쪽 상단 슬롯 설정"
EUI_L["Top Right Slot Settings"] = "오른쪽 상단 슬롯 설정"
EUI_L["Bottom Left Slot Settings"] = "왼쪽 하단 슬롯 설정"
EUI_L["Bottom Right Slot Settings"] = "오른쪽 하단 슬롯 설정"
EUI_L["Top Settings"] = "상단 설정"
EUI_L["Bottom Settings"] = "하단 설정"
EUI_L["Left Settings"] = "왼쪽 설정"
EUI_L["Right Settings"] = "오른쪽 설정"

-- 톱니 팝업 라벨 추가
EUI_L["Grow"] = "확장"
EUI_L["Right shows class/race or indicators based on settings."] = "오른쪽은 설정에 따라 직업/종족 또는 표시기를 보여줍니다."

-- 이름표 추가
EUI_L["Custom nameplate design and behavior."] = "이름표의 외형과 동작을 설정합니다."
EUI_L["NAMEPLATES"] = "이름표"
EUI_L["Nameplates"] = "이름표"
EUI_L["Nameplate"] = "이름표"
EUI_L["Nameplates Font"] = "이름표 글꼴"
EUI_L["Hide friendly player health bars and instead only see their names.\n\nRequires 'Simplified Friendly Nameplates' to be disabled in Blizzard's Nameplate settings (Esc > Options > Nameplates)."] = "아군 플레이어 생명력 바를 숨기고 이름만 표시합니다.\n\n블리자드 이름표 설정(Esc > 설정 > 이름표)에서 '단순화된 아군 이름표'를 꺼야 합니다."
EUI_L["Make Friendly Nameplates Name Only"] = "아군 이름표를 이름만 표시"
EUI_L["Stacked Nameplate Spacing"] = "겹침 이름표 간격"
EUI_L["Nameplate Distance from Enemy"] = "적과 이름표 거리"
EUI_L["Adjusts the vertical spacing between stacked nameplates. 100% = default, lower = tighter, higher = more spread."] = "겹침 이름표 사이의 세로 간격을 조정합니다. 100%는 기본값이며, 낮을수록 촘촘하고 높을수록 넓어집니다."
EUI_L["Increases the cast bar height on your focus target's nameplate. 100% = normal height."] = "주시 대상 이름표의 시전 바 높이를 늘립니다. 100%는 기본 높이입니다."
EUI_L["Scale Nameplate On Cast"] = "시전 중 이름표 크기 조정"
EUI_L["Scales enemy nameplates while they are casting. 100% = no change."] = "적이 시전하는 동안 이름표 크기를 조정합니다. 100%는 변경 없음입니다."
EUI_L["Scale"] = "배율"
EUI_L["Scaling"] = "확대/축소"

-- Nameplates 색상/세부 라벨
EUI_L["Quest Mob"] = "퀘스트 몹"
EUI_L["Colors enemy nameplates for quest mobs you still need to kill."] = "아직 처치해야 하는 퀘스트 몹의 적 이름표 색상을 변경합니다."
EUI_L["Has Aggro"] = "어그로 보유"
EUI_L["No Aggro"] = "어그로 없음"
EUI_L["Losing Aggro"] = "어그로 상실 중"
EUI_L["Near Aggro"] = "어그로 근접"
EUI_L["Tank Threat"] = "탱커 위협"
EUI_L["Non-Tank Threat"] = "비탱커 위협"
EUI_L["Spell Casters"] = "시전자"
EUI_L["Mini-Bosses"] = "미니 보스"
EUI_L["Elite/Rare Indicator"] = "정예/희귀 표시"
EUI_L["Show Hash Line on Target at Percent"] = "대상 체력 퍼센트 기준선 표시"
EUI_L["Show Tick at Kick Ready Spot"] = "차단 준비 지점 틱 표시"
EUI_L["Shows a small white tick mark on the cast bar at the point where the cast will be when your interrupt comes off cooldown."] = "차단 기술의 쿨다운이 끝날 시점의 위치에 시전 바 흰색 틱을 표시합니다."
EUI_L["Show a special color for non caster/mini-boss enemies when you have aggro on them."] = "시전자/미니보스가 아닌 적에게 어그로가 있을 때 특수 색상을 표시합니다."
EUI_L["Shows a special color for non caster/mini-boss enemies when you have aggro on them."] = "시전자/미니보스가 아닌 적에게 어그로가 있을 때 특수 색상을 표시합니다."
EUI_L["Show Friendly Player Nameplates"] = "아군 플레이어 이름표 표시"
EUI_L["Show Friendly NPC Nameplates"] = "아군 NPC 이름표 표시"
EUI_L["Show Enemy Pet Nameplates"] = "적 소환수 이름표 표시"
EUI_L["Toggle visibility of enemy pet nameplates."] = "적 소환수 이름표 표시를 전환합니다."
EUI_L["This will display ALL of your debuffs on enemy nameplates, rather than only the important ones."] = "중요한 디버프만이 아니라 내 모든 디버프를 적 이름표에 표시합니다."
EUI_L["Show All Your Player Debuffs"] = "내 모든 디버프 표시"

EUI_L["ENEMY COLORS"] = "적 색상"
EUI_L["ENEMY NAMEPLATE SPACING"] = "적 이름표 간격"
EUI_L["Enemy Name Text"] = "적 이름 글자"
EUI_L["Enemy Name"] = "적 이름"
EUI_L["Enemy Types"] = "적 유형"
EUI_L["Enemy Pet Nameplates"] = "적 소환수 이름표"
EUI_L["Friendly NPC Nameplates"] = "아군 NPC 이름표"
EUI_L["Friendly Player Nameplates"] = "아군 플레이어 이름표"
EUI_L["Friendly"] = "아군"
EUI_L["Enemies"] = "적"
EUI_L["Enemy"] = "적"
EUI_L["NAME TEXT"] = "이름 글자"
EUI_L["Name Text Settings"] = "이름 글자 설정"
EUI_L["Name Only"] = "이름만"

EUI_L["RANGE & FADING"] = "거리 및 투명도"
EUI_L["OTHER NAMEPLATES"] = "기타 이름표"

-- 시전 바
EUI_L["Cast Background"] = "시전 배경"
EUI_L["This option is currently under maintenance"] = "이 옵션은 현재 점검 중입니다."

-- 디버프 / 흡수
EUI_L["Disabled when Enemy Name is centered on the health bar due to overlapping text"] = "적 이름이 생명력 바 중앙에 있으면 글자가 겹쳐 비활성화됩니다"
EUI_L["Absorb Style"] = "흡수 모양"
EUI_L["Clean Opacity"] = "클린 투명도"
EUI_L["Dynamic Colored"] = "동적 색상"
EUI_L["Show Absorbs on Frame"] = "프레임에 흡수량 표시"
EUI_L["Test Spell"] = "테스트 주문"
EUI_L["Requires Name Only setting to be disabled"] = "'이름만 표시' 를 꺼야 사용 가능합니다"
EUI_L["Requires Name Only mode"] = "이름만 표시 모드가 필요합니다"

-- ── 수동 보강 2026-05-19 ──
EUI_L['Show Special "Has Aggro" Color'] = "특수 \"어그로 보유\" 색 표시"
EUI_L['Show Special "Off-Tank" Color'] = "특수 \"보조 탱커\" 색 표시"
EUI_L['Display the word "FOCUS" below caster/miniboss mobs in M+ if you have not set your focus. This is the same setting as in the FocusKick bar options. Disabled for specs with no kick.'] = "주시 대상을 지정하지 않았을 때 신화+ 에서 시전형/중간보스 몹 아래에 \"FOCUS\" 글자를 표시합니다. 차단기 막대 옵션의 설정과 동일합니다. 차단기가 없는 전문화는 비활성화됩니다."

-- ── 수동 보강 2026-05-19 (해시 선 옵션 + 섹션 헤더) ──
EUI_L["THREAT COLORS (INSTANCES ONLY)"] = "위협 색상 (인스턴스 전용)"
EUI_L["CAST BAR"] = "시전 바"
EUI_L["DISPLAY"] = "표시"
-- ── 수동 보강 2026-05-26  ──
EUI_L["Max Debuffs"] = "최대 디버프 갯수"
EUI_L["Maximum number of debuff icons shown on enemy nameplates."] = "적 이름표에 표시되는 디버프 아이콘의 최대 갯수입니다."
EUI_L["Changing Max Debuffs requires a UI reload to take effect."] = "'최대 디버프 갯수' 변경은 UI 리로드 후 적용됩니다."

-- ════════════════════════════════════════════════════════════════════════════
-- ▼ 이름표 시전바 "Interrupted" → "차단됨" 번역 후크
--   Core.lua 의 ScanFrameRecursive 가 nameplate 까지 닿지 않아 castName FontString
--   이 번역 엔진에 등록되지 않음. plate 의 ShowInterrupted 메서드를 직접 후크해서
--   castName 을 한글로 덮어쓴다.
--
--   원본: EllesmereUINameplates.lua:4953 NameplateFrame:ShowInterrupted()
--         line 4972 self.castName:SetText("Interrupted")
--   접근: _G.EllesmereNameplates_NS.plates[unit] (line 60 노출)
-- ════════════════════════════════════════════════════════════════════════════
local _npHookedPlates = setmetatable({}, { __mode = "k" })

local function _NP_GetInterruptedKR()
    return (EUI_L and EUI_L["Interrupted"]) or "차단됨"
end

local function _NP_HookPlate(plate)
    if not plate or _npHookedPlates[plate] then return end
    if type(plate.ShowInterrupted) ~= "function" then return end
    _npHookedPlates[plate] = true
    -- 원본 ShowInterrupted 가 castName 을 "Interrupted" 로 세팅한 *직후* 우리가 한글로 덮음.
    pcall(hooksecurefunc, plate, "ShowInterrupted", function(self)
        if self.castName and self.castName.SetText then
            pcall(self.castName.SetText, self.castName, _NP_GetInterruptedKR())
        end
    end)
end

local function _NP_HookPending(unit)
    local ns = _G.EllesmereNameplates_NS
    if ns and ns.plates and unit then _NP_HookPlate(ns.plates[unit]) end
end

local _npF = CreateFrame("Frame")
_npF:RegisterEvent("NAME_PLATE_UNIT_ADDED")
_npF:RegisterEvent("PLAYER_ENTERING_WORLD")
_npF:SetScript("OnEvent", function(_, event, arg1)
    if event == "NAME_PLATE_UNIT_ADDED" and arg1 then
        -- 원본 핸들러가 ns.plates[unit] 를 채울 시간 확보 (C_Timer.After 0 = 다음 프레임)
        if C_Timer and C_Timer.After then
            C_Timer.After(0, function() _NP_HookPending(arg1) end)
        else
            _NP_HookPending(arg1)
        end
    else
        local ns = _G.EllesmereNameplates_NS
        if ns and type(ns.plates) == "table" then
            for _, plate in pairs(ns.plates) do _NP_HookPlate(plate) end
        end
    end
end)