-------------------------------------------------------------------------------
--  EllesmereUI_koKR / Locale / Bags.lua
--  EllesmereUIBags -> 가방/은행 (수동 큐레이션, WoW 공식 용어 기준)
--  ※ 조각/동적 concat·긴 안내문은 영문 폴백으로 둠(엔진이 EUI_L[s] or s).
--    필요 시 아래에 EUI_L["원문"] = "번역" 줄 추가.
-------------------------------------------------------------------------------
EUI_L = EUI_L or {}

-- ── 분류(카테고리) 이름 ──
EUI_L["Pinned Items"] = "고정한 아이템"
EUI_L["Recent Items"] = "최근 아이템"
EUI_L["Reagent Bag"] = "재료 가방"
EUI_L["Item Set Gear"] = "장비 세트"
EUI_L["Quest Items"] = "퀘스트 아이템"
EUI_L["Weapons / Trinkets"] = "무기 / 장신구"
EUI_L["Trade Goods"] = "교역품"
EUI_L["Gear Enhancements"] = "장비 강화"
EUI_L["Professions"] = "전문기술"
EUI_L["Miscellaneous"] = "기타"
EUI_L["All Items"] = "모든 아이템"
EUI_L["The Armory"] = "장비"

-- ── 탭/창 ──
EUI_L["Inventory"] = "소지품"
EUI_L["Bank"] = "은행"
EUI_L["Categories"] = "분류"
EUI_L["Currencies"] = "화폐"
EUI_L["Tabs"] = "보관함"
EUI_L["Sort"] = "정렬"
EUI_L["Sort Items"] = "아이템 정렬"
EUI_L["Randomize"] = "무작위 정렬"
EUI_L["OneBag"] = "통합 가방"

-- ── 은행/전투부대 은행 (WoW 공식 용어: Bank Tab=은행 보관함,
--    Warband=전투부대, Deposit=맡기기, Withdraw=찾기) ──
EUI_L["Reagent Bank"] = "재료 은행"
EUI_L["Warband Bank"] = "전투부대 은행"
EUI_L["Deposit"] = "맡기기"
EUI_L["Withdraw"] = "찾기"
EUI_L["OneBank"] = "통합 은행"
EUI_L["OneWarbank"] = "통합 전투부대"
EUI_L["Buy Bank Tab"] = "보관함 구매"
EUI_L["Buy Warbank Tab"] = "전투부대 구매"
EUI_L["Deposit Reagents"] = "재료 맡기기"
EUI_L["Deposit Warbound Items"] = "전투귀속 아이템 맡기기"
EUI_L["Deposit to Warbank"] = "전투부대 은행에 맡기기"
EUI_L["Withdraw from Warbank"] = "전투부대 은행에서 찾기"
EUI_L["Player Gold"] = "플레이어 골드"
EUI_L["Warband Gold"] = "전투부대 골드"
EUI_L["Gold Summary"] = "골드 요약"
EUI_L["Gold Tracking and History"] = "골드 추적 및 기록"

-- ── 그룹/카테고리 관리 ──
EUI_L["Add to Group"] = "그룹에 추가"
EUI_L["Create Group With"] = "그룹 만들기"
EUI_L["Disband Group"] = "그룹 해체"
EUI_L["Rename Group"] = "그룹 이름 바꾸기"
EUI_L["Rename Category"] = "분류 이름 바꾸기"
EUI_L["Enabled Categories"] = "활성화된 분류"
EUI_L["Enabled Currencies"] = "활성화된 화폐"
EUI_L["Hide in All Items"] = "모든 아이템에서 숨기기"
EUI_L["Show in All Items"] = "모든 아이템에 표시"
EUI_L["Show in OneBag"] = "통합 가방에 표시"
EUI_L["Pin an Item"] = "아이템 고정"

