diff --git a/EUI_PartyMode_Options.lua b/EUI_PartyMode_Options.lua index 4c94432f2..f114784b7 100644 --- a/EUI_PartyMode_Options.lua +++ b/EUI_PartyMode_Options.lua @@ -98,7 +98,7 @@ do kbLbl:SetPoint("CENTER") local function FormatKey(key) - if not key then return "Not Bound" end + if not key then return EllesmereUI.L("Not Bound") end local parts = {} for mod in key:gmatch("(%u+)%-") do parts[#parts + 1] = mod:sub(1, 1) .. mod:sub(2):lower() diff --git a/EllesmereUI.lua b/EllesmereUI.lua index dd7f0894c..6ab5ff9d2 100644 --- a/EllesmereUI.lua +++ b/EllesmereUI.lua @@ -11162,7 +11162,7 @@ local function ShowSidebarUnlockTip() msg:SetWidth(TIP_W - 30) msg:SetJustifyH("CENTER") msg:SetSpacing(6) - msg:SetText("Unlock Mode is where you can adjust\npositioning for all the elements of EllesmereUI") + msg:SetText(EllesmereUI.L("Unlock Mode is where you can adjust\npositioning for all the elements of EllesmereUI")) -- Okay button local okBtn = CreateFrame("Button", nil, tip) diff --git a/EllesmereUIDamageMeters/EUI_DamageMeters_Options.lua b/EllesmereUIDamageMeters/EUI_DamageMeters_Options.lua index e38eb64f0..aa1da9951 100644 --- a/EllesmereUIDamageMeters/EUI_DamageMeters_Options.lua +++ b/EllesmereUIDamageMeters/EUI_DamageMeters_Options.lua @@ -263,7 +263,7 @@ initFrame:SetScript("OnEvent", function(self) kbLbl:SetPoint("CENTER") local function FormatKey(key) - if not key then return "Not Bound" end + if not key then return EllesmereUI.L("Not Bound") end local parts = {} for mod in key:gmatch("(%u+)%-") do parts[#parts + 1] = mod:sub(1, 1) .. mod:sub(2):lower() diff --git a/EllesmereUIDamageMeters/EllesmereUIDamageMeters.lua b/EllesmereUIDamageMeters/EllesmereUIDamageMeters.lua index a3db7d6a7..5c837c99b 100644 --- a/EllesmereUIDamageMeters/EllesmereUIDamageMeters.lua +++ b/EllesmereUIDamageMeters/EllesmereUIDamageMeters.lua @@ -1594,7 +1594,7 @@ local function EnsureTooltipFrame() _ttFrame._combatMsg:SetJustifyH("CENTER"); _ttFrame._combatMsg:SetWordWrap(true) SetDMFont(_ttFrame._combatMsg, 10) _ttFrame._combatMsg:SetTextColor(0.6, 0.6, 0.6, 1) - _ttFrame._combatMsg:SetText("Detailed information is\nsecret while in combat") + _ttFrame._combatMsg:SetText(EllesmereUI.L("Detailed information is\nsecret while in combat")) _ttFrame._combatMsg:Hide() _ttFrame:SetScript("OnShow", function() _ttVisible = true end) @@ -1663,7 +1663,7 @@ local function PopulatePreview(bar, curSession, curSessionID, curDMType) -- Helper: apply header styling local function ApplyTTHeader(playerName, typeName) EnsureTooltipFrame() - _ttFrame._hdrText:SetText(playerName .. "'s " .. typeName .. " Breakdown") + _ttFrame._hdrText:SetText(EllesmereUI.Lf("%1$s's %2$s Breakdown", playerName, typeName)) local cfg = DB() local hc = cfg.hdrBgColor; local hR = hc and hc.r or 0x1B/255; local hG = hc and hc.g or 0x1B/255; local hB = hc and hc.b or 0x1B/255 _ttFrame._hdrBg:SetColorTexture(hR, hG, hB, cfg.hdrBgAlpha or 1) @@ -1688,7 +1688,7 @@ local function PopulatePreview(bar, curSession, curSessionID, curDMType) -- Reverse to oldest-first local reversed = {} for ri = #raw, 1, -1 do reversed[#reversed + 1] = raw[ri] end - ApplyTTHeader(StripRealm(bar._src.name) or "Unknown", "Death Recap") + ApplyTTHeader(StripRealm(bar._src.name) or "Unknown", EllesmereUI.L("Death Recap")) local texPath, texKey = GetBreakdownBarTexturePath() local deathTime = reversed[#reversed] and reversed[#reversed].timestamp or GetTime() local total = #reversed @@ -1877,7 +1877,7 @@ local function PopulatePreview(bar, curSession, curSessionID, curDMType) _ttFrame._tgtDivider:SetHeight(PhysicalPixels(1)); _ttFrame._tgtDivider:SetColorTexture(1, 1, 1, 0.15) _ttFrame._tgtLabel = _ttFrame:CreateFontString(nil, "OVERLAY") SetDMFont(_ttFrame._tgtLabel, 9); _ttFrame._tgtLabel:SetTextColor(0.6, 0.6, 0.6, 1) - _ttFrame._tgtLabel:SetText("Targets") + _ttFrame._tgtLabel:SetText(EllesmereUI.L("Targets")) _ttFrame._tgtBars = {} for ti = 1, 3 do local tb = {} @@ -2432,7 +2432,7 @@ local function CreateDMWindow(winIdx) if not hasRecap then EnsureTooltipFrame() local playerName = StripRealm(bar._src.name) or "Unknown" - _ttFrame._hdrText:SetText(playerName .. "'s Death Recap") + _ttFrame._hdrText:SetText(EllesmereUI.Lf("%1$s's Death Recap", playerName)) local cfg2 = DB() local hc = cfg2.hdrBgColor; local hR = hc and hc.r or 0x1B/255; local hG = hc and hc.g or 0x1B/255; local hB = hc and hc.b or 0x1B/255 _ttFrame._hdrBg:SetColorTexture(hR, hG, hB, cfg2.hdrBgAlpha or 1) @@ -2441,7 +2441,7 @@ local function CreateDMWindow(winIdx) else local tc = cfg2.hdrTextColor; tR = tc and tc.r or 1; tG = tc and tc.g or 1; tB = tc and tc.b or 1 end _ttFrame._hdrText:SetTextColor(tR, tG, tB, 1) for bi = 1, #_ttBars do if _ttBars[bi] then _ttBars[bi].row:Hide() end end - _ttFrame._combatMsg:SetText("No death recap available") + _ttFrame._combatMsg:SetText(EllesmereUI.L("No death recap available")) _ttFrame._combatMsg:Show() _ttFrame:SetSize(TT_WIDTH, TT_HDR_H + 40) ns._AnchorBreakdownFrame(bar.row, W.frame) @@ -2454,7 +2454,7 @@ local function CreateDMWindow(winIdx) -- Show header with player name + type local playerName = StripRealm(bar._src and bar._src.name) or "Unknown" local typeName = L(DM_TYPE_NAMES[W.curDMType] or "Damage Done") - _ttFrame._hdrText:SetText(playerName .. "'s " .. typeName .. " Breakdown") + _ttFrame._hdrText:SetText(EllesmereUI.Lf("%1$s's %2$s Breakdown", playerName, typeName)) local cfg2 = DB() local hc = cfg2.hdrBgColor; local hR = hc and hc.r or 0x1B/255; local hG = hc and hc.g or 0x1B/255; local hB = hc and hc.b or 0x1B/255 _ttFrame._hdrBg:SetColorTexture(hR, hG, hB, cfg2.hdrBgAlpha or 1) @@ -2464,7 +2464,7 @@ local function CreateDMWindow(winIdx) _ttFrame._hdrText:SetTextColor(tR, tG, tB, 1) -- Hide bars, show combat message for bi = 1, #_ttBars do if _ttBars[bi] then _ttBars[bi].row:Hide() end end - _ttFrame._combatMsg:SetText("Detailed information is\nsecret while in combat") + _ttFrame._combatMsg:SetText(EllesmereUI.L("Detailed information is\nsecret while in combat")) _ttFrame._combatMsg:Show() _ttFrame:SetSize(TT_WIDTH, TT_HDR_H + 40) ns._AnchorBreakdownFrame(bar.row, W.frame) @@ -2852,7 +2852,7 @@ local function CreateDMWindow(winIdx) if #_windows >= MAX_WINDOWS then iconTex:SetAlpha(0.2) if EUI.HideWidgetTooltip then EUI.HideWidgetTooltip() end - if EUI.ShowWidgetTooltip then EUI.ShowWidgetTooltip(self, "You may only have " .. MAX_WINDOWS .. " windows active") end + if EUI.ShowWidgetTooltip then EUI.ShowWidgetTooltip(self, EllesmereUI.Lf("You may only have %1$d windows active", MAX_WINDOWS)) end end end) else @@ -3790,8 +3790,8 @@ local function CreateDMWindow(winIdx) W.UpdateTimerText() local isOverall = (not W.curSessionID and W.curSession == Enum.DamageMeterSessionType.Overall) - local titlePrefix = isOverall and "Overall " or "" - W._fullTitle = L(titlePrefix .. (DM_TYPE_NAMES[W.curDMType] or "Damage Done")) + local typeName = L(DM_TYPE_NAMES[W.curDMType] or "Damage Done") + W._fullTitle = isOverall and EllesmereUI.Lf("Overall %1$s", typeName) or typeName W.FitTitle() if winIdx == 1 then UpdateSATimerText() end @@ -4110,7 +4110,7 @@ local function CreateDMWindow(winIdx) W._targetDivider:SetHeight(PhysicalPixels(1)); W._targetDivider:SetColorTexture(1, 1, 1, 0.15) W._targetLabel = W.srcContent:CreateFontString(nil, "OVERLAY") SetDMFont(W._targetLabel, leftFS - 1) - W._targetLabel:SetTextColor(0.6, 0.6, 0.6, 1); W._targetLabel:SetText("Targets") + W._targetLabel:SetTextColor(0.6, 0.6, 0.6, 1); W._targetLabel:SetText(EllesmereUI.L("Targets")) end W._targetDivider:ClearAllPoints() W._targetDivider:SetPoint("TOPLEFT", W.srcContent, "TOPLEFT", 0, divY) @@ -4354,10 +4354,10 @@ local function CreateDMWindow(winIdx) homeAddBtn._plus:SetText("+") homeAddBtn._plus:SetTextColor(1, 1, 1, 0.3) homeAddBtn._lbl:SetFont(fontPath, CTX_FONT_SZ, outline) - homeAddBtn._lbl:SetText("ADD NEW") + homeAddBtn._lbl:SetText(EllesmereUI.L("ADD NEW")) homeAddBtn._lbl:SetTextColor(1, 1, 1, 0.3) homeAddBtn._hint:SetFont(fontPath, 9, outline) - homeAddBtn._hint:SetText("(middle click to remove)") + homeAddBtn._hint:SetText(EllesmereUI.L("(middle click to remove)")) homeAddBtn._hint:SetTextColor(1, 1, 1, 0.3) -- Center the group: offset label so plus+label+hint are visually centered local plusW = homeAddBtn._plus:GetStringWidth() + 4 @@ -4381,7 +4381,7 @@ local function CreateDMWindow(winIdx) for dt, n in pairs(DM_TYPE_NAMES) do local pinned = false for _, b in ipairs(bookmarks) do if b == dt then pinned = true; break end end - if not pinned then items[#items + 1] = { text = n, onClick = function() + if not pinned then items[#items + 1] = { text = EllesmereUI.L(n), onClick = function() bookmarks[#bookmarks + 1] = dt; RefreshHome() end } end end diff --git a/EllesmereUIMythicTimer/EllesmereUIMythicTimer.lua b/EllesmereUIMythicTimer/EllesmereUIMythicTimer.lua index 31786ad06..05b7885bd 100644 --- a/EllesmereUIMythicTimer/EllesmereUIMythicTimer.lua +++ b/EllesmereUIMythicTimer/EllesmereUIMythicTimer.lua @@ -1626,8 +1626,9 @@ local function RenderStandalone() ApplyShadow(f._deathFS) local dR, dG, dB = GetColor(p.deathTextColor, 0.93, 0.33, 0.33) f._deathFS:SetTextColor(dR, dG, dB) - f._deathFS:SetText(format("%d Death%s -%s", - run.deaths, run.deaths ~= 1 and "s" or "", FormatTime(run.deathTimeLost))) + f._deathFS:SetText(run.deaths == 1 + and EllesmereUI.Lf("%1$d Death -%2$s", run.deaths, FormatTime(run.deathTimeLost)) + or EllesmereUI.Lf("%1$d Deaths -%2$s", run.deaths, FormatTime(run.deathTimeLost))) f._deathFS:ClearAllPoints() f._deathFS:SetPoint("TOPLEFT", f, "TOPLEFT", dPad, y - 5) f._deathFS:SetPoint("TOPRIGHT", f, "TOPRIGHT", -dPad, y - 5) diff --git a/EllesmereUIRaidFrames/EUI_RaidFrames_BuffManager.lua b/EllesmereUIRaidFrames/EUI_RaidFrames_BuffManager.lua index eafa4b431..fe5c33630 100644 --- a/EllesmereUIRaidFrames/EUI_RaidFrames_BuffManager.lua +++ b/EllesmereUIRaidFrames/EUI_RaidFrames_BuffManager.lua @@ -4865,7 +4865,7 @@ function ns.BM_BuildPage(pageName, parent, yOffset) titleFS:SetWordWrap(false) -- v2: named indicators (the seeded filter groups) show their name. if ns.BM2_Enabled and ind.name then - titleFS:SetText(ind.name) + titleFS:SetText(EllesmereUI.L(ind.name)) else titleFS:SetText(EllesmereUI.L(typeName)) end @@ -6147,7 +6147,7 @@ function ns.BM_BuildPage(pageName, parent, yOffset) -- v2: named filter-driven groups head their settings with the group -- name; spell-driven indicators keep the legacy name list. if ns.BM2_Enabled and ind.name then - spellsTitle:SetText("(" .. ind.name .. ")") + spellsTitle:SetText("(" .. EllesmereUI.L(ind.name) .. ")") else local spellNames = {} if ind.spells then diff --git a/EllesmereUIRaidFrames/EUI_RaidFrames_ManagerPages.lua b/EllesmereUIRaidFrames/EUI_RaidFrames_ManagerPages.lua index 750d24e99..1c2cdf394 100644 --- a/EllesmereUIRaidFrames/EUI_RaidFrames_ManagerPages.lua +++ b/EllesmereUIRaidFrames/EUI_RaidFrames_ManagerPages.lua @@ -535,7 +535,7 @@ local function TileSubtitle(t) local names = {} if t.claim then for _, cat in ipairs(CAT_ORDER) do - if t.claim[cat] then names[#names + 1] = CAT_VALUES[cat] end + if t.claim[cat] then names[#names + 1] = L(CAT_VALUES[cat]) end end end if #names == 0 then return L("No filters routed") end diff --git a/EllesmereUI_FirstInstall.lua b/EllesmereUI_FirstInstall.lua index cbe52519a..0bc08669a 100644 --- a/EllesmereUI_FirstInstall.lua +++ b/EllesmereUI_FirstInstall.lua @@ -228,14 +228,14 @@ local function ShowFirstInstallPopup() eyebrow:SetFont(FONT, 13, "") eyebrow:SetTextColor(ELLESMERE_GREEN.r, ELLESMERE_GREEN.g, ELLESMERE_GREEN.b, 0.9) PP.Point(eyebrow, "TOP", popup, "TOP", 0, -104) - eyebrow:SetText("FIRST TIME SETUP") + eyebrow:SetText(EllesmereUI.L("FIRST TIME SETUP")) -- Title local title = popup:CreateFontString(nil, "OVERLAY") title:SetFont(FONT, 25, "") title:SetTextColor(1, 1, 1, 1) PP.Point(title, "TOP", eyebrow, "BOTTOM", 0, -6) - title:SetText("Welcome to EllesmereUI") + title:SetText(EllesmereUI.L("Welcome to EllesmereUI")) -- Subtitle local sub = popup:CreateFontString(nil, "OVERLAY") @@ -245,7 +245,7 @@ local function ShowFirstInstallPopup() sub:SetWidth(POPUP_W - 60) sub:SetJustifyH("CENTER") sub:SetWordWrap(true) - sub:SetText("Choose which addons you want enabled. You can change any of these later in the EllesmereUI settings panel.") + sub:SetText(EllesmereUI.L("Choose which addons you want enabled. You can change any of these later in the EllesmereUI settings panel.")) -- Check All / Uncheck All links local LINK_Y = -196 @@ -255,7 +255,7 @@ local function ShowFirstInstallPopup() checkAllBtn:SetFrameLevel(popup:GetFrameLevel() + 2) local checkAllLbl = checkAllBtn:CreateFontString(nil, "OVERLAY") checkAllLbl:SetFont(FONT, 14, "") - checkAllLbl:SetText("Check All") + checkAllLbl:SetText(EllesmereUI.L("Check All")) checkAllLbl:SetTextColor(1, 1, 1, 0.45) checkAllLbl:SetPoint("CENTER") checkAllBtn:SetSize(checkAllLbl:GetStringWidth() + 4, 20) @@ -274,7 +274,7 @@ local function ShowFirstInstallPopup() uncheckAllBtn:SetFrameLevel(popup:GetFrameLevel() + 2) local uncheckAllLbl = uncheckAllBtn:CreateFontString(nil, "OVERLAY") uncheckAllLbl:SetFont(FONT, 14, "") - uncheckAllLbl:SetText("Uncheck All") + uncheckAllLbl:SetText(EllesmereUI.L("Uncheck All")) uncheckAllLbl:SetTextColor(1, 1, 1, 0.45) uncheckAllLbl:SetPoint("CENTER") uncheckAllBtn:SetSize(uncheckAllLbl:GetStringWidth() + 4, 20) @@ -301,7 +301,7 @@ local function ShowFirstInstallPopup() hdr:SetFont(FONT, 18, "") hdr:SetTextColor(ELLESMERE_GREEN.r, ELLESMERE_GREEN.g, ELLESMERE_GREEN.b, 0.9) PP.Point(hdr, "TOPLEFT", col, "TOPLEFT", 4, -4) - hdr:SetText(group.header) + hdr:SetText(EllesmereUI.L(group.header)) local yOff = HEADER_H + HEADER_PAD @@ -330,7 +330,7 @@ local function ShowFirstInstallPopup() lbl:SetFont(FONT, 17, "") PP.Point(lbl, "LEFT", box, "RIGHT", 8, 0) lbl:SetTextColor(1, 1, 1, 0.65) - lbl:SetText(entry.label) + lbl:SetText(EllesmereUI.L(entry.label)) -- Initial state resolution: -- entry.comingSoon -> disabled, greyed, "Coming soon" tooltip @@ -434,7 +434,7 @@ local function ShowFirstInstallPopup() local function RefreshButtonLabel() -- Picking addons always ends in a reload so the enable/disable choices -- take effect, so the button always reads "Reload UI". - doneLbl:SetText("Reload UI") + doneLbl:SetText(EllesmereUI.L("Reload UI")) end RefreshButtonLabel() diff --git a/Locales/_keys.txt b/Locales/_keys.txt index b1614b564..1a5ad8122 100644 --- a/Locales/_keys.txt +++ b/Locales/_keys.txt @@ -1,10 +1,12 @@ # Auto-generated by .tools/extract-locale-keys.sh -- do not edit by hand. # Canonical list of translatable English keys passed as string literals -# (649 unique). Regenerate after wrapping new strings. Keys passed as +# (666 unique). Regenerate after wrapping new strings. Keys passed as # variables are not listed here -- use the in-game /euiloc harvester for # the complete runtime set. (Raid) (guild bank) +%1$d Death -%2$s +%1$d Deaths -%2$s %1$s (max %2$s) %1$s Font %1$s Module @@ -15,6 +17,8 @@ %1$s Slot Settings %1$s Sync %1$s is not available to import for that resolution yet. +%1$s's %2$s Breakdown +%1$s's Death Recap %d / %d Items %d Items %d junk item(s) could not be sold. @@ -28,6 +32,7 @@ (Level %d) (Middle Click to Add or Remove) (Percent) +(middle click to remove) (min) (minutes) (no spells) @@ -45,6 +50,7 @@ + Add Spell + Add Threshold A profile named \ +ADD NEW AFK Abilities Activate Boss Preview @@ -138,6 +144,7 @@ Choose Zones Choose a buff from the bar menu Choose which addons to import. Any addons not included will use your active profile's settings in the new profile. Choose which addons to include in your exported profile. Check everything for a full profile export. +Choose which addons you want enabled. You can change any of these later in the EllesmereUI settings panel. Choose which specs sync with %1$s, including your alts' specs (the source is always included) Choose which transforms are removed Click a bar to edit it @@ -190,6 +197,7 @@ Dark Overlays\nEnabled Deactivate Boss Preview Deactivate Movement Preview Deactivate Party Mode +Death Recap Debuffs on this list never display on the raid frames. Default Default Profile (for non-assigned specs) @@ -205,6 +213,7 @@ Delete this global group for all specs Deposit Reagents Deposit Warbound Items Deselect All +Detailed information is\nsecret while in combat Disable Disabled Disabled while %1$s is enabled. @@ -257,6 +266,7 @@ Export Profile Export will include %1$s of %2$s addons. Externals Extra Spells +FIRST TIME SETUP Fallback Fallback Direction Favorites @@ -381,6 +391,7 @@ No No Bars - Click to Add No Saved Presets No buffs assigned. Right click a button in the preview to assign buffs. +No death recap available No excluded debuffs. No patch notes yet. No spec macros for @@ -404,6 +415,7 @@ OneBank OneWarbank Opacity Open Great Vault +Overall %1$s Override Active: Overrides Overwrite Existing Settings @@ -454,6 +466,7 @@ Recent Items Regular Import Reload Now Reload Required +Reload UI Remove Remove Active State Remove Anchor @@ -558,6 +571,7 @@ Talent gating is only available while playing this spec's class Target Target Unit Targeting: +Targets The pasted string could not be read completely. Please paste it again. The single stack threshold is off while Multiple Thresholds is on. Thickness @@ -602,6 +616,7 @@ Unknown Macro Unknown Spell Unknown error Unlock Mode +Unlock Mode is where you can adjust\npositioning for all the elements of EllesmereUI Up to Update Sync Group Use Multiple Thresholds @@ -612,6 +627,7 @@ W Match W Matched WARNING: Frame positions may be off. Warbank +Welcome to EllesmereUI What's new in EllesmereUI. Whistle Width % @@ -626,6 +642,7 @@ Y Offset Y Position Yes You +You may only have %1$d windows active Your Keystone Your current spec has an assigned profile so you cannot switch to another. Please unassign to switch. [ Import string captured (%1$s characters) ] diff --git a/Locales/koKR.lua b/Locales/koKR.lua index 0fd27f59c..c35db7e9d 100644 --- a/Locales/koKR.lua +++ b/Locales/koKR.lua @@ -4749,7 +4749,6 @@ L["the module"] = "추가기능" L["Timer Inside Bar"] = "바 내부 목표 시간" L["Track Mythic+ run time, key thresholds, and dungeon objectives."] = "쐐기돌 진행 시간, 단계 기준, 던전 목표를 추적합니다." -- add MythicTimer Format (신화+ 타이머 포맷) -L["%d Death%s -%s"] = "%d명 사망%.0s -%s" L["%d left"] = "%d개 남음" L["Enemy Forces % Options"] = "적 병력 % 설정" @@ -5314,8 +5313,6 @@ L["%.2f%% Enemy Forces"] = "적 병력 %.2f%%" L["%d / %d Items"] = "%d / %d개" L["%d Adventurer"] = "모험가 %d개" L["%d Champion"] = "챔피언 %d개" -L["%d Death -%d:%d"] = "%d명 사망 -%d:%d" -L["%d Deaths -%d:%d"] = "%d명 사망 -%d:%d" L["%d Hero"] = "영웅 %d개" L["%d Items"] = "%d개" L["%d Myth"] = "신화 %d개" @@ -6100,7 +6097,6 @@ L["Shows the profession icons next to the text."] = "글자 옆에 전문 기술 L["Uses Blizzard's coin textures instead of the letter suffixes."] = "글자 접미사 대신 블리자드 동전 텍스처를 사용합니다." L["Whisper BNet"] = "배틀넷 귓속말" L["Your Keystone"] = "내 쐐기돌" -L["이 설정은 Modern Background Style is required.이(가) 활성화됨 상태여야 합니다"] = "현대적 배경 양식이 필요합니다." -- == M+ keystone dungeon abbreviations (신화+ 던전 약어 -> 한글 단축명) == -- Minimap portal table (spellID -> code) + bag keystone display produce these English codes; -- the render hook then shows the short Korean name. @@ -6137,3 +6133,230 @@ L["Sidebar Width"] = "사이드바 너비" L["Edit Box Height"] = "입력창 높이" L["Edit Box Font"] = "입력창 글꼴" L["Edit Box Font Size"] = "입력창 글꼴 크기" + +-- ============================================================ +-- koKR 추가분 (2026-08-03) - upstream 에 없던 키만 +-- ============================================================ +-- -- 소스 L() 래핑/Lf 전환에 따라 새로 필요한 키 +L["%1$d Death -%2$s"] = "%1$d명 사망 -%2$s" +L["%1$d Deaths -%2$s"] = "%1$d명 사망 -%2$s" +L["%1$s\'s %2$s Breakdown"] = "%1$s의 %2$s 내역" +L["%1$s\'s Death Recap"] = "%1$s의 죽음 요약" +L["Overall %1$s"] = "전체 %1$s" +L["You may only have %1$d windows active"] = "%1$d개의 창만 활성화할 수 있습니다" +L["Modern Background Style is required."] = "모던 배경 스타일" + +-- -- 번역 누락분 +L["%1$s's %2$s Breakdown"] = "%1$s의 %2$s 내역" +L["%1$s's Death Recap"] = "%1$s의 죽음 요약" +L["UI Scale Mismatch"] = "UI 배율 불일치" +L["Match Scale"] = "배율 맞추기" +L["Keep Mine"] = "내 설정 유지" +L["This profile was made at %1$d%% UI scale; yours is %2$d%%. Change your UI scale to match the imported profile? This will show all profiles at this scale as UI Scale is not a per-profile setting, but can be changed at any time back to your original value."] = "이 프로필은 UI 배율 %1$d%%에서 만들어졌고, 현재 배율은 %2$d%%입니다. 가져온 프로필에 맞춰 UI 배율을 변경할까요? UI 배율은 프로필별 설정이 아니므로 모든 프로필이 이 배율로 표시되지만, 언제든지 원래 값으로 되돌릴 수 있습니다." +L["Include Overrides"] = "재정의 포함" +L["Import the sharer's complete override setup: spec and conditional override values, groups, their custom Unlock Mode layouts, and Buff Manager overrides. This replaces ALL of your own overrides. Off = keep yours untouched."] = "공유한 사람의 재정의 설정 전체를 가져옵니다. 전문화 및 조건부 재정의 값, 그룹, 해당 그룹의 사용자 지정 잠금 해제 모드 배치, 강화 효과 관리자 재정의가 포함됩니다. 내 재정의는 전부 교체됩니다. 끄면 내 설정을 그대로 유지합니다." +L["This profile string does not carry any Window & Tooltip Skins settings."] = "이 프로필 문자열에는 창 및 툴팁 스킨 설정이 들어 있지 않습니다." +L["Map Icon Size (Blips)"] = "미니맵 요소 크기 (블립)" +L["Scales the tracking blips drawn on the map (herbs, ore, quest dots). The map itself keeps its size; other minimap elements are unaffected."] = "지도 위에 그려지는 추적 표시(약초, 광석, 퀘스트 점) 크기를 조절합니다. 지도 자체 크기와 다른 미니맵 요소는 그대로 유지됩니다." +L["When enabled, Shift+Click any minimap button (mail, calendar, tracking, addon buttons) to drag it to a custom position. While dragging, buttons snap to nearby buttons and the minimap border; hold Ctrl together with Shift to disable snapping."] = "활성화 시 미니맵 버튼(우편, 달력, 추적, 애드온 버튼)을 쉬프트+클릭하여 원하는 위치로 끌 수 있습니다. 끄는 동안 주변 버튼과 미니맵 테두리에 자석처럼 붙습니다. 컨트롤과 쉬프트를 같이 누른 채 끌면 자석이 해제됩니다." +L["Loss of Control"] = "행동 불가" +L["Loss of Control (on)"] = "행동 불가 (켜짐)" +L["Loss of Control (off)"] = "행동 불가 (꺼짐)" +L["Icon Zoom & Spacing"] = "아이콘 확대 및 간격" +L["Buff Spacing X"] = "강화 가로 간격" +L["Buff Spacing Y"] = "강화 세로 간격" +L["Debuff Spacing X"] = "약화 가로 간격" +L["Debuff Spacing Y"] = "약화 세로 간격" +L["All Other Specs"] = "그 외 모든 전문화" +L["Extra Spells"] = "추가 주문" +L["Defensives & Utility"] = "생존기 및 보조능력" +L["Raid CDs"] = "공격대 쿨기" +L["Offensive CDs"] = "공격 쿨기" +L["Core Healing Buffs"] = "핵심 치유 효과" +L["Lesser Healing Buffs"] = "보조 치유 효과" +L["ASSIGNED BUFFS"] = "지정된 강화 효과" +L["Debuff Manager"] = "약화 효과" +L["Base Icons"] = "기본 아이콘" +L["The standard debuff grid"] = "기본 약화 효과 격자" +L["The standard buff grid"] = "기본 강화 효과 격자" +L["ASSIGNED DEBUFFS"] = "지정된 약화 효과" +L["ASSIGNED FILTERS"] = "지정된 필터" +L["DIRECT SPELLS"] = "직접 지정 주문" +L["EFFECT"] = "효과" +L["Show All Debuffs"] = "모든 약화 효과 표시" +L["Base Filters"] = "기본 필터" +L["Add Filter"] = "필터 추가" +L["New Filter"] = "새 필터" +L["Delete Filter"] = "필터 삭제" +L["Rename Filter"] = "필터 이름 변경" +L["Edit Filters"] = "필터 편집" +L["Edit Filters..."] = "필터 편집..." +L["Name the new filter."] = "새 필터의 이름을 입력하세요." +L["Add Icon Effects Per-Filter"] = "필터별 아이콘 효과 추가" +L["Add Spell ID"] = "주문 ID 추가" +L["Search Spells"] = "주문 검색" +L["Enter the spell ID to add to this filter."] = "이 필터에 추가할 주문 ID를 입력하세요." +L["Enter the spell ID to track on this indicator."] = "이 표시기에서 추적할 주문 ID를 입력하세요." +L["No spells yet. Add spell IDs above."] = "아직 주문이 없습니다. 위에서 주문 ID를 추가하세요." +L["Excluded Debuffs"] = "제외된 약화 효과" +L["No excluded debuffs."] = "제외된 약화 효과가 없습니다." +L["Debuffs on this list never display on the raid frames."] = "이 목록의 약화 효과는 공격대 프레임에 절대 표시되지 않습니다." +L["No filters routed"] = "연결된 필터 없음" +L["All Classes"] = "모든 직업" +L["Delete this indicator?"] = "이 표시기를 삭제할까요?" +L["Tooltips"] = "툴팁" +L["Dashes"] = "점선 개수" +L["NAMEPLATE AURA FILTERS"] = "이름표 오라 필터" +L["EXCLUDED DEBUFFS"] = "제외된 약화 효과" +L["Debuff Filters"] = "약화 효과 필터" +L["CC Filters"] = "군중 제어 필터" +L["Debuffs + CC Filters"] = "약화 효과 + 군중 제어 필터" +L["Enter the spell ID to exclude from nameplates."] = "이름표에서 제외할 주문 ID를 입력하세요." +L["This option requires Subtitle Text to include the Guild Name"] = "이 옵션은 부제목 글자에 길드 이름이 포함되어야 합니다" +L["Raid While In Combat"] = "공격대 (전투 중)" +L["Dispellable By You"] = "내가 해제 가능" +L["Frame Glow"] = "프레임 발광" +L["Duration Bar"] = "지속시간 바" +L["Hidden"] = "숨김" +L["Boss Debuffs"] = "우두머리 약화 효과" +L["Role Debuffs"] = "역할 약화 효과" +L["Raid In Combat"] = "공격대 (전투 중)" +L["Debuffs Blizzard flags as priority for raid frames."] = "블리자드가 공격대 프레임에 우선 표시하도록 지정한 약화 효과입니다." +L["Loss-of-control debuffs."] = "행동 불가 계열 약화 효과입니다." +L["Debuffs applied by boss encounters."] = "우두머리 전투에서 적용되는 약화 효과입니다." +L["Debuffs flagged as relevant to your role."] = "내 역할에 관련된 것으로 지정된 약화 효과입니다." +L["Blizzard's curated raid-frame debuff set."] = "블리자드가 공격대 프레임용으로 선별한 약화 효과 모음입니다." +L["The stricter in-combat subset of the raid set."] = "공격대 모음 중 전투 중에만 표시되는 더 엄격한 항목입니다." +L["Debuffs you can dispel."] = "내가 해제할 수 있는 약화 효과입니다." +L["Any debuff with a dispel type (Magic, Curse, Disease, Poison, Bleed), even if you cannot remove it."] = "해제 유형(마법, 저주, 질병, 독, 출혈)이 있는 모든 약화 효과입니다. 내가 해제할 수 없는 것도 포함합니다." +L["Wraps into a new row (or column for vertical growth) after this many icons; 0 keeps one continuous run."] = "이 개수만큼 아이콘이 채워지면 새 줄(세로 성장일 때는 새 열)로 넘어갑니다. 0 이면 줄바꿈 없이 한 줄로 이어집니다." +L["Wraps into a new row (or column for vertical growth) after this many icons; below 2 keeps one continuous run."] = "이 개수만큼 아이콘이 채워지면 새 줄(세로 성장일 때는 새 열)로 넘어갑니다. 2 미만이면 줄바꿈 없이 한 줄로 이어집니다." +L["Add Excluded Debuff"] = "제외할 약화 효과 추가" +L["Assign spells to filters, then filters to indicators. Select a tile to edit it."] = "주문을 필터에 배정한 뒤, 필터를 표시기에 배정하세요. 타일을 선택하면 편집할 수 있습니다." +L["Debuff Icon Border"] = "약화 효과 아이콘 테두리" +L["Delete this filter? It is removed from every indicator using it."] = "이 필터를 삭제할까요? 이 필터를 사용하는 모든 표시기에서 제거됩니다." +L["Delete this indicator? Its settings are removed from the profile."] = "이 표시기를 삭제할까요? 설정이 프로필에서 제거됩니다." +L["Health bar spans the full frame height and the power bar draws on top of it."] = "생명력 바가 프레임 전체 높이를 차지하고 마나 바가 그 위에 겹쳐 표시됩니다." +L["Loss-of-control debuffs. These lead the row and carry the CC glow."] = "행동 불가 계열 약화 효과입니다. 줄 맨 앞에 오고 군중 제어 발광 효과가 적용됩니다." +L["Not available in Dark Mode. Dark Mode colors can be adjusted in Global Settings -> Fonts & Colors."] = "어두운 모드에서는 사용할 수 없습니다. 어두운 모드 색상은 전체 설정 -> 글꼴 및 색상에서 조정합니다." +L["Only show these buffs when you cast them."] = "내가 시전한 경우에만 이 강화 효과를 표시합니다." +L["Selected"] = "선택됨" +L["Show every debuff in the base grid. The Base Filters dropdown is ignored while this is on."] = "기본 격자에 모든 약화 효과를 표시합니다. 이 옵션이 켜져 있으면 기본 필터 선택은 무시됩니다." +L["Show this indicator's buffs on every spec of your class, not only this spec."] = "이 표시기의 강화 효과를 현재 전문화뿐 아니라 해당 직업의 모든 전문화에서 표시합니다." +L["Thickness in physical pixels. -1 follows the Debuff Manager's Border setting, 0 hides the dispel color border."] = "실제 픽셀 단위 두께입니다. -1 이면 약화 효과 관리자의 테두리 설정을 따르고, 0 이면 해제 색상 테두리를 숨깁니다." +L["Subtitle Text Settings"] = "부제목 글자 설정" +L["Show <> Around Guild"] = "길드를 <> 로 감싸기" +L["Border Size Target Effect"] = "테두리 크기 대상 효과" +L["Change Size in the Cogwheel"] = "크기는 톱니바퀴에서 변경" +L["Show the player's title inline with their name, and/or their guild on a line below it, on friendly nameplates."] = "아군 이름표에서 칭호를 이름과 같은 줄에, 길드를 그 아래 줄에 표시합니다." +L["Show the bright spark at the leading edge of the cast bar fill."] = "시전 바가 차오르는 앞쪽 끝에 밝은 불꽃을 표시합니다." +L["This option requires Combine Spell Name and Target to be disabled."] = "이 옵션은 주문 이름과 대상 합치기가 꺼져 있어야 합니다." +L["Your focus target's nameplate never fades with the non-target opacity."] = "주시 대상 이름표는 대상이 아닐 때의 투명도로 흐려지지 않습니다." +L["New Indicator"] = "새 표시기" +L["filter"] = "개 필터" +L["filters"] = "개 필터" +L["spells"] = "개 주문" +L["spell"] = "개 주문" +L["%d junk item(s) could not be sold."] = "잡동사니 %d개를 판매하지 못했습니다." +L["Convert to Party"] = "파티로 전환" +L["In-game countdown unavailable in combat; the boss mod pull timer still started."] = "전투 중에는 게임 내 카운트다운을 사용할 수 없습니다. 보스 모드 풀링 타이머는 시작되었습니다." +L["Raid Tools cannot be toggled by slash command in combat -- use the keybind."] = "전투 중에는 명령어로 공격대 도구를 전환할 수 없습니다. 단축키를 사용하세요." +L["Raid Tools is disabled in the EllesmereUI options."] = "공격대 도구가 EllesmereUI 설정에서 비활성화되어 있습니다." +L["(Level %d)"] = "(%d 레벨)" +L["Add New Group"] = "새 그룹 추가" +L["EUI Friend Groups"] = "EUI 친구 그룹" +L["Favorites are managed by Battle.net"] = "즐겨찾기는 Battle.net에서 관리합니다" +L["Remove from Group"] = "그룹에서 제거" +L["+ Add Threshold"] = "+ 임계값 추가" +L["Add Equipment Slot"] = "장비 칸 추가" +L["At"] = "중첩" +L["Choose which specs sync with %1$s, including your alts' specs (the source is always included)"] = "%1$s와(과) 동기화할 전문화를 선택하세요. 다른 캐릭터의 전문화도 포함됩니다(원본은 항상 포함)" +L["Color the bar differently at several stack counts. The highest count you have reached wins."] = "여러 중첩 수에서 바 색을 다르게 표시합니다. 도달한 가장 높은 수가 적용됩니다." +L["Custom Icon"] = "사용자 지정 아이콘" +L["Drag to Reorder Bars"] = "끌어서 바 순서 변경" +L["GLOBAL"] = "전역" +L["Icon ID always shown for this spell (empty removes)"] = "이 주문에 항상 표시할 아이콘 ID (비우면 제거)" +L["Maximum of 5 thresholds."] = "임계값은 최대 5개입니다." +L["Slot ID"] = "칸 ID" +L["Stack Thresholds"] = "중첩 임계값" +L["Sync cleared -- fewer than two specs remained selected."] = "전문화가 두 개 미만으로 남아 동기화를 해제했습니다." +L["Sync cleared -- only one spec was selected. Tick at least two specs (including other characters' specs) to sync between them."] = "전문화가 하나만 선택되어 동기화를 해제했습니다. 서로 동기화하려면 다른 캐릭터의 전문화를 포함해 최소 두 개를 선택하세요." +L["Syncing generic CDs/buffs across %d specs. Icon order is not synced -- each spec keeps its own arrangement."] = "전문화 %d개에서 공용 재사용 대기시간/강화 효과를 동기화합니다. 아이콘 순서는 동기화되지 않으며 전문화마다 배치를 유지합니다." +L["The single stack threshold is off while Multiple Thresholds is on."] = "다중 임계값이 켜져 있으면 단일 중첩 임계값은 꺼집니다." +L["This setting's active Apply to Bar (All Specs) value will be replaced."] = "이 설정의 현재 바에 적용 (모든 전문화) 값이 교체됩니다." +L["This setting's active Apply to Bar value will be replaced."] = "이 설정의 현재 바에 적용 값이 교체됩니다." +L["Use Multiple Thresholds"] = "다중 임계값 사용" +L["Disabled while %1$s is enabled."] = "%1$s이(가) 켜져 있는 동안 비활성화됩니다." +L["Enter a volume from 0 to 100 for %1$s:"] = "%1$s의 음량을 0에서 100 사이로 입력하세요:" +L["Border is only available when the Power Bar is shown."] = "테두리는 자원 바가 표시될 때만 사용할 수 있습니다." +L["Size matching is unavailable with Blizzard Style Action Bars."] = "블리자드 스타일 행동 단축바에서는 크기 맞추기를 사용할 수 없습니다." +L["Adjust Crop"] = "잘라내기 조절" +L["How much is trimmed from the icon's top and bottom, as a percentage per side. 10% is the classic cropped look."] = "아이콘의 위아래를 각 면 기준 몇 퍼센트씩 잘라낼지 정합니다. 10%가 기존의 잘린 모양입니다." +L["Targeting:"] = "대상 지정:" +L["Could not build the export string."] = "내보내기 문자열을 만들지 못했습니다." +L["Export Failed"] = "내보내기 실패" +L["Import & Reload"] = "가져오기 및 리로드" +L["Import Full Account Data"] = "전체 계정 데이터 가져오기" +L["This cannot be undone. Export your own profile as a backup first."] = "되돌릴 수 없습니다. 먼저 내 프로필을 백업으로 내보내세요." +L["This profile string does not carry any override data."] = "이 프로필 문자열에는 재정의 데이터가 들어 있지 않습니다." +L["This string is a FULL ACCOUNT export. It replaces your account-wide settings with the sender's, including Quality of Life, HoverCast bindings, Cooldown Manager spell setups, unlock anchors, UI scale, and profile keybinds -- not just a profile. Your other profiles are kept, but a profile with the same name is replaced."] = "이 문자열은 전체 계정 내보내기입니다. 프로필뿐 아니라 편의 기능, 클릭(호버)시전 단축키, 재사용 대기시간 관리자 주문 구성, 잠금 해제 기준점, UI 배율, 프로필 단축키를 포함한 계정 전체 설정이 보낸 사람의 것으로 교체됩니다. 다른 프로필은 유지되지만 같은 이름의 프로필은 교체됩니다." +L["This will replace YOUR Blizz UI Enhanced settings (the Window Skins and Tooltips, Menus & Popups tabs) with the sharer's, across ALL of your profiles. Your current settings on those two tabs cannot be recovered afterward."] = "창 스킨과 툴팁, 메뉴 및 팝업 탭의 Blizz UI 향상 설정이 공유자의 것으로 교체되며, 내 모든 프로필에 적용됩니다. 두 탭의 현재 설정은 이후 복구할 수 없습니다." +L["Window skins changed for this profile. A UI reload is needed to apply them."] = "이 프로필의 창 스킨이 변경되었습니다. 적용하려면 UI 리로드가 필요합니다." +L["\"%1$s\" was saved but cannot be loaded because this spec has an assigned profile."] = "\"%1$s\"을(를) 저장했지만 이 전문화에 지정된 프로필이 있어 불러올 수 없습니다." +L["Delete group \"%s\"?\nFriends in this group will be moved to the default list."] = "\"%s\" 그룹을 삭제할까요?\n이 그룹의 친구는 기본 목록으로 이동합니다." +L["Enable Friend Groups"] = "친구 그룹 사용" +L["Organizes your friends list into collapsible custom groups."] = "친구 목록을 접을 수 있는 사용자 지정 그룹으로 정리합니다." +L["FRIEND GROUPS"] = "친구 그룹" +L["New Friend Group"] = "새 친구 그룹" +L["Rename Friend Group"] = "친구 그룹 이름 변경" +L["Delete Friend Group"] = "친구 그룹 삭제" +L["Enter a name for the new group:"] = "새 그룹의 이름을 입력하세요:" +L["Move to Group"] = "그룹으로 이동" +L["Show Ungrouped Section"] = "그룹 없음 항목 표시" +L["Shows the default Friends section for friends not in a custom group."] = "사용자 지정 그룹에 속하지 않은 친구를 기본 친구 항목에 표시합니다." +L["Changing the Friends List reskin requires a UI reload to fully swap between Blizzard and Ellesmere styles."] = "친구 목록 모양 변경을 블리자드와 Ellesmere 스타일 사이에서 완전히 전환하려면 UI 리로드가 필요합니다." +L["Reskin LFG Menu"] = "파티 찾기 창 모양 변경" +L["Reskins the Group Finder / Premade Groups window with the EUI dark style."] = "파티 찾기 / 사전 구성 파티 창을 EUI 어두운 스타일로 바꿉니다." +L["Auto-Refresh Group Search"] = "파티 검색 자동 새로 고침" +L["Automatically refreshes the Premade Groups list every few seconds while you are browsing, so newly posted groups appear without clicking Refresh."] = "목록을 보는 동안 몇 초마다 사전 구성 파티 목록을 자동으로 새로 고쳐, 새로 등록된 파티가 새로 고침을 누르지 않아도 나타납니다." +L["Skin Third-Party Addons"] = "외부 애드온 스킨 적용" +L["Enable Skin Third-Party Addons"] = "외부 애드온 스킨 적용 켜기" +L["THIRD-PARTY ADDONS"] = "외부 애드온" +L["Master switch for skinning other addons that support the EllesmereUI skinning API."] = "EllesmereUI 스킨 API를 지원하는 다른 애드온에 스킨을 적용하는 전체 스위치입니다." +L["Some addon skins could not apply live. A UI reload will fully apply them."] = "일부 애드온 스킨을 바로 적용하지 못했습니다. UI를 리로드하면 완전히 적용됩니다." +L["Removing third-party addon skins requires a UI reload."] = "외부 애드온 스킨을 제거하려면 UI 리로드가 필요합니다." +L["Cleanse"] = "정화" +L["Cleanse Spirit"] = "영혼 정화" +L["Cleanse Toxins"] = "독소 정화" +L["Purify"] = "순화" +L["Purify Spirit"] = "영혼 순화" +L["Detox"] = "해독" +L["Naturalize"] = "자연화" +L["Nature's Cure"] = "자연의 치유" +L["Remove Corruption"] = "타락 제거" +L["Expunge"] = "말소" +L["Texture Settings"] = "텍스처 설정" +L["Blizzard Atlas Class Resource"] = "블리자드 아틀라스 직업 자원" +L["Opacity of the bar fill; below 100 the world shows through the fill instead of the background."] = "바 채움의 불투명도입니다. 100 미만이면 배경 대신 채움 너머로 화면이 비칩니다." +L["Bar Layer"] = "바 표시 계층" +L["Screen layer this bar renders on. Raise it to draw over other frames, lower it to sit behind them."] = "이 바가 그려지는 화면 레이어입니다. 높이면 다른 프레임 위에, 낮추면 뒤에 그려집니다." +L["Native Colors"] = "기본 색상" +L["Desaturated"] = "탈색" +L["Power Colored Background. Power colors can be adjusted in Global Settings -> Fonts & Colors."] = "자원 색 배경입니다. 자원 색은 전체 설정 -> 글꼴 및 색상에서 조정할 수 있습니다." +L["Power Colored Fill. Power colors can be adjusted in Global Settings -> Fonts & Colors."] = "자원 색 채움입니다. 자원 색은 전체 설정 -> 글꼴 및 색상에서 조정할 수 있습니다." +L["This option requires Dark Mode Class Resource to be disabled. Dark Mode colors can be adjusted in Global Settings -> Fonts & Colors."] = "이 옵션은 어두운 모드 직업 자원을 꺼야 사용할 수 있습니다. 어두운 모드 색은 전체 설정 -> 글꼴 및 색상에서 조정할 수 있습니다." +L["Keep the cast bar visible (sitting empty) when you are not casting, instead of hiding it."] = "시전 중이 아닐 때 시전 바를 숨기지 않고 빈 상태로 계속 표시합니다." +L["Opacity of the cast bar fill; below 100 the world shows through the fill instead of the background."] = "시전 바 채움의 불투명도입니다. 100 미만이면 배경 대신 채움 너머로 화면이 비칩니다." +L["Lifts player, target, focus, and boss cast bars above other frames so they are never hidden behind them."] = "플레이어, 대상, 주시, 보스 시전 바를 다른 프레임 위로 올려 뒤에 가려지지 않게 합니다." +L["Colors the cast segment during which your interrupt will be available."] = "시전 방해를 사용할 수 있는 구간에 색을 입힙니다." +L["Shows a small white tick mark where the cast will be when your interrupt comes off cooldown."] = "시전 방해가 재사용 가능해지는 시점에 작은 흰색 눈금을 표시합니다." +L["Appends the cast target to the spell name (Spell Name - Target), class colored, and disables the separate Spell Target display."] = "주문 이름 뒤에 시전 대상을 덧붙이고(주문 이름 - 대상) 직업 색을 입히며, 별도의 주문 대상 표시를 끕니다." +L["Only applies when Name > Target is selected."] = "이름 > 대상을 선택했을 때만 적용됩니다." +L["Only applies when the selected text includes a Name."] = "선택한 텍스트에 이름이 포함될 때만 적용됩니다." +L["Fill the health bar bottom-to-top instead of left-to-right. Absorbs, heal prediction and the bar background follow the same axis."] = "생명력 바를 좌우 대신 아래에서 위로 채웁니다. 흡수, 치유 예측, 바 배경도 같은 방향을 따릅니다." +L["Containers received from the mailbox are held until you close the mailbox, so opening them cannot collide with mail still delivering items."] = "우편함에서 받은 상자는 우편함을 닫을 때까지 대기하므로, 아이템을 전달 중인 우편과 충돌하지 않습니다." +L["Automatically opens bags, boxes and parcels in your inventory when they are added to your bags.\n\nContainers received from the mailbox are held until you close the mailbox, so opening them cannot collide with mail still delivering items."] = "가방에 추가되는 가방/상자/꾸러미를 자동으로 엽니다.\n\n우편함에서 받은 상자는 우편함을 닫을 때까지 대기하므로, 아이템을 전달 중인 우편과 충돌하지 않습니다." +L["This option requires Display Style to be set to Icon"] = "이 옵션은 표시 방식을 아이콘으로 설정해야 사용할 수 있습니다" +L["Above Hovered Row"] = "마우스 올린 줄 위" +L["Left of Window"] = "창 왼쪽" +L["Right of Window"] = "창 오른쪽"