-- ── 옵션 라벨 ──
EUI_L["Collapse Sidebar"] = "사이드바 접기"
EUI_L["Expand Sidebar"] = "사이드바 펼치기"
EUI_L["Category Title Size"] = "분류 제목 크기"
EUI_L["Item Count Text Size"] = "아이템 수량 글자 크기"
EUI_L["Item Level Text Size"] = "아이템 레벨 글자 크기"
EUI_L["Hide Categories with 0 Items"] = "아이템 0개 분류 숨기기"
EUI_L["Hide Randomize Button"] = "무작위 정렬 버튼 숨기기"
EUI_L["Hide Top Warning"] = "상단 경고 숨기기"
EUI_L["Show Bags"] = "가방 표시"
EUI_L["Show Gear Track Rank"] = "장비 등급 표시"
EUI_L["Show Pinned Items"] = "고정한 아이템 표시"
EUI_L["Show Recent Items"] = "최근 아이템 표시"
EUI_L["Show Sort Icon"] = "정렬 아이콘 표시"
EUI_L["Default Open to OneBag"] = "기본으로 통합 가방 열기"
EUI_L["OneBag Options"] = "통합 가방 옵션"
EUI_L["OneBag Sort"] = "통합 가방 정렬"
EUI_L["Pinned Items Options"] = "고정한 아이템 옵션"
EUI_L["Recent Items Options"] = "최근 아이템 옵션"
EUI_L["Adventure Prep"] = "모험 준비"
EUI_L["Randomize Bags"] = "가방 무작위 정렬"

-- ── 입력 프롬프트 ──
EUI_L["Enter a new name for this group:"] = "이 그룹의 새 이름을 입력하세요:"
EUI_L["Enter amount in gold:"] = "골드 금액을 입력하세요:"

-- ── 색코드 라벨 ──
EUI_L["|cffffcc80Total|r"] = "|cffffcc80합계|r"

-- ── 추가 큐레이션 (2026-05-17) -> 가방 옵션/설명 ──
EUI_L["All Bank Tabs"] = "모든 보관함"
EUI_L["All Warbank Tabs"] = "모든 전투부대"
EUI_L["(Extra quickview display, your items are also in their category)"] = "(추가 빠른보기 표시 -> 아이템은 분류에도 있습니다)"
EUI_L["(Middle Click to Add or Remove)"] = "(가운데 클릭으로 추가/제거)"
EUI_L["Changes made in OneBag will affect the positions of items in default Blizzard bags"] = "통합 가방에서 변경하면 기본 블리자드 가방의 아이템 위치에도 영향을 줍니다"
EUI_L["Ctrl + Right-Click: Reset all data"] = "컨트롤 + 우클릭: 모든 데이터 초기화"
EUI_L["Default Open to OneBag must be enabled"] = "'기본으로 통합 가방 열기' 를 켜야 사용 가능합니다"
EUI_L["Display item levels on equipment items in the inventory."] = "가방의 장비 아이템에 아이템 레벨을 표시합니다."
EUI_L["Display the sort button in the bag header."] = "가방 헤더에 정렬 버튼을 표시합니다."
EUI_L["Display the upgrade track rank number on the bottom-right of gear items."] = "장비 아이템 우하단에 업그레이드 단계 숫자를 표시합니다."
EUI_L["Don't show me again"] = "다시 표시 안 함"
EUI_L["Drag categories on bag sidebar to reposition, group or ungroup."] = "가방 사이드바의 분류를 드래그하여 위치 이동·그룹·그룹 해제할 수 있습니다."
EUI_L["Enhanced inventory system with sidebar categories, item levels, and quality borders."] = "사이드바 분류·아이템 레벨·품질 테두리를 갖춘 향상된 인벤토리 시스템."
EUI_L["Font size for category titles in the sidebar and content grid."] = "사이드바와 내용 격자의 분류 제목 글자 크기."
EUI_L["Font size for item level numbers on equipment items."] = "장비 아이템 레벨 숫자의 글자 크기."
EUI_L["Font size for stack counts, keystone levels, and dungeon abbreviations."] = "수량·쐐기돌 단계·던전 약어의 글자 크기."
EUI_L["Hide sidebar categories that have no items in them."] = "아이템이 없는 사이드바 분류를 숨깁니다."
EUI_L["Hides Pinned Items. Re-show in settings."] = "고정한 아이템을 숨깁니다. 설정에서 다시 표시할 수 있습니다."
EUI_L["Hides Recent Items. Re-show in settings."] = "최근 아이템을 숨깁니다. 설정에서 다시 표시할 수 있습니다."
EUI_L["OneBag sorting will physically reorganize items in your bags. The changes persist even if you disable EllesmereUI Bags."] = "통합 가방 정렬은 가방 안 아이템을 실제로 재배치합니다. EllesmereUI Bags 를 꺼도 변경은 유지됩니다."
EUI_L["Open bags and bank to the OneBag/OneBank view by default instead of categorized views."] = "분류 보기 대신 기본으로 통합 가방/통합 은행 보기로 가방·은행을 엽니다."
EUI_L["Positions can only be changed\nin the All Items or OneBag categories"] = "위치는 '모든 아이템' 또는 통합 가방 분류에서만\n변경할 수 있습니다"
EUI_L["Reposition this element with Shift+Click and Drag."] = "쉬프트+클릭 드래그로 이 요소의 위치를 옮깁니다."
EUI_L["Scale of the bag and bank windows."] = "가방·은행 창의 크기 비율."
EUI_L["Show helpful tip text on Pinned Items and Recent Items category headers."] = "고정한 아이템·최근 아이템 분류 헤더에 도움말을 표시합니다."
EUI_L["Hides the Add Category button at the bottom of the bag sidebar."] = "가방 사이드바 하단의 '카테고리 추가' 버튼을 숨깁니다."
EUI_L["Show Pinned & Recent Tips"] = "고정·최근 도움말 표시"
EUI_L["Hide 'Add Category' Tab"] = "'카테고리 추가' 버튼을 숨김"
EUI_L["Show Pinned Items must be enabled"] = "'고정한 아이템 표시' 를 켜야 사용 가능합니다"
EUI_L["Show Recent Items must be enabled"] = "'최근 아이템 표시' 를 켜야 사용 가능합니다"
EUI_L["Show the Pinned Items category in the sidebar and content grid."] = "사이드바와 내용 격자에 '고정한 아이템' 분류를 표시합니다."
EUI_L["Show the Recent Items category in the sidebar and content grid for newly acquired items."] = "새로 얻은 아이템을 위해 사이드바와 내용 격자에 '최근 아이템' 분류를 표시합니다."
EUI_L["This will physically scatter items to random positions in your bags. The changes persist even if you disable EllesmereUI Bags."] = "가방 안 아이템을 무작위 위치로 실제로 흩뜨립니다. EllesmereUI Bags 를 꺼도 변경은 유지됩니다."
EUI_L["Track and display gold amounts from all your characters on hover."] = "마우스오버 시 모든 캐릭터의 골드 보유량을 추적·표시합니다."

-- ── 베이스 업데이트 추가분 (2026-05-22): 카테고리 편집·확장팩 분류·전투부대 은행 ──
EUI_L["Add Category"] = "카테고리 추가"
EUI_L["Delete Category"] = "카테고리 삭제"
EUI_L["Assign an item to this category"] = "이 카테고리에 아이템 지정"
EUI_L["New Custom Category"] = "새 사용자 지정 카테고리"
EUI_L["Custom Icon ID:"] = "사용자 지정 아이콘 ID:"
EUI_L["Icon:"] = "아이콘:"
EUI_L["Create"] = "생성"
EUI_L["Edit"] = "편집"
EUI_L["Nest by Expansion"] = "확장팩별 분류"
EUI_L["In the All Items bag view, show each category's items under indented expansion sub-headers (newest expansions first), even when everything in that category is from one expansion."] = "모든 아이템 가방 보기에서, 한 카테고리의 아이템이 모두 한 확장팩 것이더라도 각 카테고리의 아이템을 확장팩별 하위 머리글(최신 확장팩 먼저) 아래에 들여써서 표시합니다."
EUI_L["Move Bags Without Shift"] = "쉬프트 없이 가방 이동"
EUI_L["When enabled, left-click dragging the bag window will move it without needing to hold Shift."] = "켜면 쉬프트를 누르지 않고도 가방 창을 좌클릭으로 끌어서 이동할 수 있습니다."
EUI_L["REAGENTS"] = "재료"
EUI_L["|cffffcc80Warbank|r"] = "|cffffcc80전투부대 은행|r"

EUI_L["Hide OneBag Warning"] = "통합 가방 경고 숨기기"
EUI_L["Hide the warning text at the top of the OneBag view."] = "통합 가방 보기 상단의 경고 텍스트를 숨깁니다."
EUI_L["Hide OneBag Randomize Button"] = "통합 가방 랜덤 버튼 숨기기"
EUI_L["Hide the randomize (dice) button in the OneBag view."] = "통합 가방  보기의 랜덤(주사위) 버튼을 숨깁니다."
-- ─ 가방 카테고리 라벨 직접 치환 ─────────────────────────────────────
-- EllesmereUIBags 는 EUI_L 를 안 읽고 EllesmereUIBags_Categories.lua 의
-- DEFAULT_CATEGORIES (영문 하드코딩) 로 cat.name 을 채움. 우리 FontString
-- 스캔도 가방 frame 까지 안 닿음 → cat.name 자체를 한글로 직접 mutation.
-- 글로벌 _G.EUI_CategoryManager:GetCategories() 로 런타임 카테고리 접근.
--
-- "Armor" 가 BlizzardSkin 컨텍스트(캐릭터 시트)에선 "방어도"인데, 여기
-- 가방 컨텍스트에서만 "방어구" 로 분리되는 케이스.
local BAG_CAT_KR = {
    ["Pinned Items"] = "고정한 아이템",
    ["Recent Items"] = "최근 아이템",
    ["Reagent Bag"] = "재료 가방",
    ["Item Set Gear"] = "세트 장비",
    ["Quest Items"] = "퀘스트 아이템",
    ["Weapons / Trinkets"] = "무기 / 장신구",
    ["Armor"] = "방어구",
    ["Consumables"] = "소모품",
    ["Trade Goods"] = "교역품",
    ["Gear Enhancements"] = "장비 강화",
    ["Professions"] = "전문기술",
    ["Housing"] = "하우징",
    ["Miscellaneous"] = "기타",
}

local function _TranslateBagCategories()
    local cm = _G.EUI_CategoryManager
    if type(cm) ~= "table" or type(cm.GetCategories) ~= "function" then return false end
    local ok, cats = pcall(cm.GetCategories, cm)
    if not ok or type(cats) ~= "table" then return false end
    local changed = false
    for _, cat in ipairs(cats) do
        if type(cat) == "table" and type(cat.name) == "string" then
            local kr = BAG_CAT_KR[cat.name]
            if kr then cat.name = kr; changed = true end
        end
    end
    return changed
end

-- 진입: 즉시 1회 + InitCategories 후속 호출에도 자동 재적용.
local _bagInitHooked = false
local function _SetupBagHook()
    if _bagInitHooked then return true end
    local cm = _G.EUI_CategoryManager
    if type(cm) ~= "table" or type(cm.InitCategories) ~= "function" then return false end
    -- InitCategories 가 호출될 때마다 DEFAULT_CATEGORIES 의 영문이 다시
    -- cat.name 으로 들어옴 → 매번 우리 한글로 재치환.
    hooksecurefunc(cm, "InitCategories", function() _TranslateBagCategories() end)
    -- 현재 빌드된 카테고리도 즉시 치환
    _TranslateBagCategories()
    _bagInitHooked = true
    return true
end

local _bagF = CreateFrame("Frame")
_bagF:RegisterEvent("PLAYER_LOGIN")
_bagF:RegisterEvent("ADDON_LOADED")
_bagF:SetScript("OnEvent", function(self, event, name)
    if event == "ADDON_LOADED" and name ~= "EllesmereUIBags" then return end
    if _SetupBagHook() then self:UnregisterAllEvents() end
end)
if C_Timer and C_Timer.After then
    local tries = 0
    local function retry()
        tries = tries + 1
        if _SetupBagHook() or tries >= 10 then return end
        C_Timer.After(1, retry)
    end
    C_Timer.After(1, retry)
end

-- (특성 변경 / 장비 자동 교체 시 가방 강제 새로고침은 *기능* 이라 Additions
--  로 이전 — 같은 EQS 처리와 한 곳에서 관리.)

