From 3ddee8d40b2169c7ee1641c196e4ba6df5d6e865 Mon Sep 17 00:00:00 2001 From: Neeo1504 Date: Tue, 24 Mar 2026 14:42:15 +0300 Subject: [PATCH 01/11] Add file with russian localization Add file with russian localization (ver. 1.0) --- Locales/ruRU.lua | 112 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 Locales/ruRU.lua diff --git a/Locales/ruRU.lua b/Locales/ruRU.lua new file mode 100644 index 0000000..bc9d17f --- /dev/null +++ b/Locales/ruRU.lua @@ -0,0 +1,112 @@ +local L = LibStub("AceLocale-3.0"):NewLocale("BetterCooldownManager", "ruRU") +if not L then return end + +-- Основные строки интерфейса +L["Cooldown Manager"] = "Менеджер восстановлений" +L["General"] = "Общие" +L["Profiles"] = "Профили" +L["Bars"] = "Панели" +L["Spell Bar"] = "Панель заклинаний" +L["Item Bar"] = "Панель предметов" +L["Trinket Bar"] = "Панель аксессуаров" +L["Power Bar"] = "Панель ресурса" +L["Secondary Power Bar"] = "Доп. панель ресурса" +L["Cast Bar"] = "Панель произнесения" +L["Utility"] = "Утилиты" +L["Buffs"] = "Баффы" + +-- Настройки внешнего вида +L["Skinning"] = "Оформление" +L["Borders"] = "Границы" +L["Pixel Border"] = "Пиксельная граница" +L["Clean Border"] = "Чистая граница" +L["Border Color"] = "Цвет границы" +L["Background Color"] = "Цвет фона" +L["Opacity"] = "Прозрачность" + +-- Текст восстановлений +L["Cooldown Text"] = "Текст восстановления" +L["Font"] = "Шрифт" +L["Font Size"] = "Размер шрифта" +L["Font Color"] = "Цвет шрифта" +L["Show Milliseconds"] = "Показывать миллисекунды" +L["Threshold"] = "Порог" +L["Position"] = "Позиция" +L["Center"] = "Центр" +L["Top Left"] = "Верхний левый" +L["Top Right"] = "Верхний правый" +L["Bottom Left"] = "Нижний левый" +L["Bottom Right"] = "Нижний правый" + +-- Цвета ресурсов +L["Power Colors"] = "Цвета ресурсов" +L["Primary Power"] = "Основной ресурс" +L["Secondary Power"] = "Вторичный ресурс" +L["Mana"] = "Мана" +L["Rage"] = "Ярость" +L["Energy"] = "Энергия" +L["Focus"] = "Сосредоточенность" +L["Runic Power"] = "Сила рун" +L["Fury"] = "Неистовство" +L["Insanity"] = "Безумие" +L["Arcane Charge"] = "Заряды тайной магии" +L["Soul Shards"] = "Осколки души" +L["Holy Power"] = "Сила света" +L["Chi"] = "Ци" +L["Maelstrom"] = "Водоворот" +L["Pain"] = "Боль" + +-- Настройки панелей +L["Anchor"] = "Якорь" +L["Width"] = "Ширина" +L["Height"] = "Высота" +L["Auto Adjust Width"] = "Автоподбор ширины" +L["Scale"] = "Масштаб" +L["Padding"] = "Отступ" +L["Spacing"] = "Расстояние" +L["Columns"] = "Колонки" +L["Rows"] = "Ряды" +L["Show When Usable"] = "Показывать когда доступно" +L["Show When Not Usable"] = "Показывать когда недоступно" +L["Show Cooldown"] = "Показывать восстановление" +L["Reverse Sorting"] = "Обратная сортировка" + +-- Специфические настройки +L["Spell Bar Settings"] = "Настройки панели заклинаний" +L["Add Spell"] = "Добавить заклинание" +L["Remove Spell"] = "Удалить заклинание" +L["Item Bar Settings"] = "Настройки панели предметов" +L["Add Item"] = "Добавить предмет" +L["Remove Item"] = "Удалить предмет" +L["Trinket Bar Settings"] = "Настройки панели аксессуаров" +L["Track Both Trinkets"] = "Отслеживать оба аксессуара" +L["Equipped Trinkets"] = "Надетые аксессуары" +L["Usable Trinkets"] = "Доступные аксессуары" + +-- Разное +L["Profiles"] = "Профили" +L["Import/Export"] = "Импорт/Экспорт" +L["Reset"] = "Сброс" +L["Close"] = "Закрыть" +L["Enabled"] = "Включено" +L["Disabled"] = "Отключено" + +-- Команды +L["Commands"] = "Команды" +L["Open Configuration"] = "Открыть настройки" +L["Reset All Settings"] = "Сбросить все настройки" + +-- Сообщения +L["Profile Imported"] = "Профиль импортирован" +L["Profile Exported"] = "Профиль экспортирован" +L["Settings Reset"] = "Настройки сброшены" +L["Spell Added"] = "Заклинание добавлено" +L["Spell Removed"] = "Заклинание удалено" +L["Item Added"] = "Предмет добавлен" +L["Item Removed"] = "Предмет удален" + +-- Сообщения об ошибках +L["Invalid Spell ID"] = "Неверный ID заклинания" +L["Invalid Item ID"] = "Неверный ID предмета" +L["Spell Not Found"] = "Заклинание не найдено" +L["Item Not Found"] = "Предмет не найден" \ No newline at end of file From 1dde17c6116f304914d174cd7c8d527d62c479cf Mon Sep 17 00:00:00 2001 From: Neeo1504 Date: Tue, 24 Mar 2026 14:43:30 +0300 Subject: [PATCH 02/11] Update BetterCooldownManager.toc Added connection to a file with Russian localization --- BetterCooldownManager.toc | 1 + 1 file changed, 1 insertion(+) diff --git a/BetterCooldownManager.toc b/BetterCooldownManager.toc index 38db7db..a40beb2 100755 --- a/BetterCooldownManager.toc +++ b/BetterCooldownManager.toc @@ -15,6 +15,7 @@ Libraries/Init.xml # Load Locales Locales/enUS.lua Locales/koKR.lua +Locales/ruRU.lua # Load Modules Modules/Init.xml From 674461097ed317864446e156f05b8e30a8154df2 Mon Sep 17 00:00:00 2001 From: Neeo1504 Date: Tue, 24 Mar 2026 17:21:38 +0300 Subject: [PATCH 03/11] Update ruRU.lua --- Locales/ruRU.lua | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/Locales/ruRU.lua b/Locales/ruRU.lua index bc9d17f..016b7a2 100644 --- a/Locales/ruRU.lua +++ b/Locales/ruRU.lua @@ -2,7 +2,7 @@ local L = LibStub("AceLocale-3.0"):NewLocale("BetterCooldownManager", "ruRU") if not L then return end -- Основные строки интерфейса -L["Cooldown Manager"] = "Менеджер восстановлений" +L["Cooldown Manager"] = "Трекер восстановления" L["General"] = "Общие" L["Profiles"] = "Профили" L["Bars"] = "Панели" @@ -10,7 +10,7 @@ L["Spell Bar"] = "Панель заклинаний" L["Item Bar"] = "Панель предметов" L["Trinket Bar"] = "Панель аксессуаров" L["Power Bar"] = "Панель ресурса" -L["Secondary Power Bar"] = "Доп. панель ресурса" +L["Secondary Power Bar"] = "Панель класса" L["Cast Bar"] = "Панель произнесения" L["Utility"] = "Утилиты" L["Buffs"] = "Баффы" @@ -45,7 +45,7 @@ L["Secondary Power"] = "Вторичный ресурс" L["Mana"] = "Мана" L["Rage"] = "Ярость" L["Energy"] = "Энергия" -L["Focus"] = "Сосредоточенность" +L["Focus"] = "Концентрация" L["Runic Power"] = "Сила рун" L["Fury"] = "Неистовство" L["Insanity"] = "Безумие" @@ -56,6 +56,21 @@ L["Chi"] = "Ци" L["Maelstrom"] = "Водоворот" L["Pain"] = "Боль" +--Классы +L["DEATHKNIGHT"] = "Рыцарь смерти" +L["DRUID"] = "Друид" +L["HUNTER"] = "Охотник" +L["MAGE"] = "Маг" +L["MONK"] = "Монах" +L["PALADIN"] = "Паладин" +L["PRIEST"] = "Жрец" +L["ROGUE"] = "Разбойник" +L["SHAMAN"] = "Шаман" +L["WARLOCK"] = "Чернокнижник" +L["WARRIOR"] = "Воин" +L["DEMONHUNTER"] = "Охотник на демонов" +L["EVOKER"] = "Пробудитель" + -- Настройки панелей L["Anchor"] = "Якорь" L["Width"] = "Ширина" @@ -109,4 +124,9 @@ L["Item Removed"] = "Предмет удален" L["Invalid Spell ID"] = "Неверный ID заклинания" L["Invalid Item ID"] = "Неверный ID предмета" L["Spell Not Found"] = "Заклинание не найдено" -L["Item Not Found"] = "Предмет не найден" \ No newline at end of file +L["Item Not Found"] = "Предмет не найден" + +--Поддержка и ссылки +L["Join the Discord Community!"] = "Присоединяйтесь к сообществу Discord!" +L["Report Issues / Feedback on GitHub!"] = "Сообщить о проблемах / оставить отзыв на GitHub!" +L["Support is truly appreciated"] = "Ценим вашу поддержку" From 2cd46e0270d2bbab4a16a12a083ced070d14de40 Mon Sep 17 00:00:00 2001 From: Neeo1504 Date: Tue, 24 Mar 2026 21:01:28 +0300 Subject: [PATCH 04/11] Update CastBar.lua If maxChar = 0, then show full spellname --- Modules/CastBar.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Modules/CastBar.lua b/Modules/CastBar.lua index 7e02db1..ce28caa 100755 --- a/Modules/CastBar.lua +++ b/Modules/CastBar.lua @@ -15,6 +15,9 @@ local function GetDisplayCastText(text, maxChars) if BCDM:IsSecretValue(text) then return text end + if maxChars == 0 then + return text -- Show full spellname + end return string.sub(text, 1, maxChars) end From 06602d08c396a1391581ba3240a34e8ab48862a7 Mon Sep 17 00:00:00 2001 From: Neeo1504 Date: Tue, 24 Mar 2026 21:04:00 +0300 Subject: [PATCH 05/11] Update GUI.lua Increased the spell name length setting to 64 characters --- Core/GUI.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/GUI.lua b/Core/GUI.lua index 760d68e..65d3843 100755 --- a/Core/GUI.lua +++ b/Core/GUI.lua @@ -2842,7 +2842,7 @@ local function CreateCastBarTextSettings(parentContainer) local spellName_MaxCharactersSlider = AG:Create("Slider") spellName_MaxCharactersSlider:SetLabel(LL("Max Characters")) spellName_MaxCharactersSlider:SetValue(BCDM.db.profile.CastBar.Text.SpellName.MaxCharacters) - spellName_MaxCharactersSlider:SetSliderValues(0, 32, 1) + spellName_MaxCharactersSlider:SetSliderValues(0, 64, 1) spellName_MaxCharactersSlider:SetCallback("OnValueChanged", function(self, _, value) BCDM.db.profile.CastBar.Text.SpellName.MaxCharacters = value BCDM:UpdateCastBar() end) spellName_MaxCharactersSlider:SetRelativeWidth(0.25) spellNameContainer:AddChild(spellName_MaxCharactersSlider) From 682ffa0fd7d26ed6d69f96f9ea51cfb57c9a940b Mon Sep 17 00:00:00 2001 From: Neeo1504 Date: Tue, 24 Mar 2026 21:13:31 +0300 Subject: [PATCH 06/11] Update GUI.lua --- Core/GUI.lua | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/Core/GUI.lua b/Core/GUI.lua index 65d3843..a5648de 100755 --- a/Core/GUI.lua +++ b/Core/GUI.lua @@ -15,6 +15,22 @@ local function LL(key) return (LocaleTable and rawget(LocaleTable, key)) or key end +-- FIX: Добавлена вспомогательная функция для установки шрифта виджетам AceGUI +local function SetFontForAceWidget(widget, fontSize) + if not widget or not widget.frame then return end + local font = BCDM.Media.Font + local flag = BCDM.db.profile.General.Fonts.FontFlag or "OUTLINE" + local textRegion = widget.frame.text or widget.frame:GetFontString() + if textRegion and textRegion.SetFont then + textRegion:SetFont(font, fontSize or 12, flag) + end + for _, child in ipairs({ widget.frame:GetRegions() }) do + if child and child.SetFont then + child:SetFont(font, fontSize or 12, flag) + end + end +end + local AnchorPoints = { { ["TOPLEFT"] = LL("Top Left"), ["TOP"] = LL("Top"), ["TOPRIGHT"] = LL("Top Right"), ["LEFT"] = LL("Left"), ["CENTER"] = LL("Center"), ["RIGHT"] = LL("Right"), ["BOTTOMLEFT"] = LL("Bottom Left"), ["BOTTOM"] = LL("Bottom"), ["BOTTOMRIGHT"] = LL("Bottom Right") }, { "TOPLEFT", "TOP", "TOPRIGHT", "LEFT", "CENTER", "RIGHT", "BOTTOMLEFT", "BOTTOM", "BOTTOMRIGHT", } } local PowerNames = { @@ -605,6 +621,7 @@ local function AddItemSpellClassSpecFilterEditor(parentContainer, viewerKey, vie local classHeading = AG:Create("Heading") classHeading:SetText(classEntry.classLabel) classHeading:SetFullWidth(true) + SetFontForAceWidget(classHeading, 14) -- FIX: установка шрифта filterGroup:AddChild(classHeading) local specWidth = 0.25 @@ -652,6 +669,7 @@ local function PopulateClassSpecDropdown(dropdown, spellDB) classItem:SetText(classEntry.classLabel) classItem.userdata.obj = dropdown classItem.SetValue = function() end + SetFontForAceWidget(classItem, 12) -- FIX: установка шрифта local submenu = AG:Create("Dropdown-Pullout") submenu:SetHideOnLeave(true) @@ -740,7 +758,9 @@ end local function CreateInformationTag(containerParent, labelDescription, textJustification) local informationLabel = AG:Create("Label") informationLabel:SetText(BCDM.INFOBUTTON .. labelDescription) - informationLabel:SetFont("Fonts\\FRIZQT__.TTF", 12, "OUTLINE") + -- FIX: используем динамический шрифт + local fontFlag = BCDM.db.profile.General.Fonts.FontFlag or "OUTLINE" + informationLabel:SetFont(BCDM.Media.Font, 12, fontFlag) informationLabel:SetFullWidth(true) informationLabel:SetJustifyH(textJustification or "CENTER") informationLabel:SetHeight(24) @@ -1221,7 +1241,9 @@ local function CreateGeneralSettings(parentContainer) local TwitchInteractive = AG:Create("InteractiveLabel") TwitchInteractive:SetText(LL("|TInterface\\AddOns\\BetterCooldownManager\\Media\\Support\\Twitch.png:25:21|t |cFF8080FFTwitch|r")) - TwitchInteractive:SetFont("Fonts\\FRIZQT__.TTF", 13, "OUTLINE") + -- FIX: используем динамический шрифт + local fontFlag = BCDM.db.profile.General.Fonts.FontFlag or "OUTLINE" + TwitchInteractive:SetFont(BCDM.Media.Font, 13, fontFlag) TwitchInteractive:SetJustifyV("MIDDLE") TwitchInteractive:SetRelativeWidth(0.33) TwitchInteractive:SetCallback("OnClick", function() BCDM:OpenURL(LL("Support Me on Twitch"), "https://www.twitch.tv/unhaltedgb") end) @@ -1231,7 +1253,7 @@ local function CreateGeneralSettings(parentContainer) local DiscordInteractive = AG:Create("InteractiveLabel") DiscordInteractive:SetText(LL("|TInterface\\AddOns\\BetterCooldownManager\\Media\\Support\\Discord.png:21:21|t |cFF8080FFDiscord|r")) - DiscordInteractive:SetFont("Fonts\\FRIZQT__.TTF", 13, "OUTLINE") + DiscordInteractive:SetFont(BCDM.Media.Font, 13, fontFlag) DiscordInteractive:SetJustifyV("MIDDLE") DiscordInteractive:SetRelativeWidth(0.33) DiscordInteractive:SetCallback("OnClick", function() BCDM:OpenURL(LL("Support Me on Discord"), "https://discord.gg/UZCgWRYvVE") end) @@ -1241,7 +1263,7 @@ local function CreateGeneralSettings(parentContainer) local GithubInteractive = AG:Create("InteractiveLabel") GithubInteractive:SetText(LL("|TInterface\\AddOns\\BetterCooldownManager\\Media\\Support\\Github.png:21:21|t |cFF8080FFGithub|r")) - GithubInteractive:SetFont("Fonts\\FRIZQT__.TTF", 13, "OUTLINE") + GithubInteractive:SetFont(BCDM.Media.Font, 13, fontFlag) GithubInteractive:SetJustifyV("MIDDLE") GithubInteractive:SetRelativeWidth(0.33) GithubInteractive:SetCallback("OnClick", function() BCDM:OpenURL(LL("Support Me on Github"), "https://github.com/dalehuntgb/BetterCooldownManager") end) @@ -3126,6 +3148,7 @@ local function CreateProfileSettings(containerParent) local ActiveProfileHeading = AG:Create("Heading") ActiveProfileHeading:SetFullWidth(true) + --SetFontForAceWidget(ActiveProfileHeading, 14) -- FIX: установка шрифта ProfileContainer:AddChild(ActiveProfileHeading) local function RefreshProfiles() @@ -3216,6 +3239,7 @@ local function CreateProfileSettings(containerParent) local GlobalProfileHeading = AG:Create("Heading") GlobalProfileHeading:SetText(LL("Global Profile Settings")) GlobalProfileHeading:SetFullWidth(true) + --SetFontForAceWidget(GlobalProfileHeading, 14) -- FIX: установка шрифта ProfileContainer:AddChild(GlobalProfileHeading) CreateInformationTag(ProfileContainer, LL("If |cFF8080FFUse Global Profile Settings|r is enabled, the profile selected below will be used as your active profile.\nThis is useful if you want to use the same profile across multiple characters.")) @@ -3271,6 +3295,7 @@ local function CreateProfileSettings(containerParent) local ExportingHeading = AG:Create("Heading") ExportingHeading:SetText(LL("Exporting")) ExportingHeading:SetFullWidth(true) + --SetFontForAceWidget(ExportingHeading, 14) -- FIX: установка шрифта SharingContainer:AddChild(ExportingHeading) CreateInformationTag(SharingContainer, LL("You can export your profile by pressing |cFF8080FFExport Profile|r button below & share the string with other |cFF8080FFBetter|rCooldownManager users.")) @@ -3293,6 +3318,7 @@ local function CreateProfileSettings(containerParent) local ImportingHeading = AG:Create("Heading") ImportingHeading:SetText(LL("Importing")) ImportingHeading:SetFullWidth(true) + --SetFontForAceWidget(ImportingHeading, 14) -- FIX: установка шрифта SharingContainer:AddChild(ImportingHeading) CreateInformationTag(SharingContainer, LL("If you have an exported string, paste it in the |cFF8080FFImport String|r box below & press |cFF8080FFImport Profile|r.")) From b1a7c064efdf26c5ff493e9e4f35d58beb5a22b1 Mon Sep 17 00:00:00 2001 From: Neeo1504 Date: Tue, 24 Mar 2026 22:30:24 +0300 Subject: [PATCH 07/11] Update ruRU.lua --- Locales/ruRU.lua | 374 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 276 insertions(+), 98 deletions(-) diff --git a/Locales/ruRU.lua b/Locales/ruRU.lua index 016b7a2..5f473e9 100644 --- a/Locales/ruRU.lua +++ b/Locales/ruRU.lua @@ -1,62 +1,67 @@ local L = LibStub("AceLocale-3.0"):NewLocale("BetterCooldownManager", "ruRU") if not L then return end --- Основные строки интерфейса -L["Cooldown Manager"] = "Трекер восстановления" -L["General"] = "Общие" -L["Profiles"] = "Профили" -L["Bars"] = "Панели" -L["Spell Bar"] = "Панель заклинаний" -L["Item Bar"] = "Панель предметов" -L["Trinket Bar"] = "Панель аксессуаров" +-- ========== Основные разделы ========== +L["General"] = "Общие настройки" +L["Global"] = "Глобальные настройки" +L["Edit Mode Manager"] = "Менеджер макетов интерфейса" +L["Essential"] = "Основные способности" +L["Settings"] = "" +L["Utility"] = "Вспомогательные способности" +L["Buffs"] = "Положительные эффекты" +L["Custom"] = "Кастомная панель" +L["Additional Custom"] = "Доп. кастомная панель" +L["Item"] = "Предметы" +L["Trinkets"] = "Аксессуары" +L["Items & Spells"] = "Предметы и заклинания" L["Power Bar"] = "Панель ресурса" -L["Secondary Power Bar"] = "Панель класса" -L["Cast Bar"] = "Панель произнесения" -L["Utility"] = "Утилиты" -L["Buffs"] = "Баффы" - --- Настройки внешнего вида -L["Skinning"] = "Оформление" -L["Borders"] = "Границы" -L["Pixel Border"] = "Пиксельная граница" -L["Clean Border"] = "Чистая граница" -L["Border Color"] = "Цвет границы" -L["Background Color"] = "Цвет фона" -L["Opacity"] = "Прозрачность" - --- Текст восстановлений -L["Cooldown Text"] = "Текст восстановления" -L["Font"] = "Шрифт" -L["Font Size"] = "Размер шрифта" -L["Font Color"] = "Цвет шрифта" -L["Show Milliseconds"] = "Показывать миллисекунды" -L["Threshold"] = "Порог" -L["Position"] = "Позиция" -L["Center"] = "Центр" +L["Secondary Power Bar"] = "Панель ресурса класса" +L["Cast Bar"] = "Панель применения" +L["Profiles"] = "Профили" + +-- ========== Якоря ========== L["Top Left"] = "Верхний левый" +L["Top"] = "Верх" L["Top Right"] = "Верхний правый" +L["Left"] = "Левый" +L["Center"] = "Центр" +L["Right"] = "Правый" L["Bottom Left"] = "Нижний левый" +L["Bottom"] = "Низ" L["Bottom Right"] = "Нижний правый" --- Цвета ресурсов -L["Power Colors"] = "Цвета ресурсов" -L["Primary Power"] = "Основной ресурс" -L["Secondary Power"] = "Вторичный ресурс" +-- ========== Имена ресурсов ========== L["Mana"] = "Мана" L["Rage"] = "Ярость" -L["Energy"] = "Энергия" L["Focus"] = "Концентрация" +L["Energy"] = "Энергия" +L["Combo Points"] = "Очки комбо" +L["Runes"] = "Руны" L["Runic Power"] = "Сила рун" -L["Fury"] = "Неистовство" -L["Insanity"] = "Безумие" -L["Arcane Charge"] = "Заряды тайной магии" L["Soul Shards"] = "Осколки души" +L["Astral Power"] = "Астральная мощь" L["Holy Power"] = "Сила света" -L["Chi"] = "Ци" L["Maelstrom"] = "Водоворот" +L["Chi"] = "Ци" +L["Insanity"] = "Безумие" +L["Arcane Charges"] = "Заряды тайной магии" +L["Fury"] = "Неистовство" L["Pain"] = "Боль" +L["Essence"] = "Эссенция" +L["Stagger"] = "Пошатывание" +L["Soul Fragments"] = "Фрагменты души" +L["Soul"] = "Душа" +L["Rune on Cooldown"] = "Восстановление руны" +L["Charged Combo Points"] = "Заряженные очки комбо" +L["Essence on Cooldown"] = "Восстановление эссенции" +L["Frost"] = "Лед" +L["Unholy"] = "Нечестивость" +L["Blood"] = "Кровь" +L["Light Stagger"] = "Лёгкое пошатывание" +L["Moderate Stagger"] = "Среднее пошатывание" +L["Heavy Stagger"] = "Тяжёлое пошатывание" ---Классы +-- ========== Имена классов ========== L["DEATHKNIGHT"] = "Рыцарь смерти" L["DRUID"] = "Друид" L["HUNTER"] = "Охотник" @@ -71,62 +76,235 @@ L["WARRIOR"] = "Воин" L["DEMONHUNTER"] = "Охотник на демонов" L["EVOKER"] = "Пробудитель" --- Настройки панелей -L["Anchor"] = "Якорь" +-- ========== Support messages ========== +L["Join the |TInterface\\AddOns\\UnhaltedUnitFrames\\Media\\Support\\Discord.png:18:18|t |cFF8080FFDiscord|r Community!"] = "Присоединяйтесь к сообществу |TInterface\\AddOns\\UnhaltedUnitFrames\\Media\\Support\\Discord.png:18:18|t |cFF8080FFDiscord|r!" +L["Report Issues / Feedback on |TInterface\\AddOns\\UnhaltedUnitFrames\\Media\\Support\\GitHub.png:18:18|t |cFF8080FFGitHub|r!"] = "Сообщить о проблемах / отзыв на |TInterface\\AddOns\\UnhaltedUnitFrames\\Media\\Support\\GitHub.png:18:18|t |cFF8080FFGitHub|r!" +L["Follow Me on |TInterface\\AddOns\\UnhaltedUnitFrames\\Media\\Support\\Twitch.png:18:14|t |cFF8080FFTwitch|r!"] = "Подписывайтесь на |TInterface\\AddOns\\UnhaltedUnitFrames\\Media\\Support\\Twitch.png:18:14|t |cFF8080FFTwitch|r!" +L["|cFF8080FFSupport|r is truly appreciated |TInterface\\AddOns\\UnhaltedUnitFrames\\Media\\Emotes\\peepoLove.png:18:18|t |cFF8080FFDevelopment|r takes time & effort."] = "|cFF8080FFВаша поддержка|r очень ценится |TInterface\\AddOns\\UnhaltedUnitFrames\\Media\\Emotes\\peepoLove.png:18:18|t |cFF8080FFРазработка|r требует времени и усилий." + +-- ========== Data dropdown ========== +L["Class Spells"] = "Классовые заклинания" +L["Racials"] = "Расовые способности" +L["Items"] = "Предметы" +L["Unknown"] = "Неизвестно" + +-- ========== Основные настройки ========== +L["Power Colours"] = "Цвета ресурсов" +L["Primary Colours"] = "Основные цвета" +L["Secondary Colours"] = "Вторичные цвета" +L["Death Knight Rune Colours"] = "Цвета рун рыцаря смерти" +L["Stagger Colours"] = "Цвета рассеивания" +L["Rune"] = "Руна" +L["Reset Power Colours"] = "Сбросить цвета ресурсов" +L["How To Support"] = "Как поддержать" +L["Development"] = "разработку" +L["Support Me on Twitch"] = "Поддержать на Twitch" +L["Support Me on Discord"] = "Поддержать в Discord" +L["Support Me on Github"] = "Поддержать на GitHub" + +-- ========== Глобальные настройки ========== +L["Global Settings"] = "Глобальные настройки" +L["Enable Skinning - |cFFFF4040Reload|r Required."] = "Включить стилизацию - требуется |cFFFF4040перезагрузка|r." +L["Disable Aura Overlay"] = "Отключить наложение ауры" +L["Display Login Message"] = "Показывать сообщение при входе" +L["Icon Zoom"] = "Масштаб иконки" +L["Border Size"] = "Размер границы" +L["Font Settings"] = "Настройки шрифта" +L["Font"] = "Шрифт" +L["Font Size"] = "Размер шрифта" +L["Font Colour"] = "Цвет шрифта" +L["Font Flag"] = "Стиль шрифта" +L["Font Shadows"] = "Тени шрифта" +L["Enable"] = "Включить" +L["Shadow Colour"] = "Цвет тени" +L["Shadow Offset X"] = "Смещение тени по X" +L["Shadow Offset Y"] = "Смещение тени по Y" +L["Texture Settings"] = "Настройки текстур" +L["Foreground Texture"] = "Текстура переднего плана" +L["Background Texture"] = "Текстура фона" +L["Animation Settings"] = "Настройки анимации" +L["Smooth Bar Animation - Applies to |cFF8080FFCast Bar|r, |cFF8080FFPower Bar|r and |cFF8080FFSecondary Power Bar|r."] = "Плавная анимация панелей - применяется к |cFF8080FFпанели произнесения|r, |cFF8080FFпанели ресурса|r и |cFF8080FFпанели ресурса класса|r." +L["Cooldown Text Settings"] = "Настройки текста восстановления" +L["Text Colour"] = "Цвет текста" +L["Scale By Icon Size"] = "Масштабировать по размеру иконки" + +-- ========== Пользовательское свечение ========== +L["Custom Glows"] = "Пользовательское свечение" +L["Enable Custom Glow"] = "Включить пользовательское свечение" +L["Glow Options"] = "Настройки свечения" +L["Glow Type"] = "Тип свечения" +L["Action Button"] = "Кнопка действия" +L["Pixel"] = "Пиксельное" +L["Autocast"] = "Автоприменение" +L["Proc"] = "Прок" +L["Frequency"] = "Частота" +L["Lines"] = "Линии" +L["Length"] = "Длина" +L["Thickness"] = "Толщина" +L["Border"] = "Граница" +L["Start Animation"] = "Запускать анимацию" +L["Duration"] = "Длительность" +L["Particles"] = "Частицы" +L["Scale"] = "Масштаб" +L["Glow Color"] = "Цвет свечения" + +-- ========== Настройки текста ========== +-- Эти ключи уже есть, но для уверенности добавим, если отсутствуют +L["Anchor From"] = "Привязать от" +L["Anchor To"] = "Привязать к" +L["X Offset"] = "Смещение по X" +L["Y Offset"] = "Смещение по Y" +L["Bottom Right"] = "Нижний правый" + +-- ========== Менеджер макетов интерфейса ========== +L["Edit Mode Manager Settings"] = "Настройки менеджера макетов интерфейса" +L["Layouts"] = "Макеты" +L["Raid Difficulty Settings"] = "Настройки сложности рейда" +L["Define |cFF8080FFEdit Mode Layouts|r for Different Raid Difficulties."] = "Определите |cFF8080FFмакеты менеджера макетов интерфейса|r для разных сложностей рейда." +L["Swap on Instance Difficulty"] = "Переключать при сложности подземелья" +L["Layout"] = "Макет" + +-- ========== Отображение текста восстановления ========== +L["Buff Viewer Settings"] = "Настройки панели баффов" +L["Center Buffs (Horizontally or Vertically) - |cFFFF4040Reload|r Required."] = "Центрировать баффы (горизонтально или вертикально) - требуется |cFFFF4040перезагрузка|r." +L["Center Second Row (Horizontally) - |cFFFF4040Reload|r Required."] = "Центрировать второй ряд (горизонтально) - требуется |cFFFF4040перезагрузка|r." +L["Enable Trinket Viewer"] = "Включить панель аксессуаров" +L["Layout & Positioning"] = "Макет и позиционирование" +L["|cFFFFCC00Padding|r is handled by |cFF00B0F7Blizzard|r, not |cFF8080FFBetter|rCooldownManager."] = "|cFFFFCC00Отступы|r обрабатываются |cFF00B0F7Blizzard|r, а не |cFF8080FFBetter|rCooldownManager." +L["Anchor To Parent"] = "Привязать к родителю" +L["Growth Direction"] = "Направление роста" +L["Icon Spacing"] = "Расстояние между иконками" +L["Wrap After"] = "Перенос после" +L["Icon Settings"] = "Настройки иконок" +L["Keep Aspect Ratio"] = "Сохранять пропорции" +L["Hide Items with Zero Charges/Uses"] = "Скрывать предметы с нулевым количеством зарядов/использований" +L["Show Item Quality"] = "Показывать качество предмета" +L["Icon Size"] = "Размер иконки" +L["Icon Width"] = "Ширина иконки" +L["Icon Height"] = "Высота иконки" +L["Size changes will be applied on closing the |cFF8080FFBetter|rCooldownManager Configuration Window."] = "Изменения размера будут применены после закрытия окна настроек |cFF8080FFBetter|rCooldownManager." +L["Update"] = "Обновить" +L["Frame Strata"] = "Слой фрейма" +L["Custom Spells"] = "Пользовательские заклинания" +L["Custom Items"] = "Пользовательские предметы" +L["Tracking |cFF8080FFmultiple ranks|r of the same item is supported & will display the item with the highest rank."] = "Поддерживается отслеживание |cFF8080FFнескольких рангов|r одного предмета, будет отображаться предмет с наивысшим рангом." +L["Items & Spells"] = "Предметы и заклинания" +L["|cFFFFCC00Spells|r can be added by their |cFF8080FFSpell Name|r or |cFF8080FFSpell ID|r, |cFFFFCC00Items|r must be added by their |cFF8080FFItem ID|r."] = "|cFFFFCC00Заклинания|r можно добавлять по |cFF8080FFназванию|r или |cFF8080FFID|r, |cFFFFCC00предметы|r — только по |cFF8080FFID предмета|r." + +-- ========== Настройка умений ========== +L["Add Racials"] = "Добавить расовые способности" +L["Remove Racials"] = "Удалить расовые способности" +L["This will add all racials to every single class & specialization on your profile."] = "Это добавит все расовые способности для каждого класса и специализации в вашем профиле." +L["This will remove all racials from every single class & specialization on your profile."] = "Это удалит все расовые способности для каждого класса и специализации в вашем профиле." +L["Select a Class & Specialization"] = "Выберите класс и специализацию" +L["Add Spell by ID or Spell Name"] = "Добавить заклинание по ID или названию" +L["Spell List"] = "Список заклинаний" +L["Add Item by ID"] = "Добавить предмет по ID" +L["Item List"] = "Список предметов" +L["Spell & Item List"] = "Список заклинаний и предметов" +L["Up"] = "Вверх" +L["Down"] = "Вниз" +L["X"] = "X" +L["Load"] = "Загрузить" +L["Hide"] = "Скрыть" +L["Load Conditions"] = "Условия загрузки" +L["Always"] = "Всегда" +L["No Specializations Available"] = "Нет доступных специализаций" +L["No Specializations Selected"] = "Не выбрано ни одной специализации" +L["All Specializations Selected"] = "Выбраны все специализации" +L["%d of %d Specializations Selected"] = "Выбрано %d из %d специализаций" + +-- ========== Настройки панели ресурсов ========== +L["Toggles & Colours"] = "Переключатели и цвета" +L["Enable Power Bar"] = "Включить панель ресурса" +L["Colour By Power Type"] = "Цвет по типу ресурса" +L["Colour By Class"] = "Цвет по классу" +L["Match Width Of Anchor"] = "Совпадать с шириной якоря" +L["Frequent Updates"] = "Частые обновления" +L["Foreground Colour"] = "Цвет переднего плана" +L["Background Colour"] = "Цвет фона" L["Width"] = "Ширина" L["Height"] = "Высота" -L["Auto Adjust Width"] = "Автоподбор ширины" -L["Scale"] = "Масштаб" -L["Padding"] = "Отступ" -L["Spacing"] = "Расстояние" -L["Columns"] = "Колонки" -L["Rows"] = "Ряды" -L["Show When Usable"] = "Показывать когда доступно" -L["Show When Not Usable"] = "Показывать когда недоступно" -L["Show Cooldown"] = "Показывать восстановление" -L["Reverse Sorting"] = "Обратная сортировка" - --- Специфические настройки -L["Spell Bar Settings"] = "Настройки панели заклинаний" -L["Add Spell"] = "Добавить заклинание" -L["Remove Spell"] = "Удалить заклинание" -L["Item Bar Settings"] = "Настройки панели предметов" -L["Add Item"] = "Добавить предмет" -L["Remove Item"] = "Удалить предмет" -L["Trinket Bar Settings"] = "Настройки панели аксессуаров" -L["Track Both Trinkets"] = "Отслеживать оба аксессуара" -L["Equipped Trinkets"] = "Надетые аксессуары" -L["Usable Trinkets"] = "Доступные аксессуары" - --- Разное -L["Profiles"] = "Профили" -L["Import/Export"] = "Импорт/Экспорт" -L["Reset"] = "Сброс" -L["Close"] = "Закрыть" -L["Enabled"] = "Включено" -L["Disabled"] = "Отключено" - --- Команды -L["Commands"] = "Команды" -L["Open Configuration"] = "Открыть настройки" -L["Reset All Settings"] = "Сбросить все настройки" - --- Сообщения -L["Profile Imported"] = "Профиль импортирован" -L["Profile Exported"] = "Профиль экспортирован" -L["Settings Reset"] = "Настройки сброшены" -L["Spell Added"] = "Заклинание добавлено" -L["Spell Removed"] = "Заклинание удалено" -L["Item Added"] = "Предмет добавлен" -L["Item Removed"] = "Предмет удален" - --- Сообщения об ошибках -L["Invalid Spell ID"] = "Неверный ID заклинания" -L["Invalid Item ID"] = "Неверный ID предмета" -L["Spell Not Found"] = "Заклинание не найдено" -L["Item Not Found"] = "Предмет не найден" - ---Поддержка и ссылки -L["Join the Discord Community!"] = "Присоединяйтесь к сообществу Discord!" -L["Report Issues / Feedback on GitHub!"] = "Сообщить о проблемах / оставить отзыв на GitHub!" -L["Support is truly appreciated"] = "Ценим вашу поддержку" +L["Height (No Secondary Power)"] = "Высота (без дополнительного ресурса)" +L["Enable Power Text"] = "Включить текст ресурса" + +-- ========== Настройки панели ресурсов класса ========== +L["Colours are applied in the order they are displayed here. It'll always colour by |cFF8080FFpower type|r first, then by |cFF8080FFclass|r.\nFor |cFFC41E3ADeath Knights|r and |cFF00FF98Monks|r, specialization/state colours are applied last."] = "Цвета применяются в порядке отображения: сначала |cFF8080FFтип ресурса|r, затем |cFF8080FFкласс|r.\nДля |cFFC41E3Aрыцарей смерти|r и |cFF00FF98монахов|r последними применяются цвета специализации/состояния." +L["Hide Ticks"] = "Скрыть деления" +L["Colour by Specialization"] = "Цвет по специализации" +L["Colour by Stagger"] = "Цвет по пошатыванию" +L["Stagger Damage Per Second"] = "Урон от пошатывания в секунду" +L["Swap To Power Bar Position"] = "Заменить панель ресурса" +L["Height (No Primary Bar)"] = "Высота (без основной панели)" +L["Enable Text"] = "Включить текст" + +-- ========== Настройки панели применения заклинаний ========== +L["Enable Cast Bar"] = "Включить панель произнесения" +L["Enable Cast Icon"] = "Включить иконку произнесения" +L["Icon Position"] = "Положение иконки" +L["Spell Name Settings"] = "Настройки названия заклинания" +L["Cast Time Settings"] = "Настройки времени произнесения" +L["Max Characters"] = "Макс. символов" + +-- ========== Настройки профилей ========== +L["Profile Management"] = "Управление профилями" +L["Select..."] = "Выбрать..." +L["Copy From..."] = "Копировать из..." +L["Delete..."] = "Удалить..." +L["Reset"] = "Сбросить" +L["Profile"] = "профиль" +L["Profile Name:"] = "Имя профиля:" +L["Create Profile"] = "Создать профиль" +L["Global Profile Settings"] = "Настройки глобального профиля" +L["If |cFF8080FFUse Global Profile Settings|r is enabled, the profile selected below will be used as your active profile.\nThis is useful if you want to use the same profile across multiple characters."] = "Если |cFF8080FFиспользовать глобальный профиль|r включено, выбранный ниже профиль будет активным.\nЭто удобно, если вы хотите использовать один профиль на нескольких персонажах." +L["Use Global Profile Settings"] = "Использовать глобальный профиль" +L["Global Profile..."] = "Глобальный профиль..." +L["Specialization Profiles"] = "Профили специализаций" +L["Enable Specialization Profiles"] = "Включить профили специализаций" +L["Spec %d"] = "Спец. %d" +L["Profile Sharing"] = "Обмен профилями" +L["Exporting"] = "Экспорт" +L["You can export your profile by pressing |cFF8080FFExport Profile|r button below & share the string with other |cFF8080FFBetter|rCooldownManager users."] = "Вы можете экспортировать профиль, нажав кнопку |cFF8080FFЭкспорт профиля|r, и поделиться строкой с другими пользователями |cFF8080FFBetter|rCooldownManager." +L["Export String..."] = "Строка экспорта..." +L["Export Profile"] = "Экспорт профиля" +L["Importing"] = "Импорт" +L["If you have an exported string, paste it in the |cFF8080FFImport String|r box below & press |cFF8080FFImport Profile|r."] = "Если у вас есть экспортированная строка, вставьте её в поле |cFF8080FFСтрока импорта|r и нажмите |cFF8080FFИмпорт профиля|r." +L["Import String..."] = "Строка импорта..." +L["Import Profile"] = "Импорт профиля" + +-- ========== Диалоги ========== +L["You must reload to apply this change, do you want to reload now?"] = "Для применения изменения требуется перезагрузка. Перезагрузить сейчас?" +L["Reload Now"] = "Перезагрузить сейчас" +L["Later"] = "Позже" +L["You must |cFFFF4040reload|r in order for changes to take effect. Do you want to reload now?"] = "Чтобы изменения вступили в силу, необходима |cFFFF4040перезагрузка|r. Перезагрузить сейчас?" +L["Reload"] = "Перезагрузить" +L["Cancel"] = "Отмена" +L["Copy Profile"] = "Копировать профиль" +L["Are you sure you want to copy from"] = "Вы уверены, что хотите скопировать из" +L["This will |cFFFF4040overwrite|r your current profile settings."] = "Это |cFFFF4040перезапишет|r текущие настройки профиля." +L["Delete Profile"] = "Удалить профиль" +L["Are you sure you want to delete"] = "Вы уверены, что хотите удалить" + +-- ========== Сообщения экспорта / импорта ========== +L["Invalid Import String."] = "Неверная строка импорта." + +-- ========== Родители якорей ========== +L["|cFF00AEF7Blizzard|r: Essential Cooldown Viewer"] = "|cFF00AEF7Blizzard|r: Основная панель восстановлений" +L["|cFF00AEF7Blizzard|r: Utility Cooldown Viewer"] = "|cFF00AEF7Blizzard|r: Вспомогательная панель восстановлений" +L["|cFF00AEF7Blizzard|r: UIParent"] = "|cFF00AEF7Blizzard|r: Родительский UI" +L["|cFF00AEF7Blizzard|r: Player Frame"] = "|cFF00AEF7Blizzard|r: Рамка игрока" +L["|cFF00AEF7Blizzard|r: Target Frame"] = "|cFF00AEF7Blizzard|r: Рамка цели" +L["|cFF8080FFBCDM|r: Power Bar"] = "|cFF8080FFBCDM|r: Панель ресурса" +L["|cFF8080FFBCDM|r: Secondary Power Bar"] = "|cFF8080FFBCDM|r: Доп. панель ресурса" +L["|cFF8080FFBCDM|r: Cast Bar"] = "|cFF8080FFBCDM|r: Панель произнесения" +L["|cFF8080FFBCDM|r: Custom Bar"] = "|cFF8080FFBCDM|r: Пользовательская панель" +L["|cFF8080FFBCDM|r: Additional Custom Bar"] = "|cFF8080FFBCDM|r: Доп. пользовательская панель" +L["|cFF8080FFBCDM|r: Item Bar"] = "|cFF8080FFBCDM|r: Панель предметов" +L["|cFF8080FFBCDM|r: Items/Spells Bar"] = "|cFF8080FFBCDM|r: Панель предметов/заклинаний" +L["|cFF8080FFBCDM|r: Trinket Bar"] = "|cFF8080FFBCDM|r: Панель аксессуаров" + +-- ========== Разное ========== +L["SpellID"] = "ID заклинания" +L["ID"] = "ID" +L["'|cFF8080FF/bcdm|r' for in-game configuration."] = "|cFF8080FF/bcdm|r — для настройки в игре." +L["Text Settings"] = "Настройки текста" From 96b645ea7be7a29edc534a0495f8362b922856f2 Mon Sep 17 00:00:00 2001 From: Neeo1504 Date: Tue, 24 Mar 2026 22:31:21 +0300 Subject: [PATCH 08/11] Update GUI.lua --- Core/GUI.lua | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/Core/GUI.lua b/Core/GUI.lua index a5648de..3f27c5c 100755 --- a/Core/GUI.lua +++ b/Core/GUI.lua @@ -31,7 +31,20 @@ local function SetFontForAceWidget(widget, fontSize) end end -local AnchorPoints = { { ["TOPLEFT"] = LL("Top Left"), ["TOP"] = LL("Top"), ["TOPRIGHT"] = LL("Top Right"), ["LEFT"] = LL("Left"), ["CENTER"] = LL("Center"), ["RIGHT"] = LL("Right"), ["BOTTOMLEFT"] = LL("Bottom Left"), ["BOTTOM"] = LL("Bottom"), ["BOTTOMRIGHT"] = LL("Bottom Right") }, { "TOPLEFT", "TOP", "TOPRIGHT", "LEFT", "CENTER", "RIGHT", "BOTTOMLEFT", "BOTTOM", "BOTTOMRIGHT", } } +local AnchorPoints = { + { + ["TOPLEFT"] = LL("Top Left"), + ["TOP"] = LL("Top"), + ["TOPRIGHT"] = LL("Top Right"), + ["LEFT"] = LL("Left"), + ["CENTER"] = LL("Center"), + ["RIGHT"] = LL("Right"), + ["BOTTOMLEFT"] = LL("Bottom Left"), + ["BOTTOM"] = LL("Bottom"), + ["BOTTOMRIGHT"] = LL("Bottom Right"), + }, + { "TOPLEFT", "TOP", "TOPRIGHT", "LEFT", "CENTER", "RIGHT", "BOTTOMLEFT", "BOTTOM", "BOTTOMRIGHT", } +} local PowerNames = { [0] = LL("Mana"), @@ -856,10 +869,10 @@ local function CreateCustomGlowSettings(parentContainer) local glowType = AG:Create("Dropdown") glowType:SetLabel(LL("Glow Type")) glowType:SetList({ - Pixel = "Pixel", - Autocast = "Autocast", - Proc = "Proc", - Button = "Action Button", + Pixel = LL("Pixel"), + Autocast = LL("Autocast"), + Proc = LL("Proc"), + Button = LL("Action Button"), }) glowType:SetValue(glowSettings.Type or "Pixel") glowType:SetRelativeWidth(0.5) From b7b6c8e33cdefa40e8f8421b112398c25017f997 Mon Sep 17 00:00:00 2001 From: Neeo1504 Date: Tue, 24 Mar 2026 22:36:44 +0300 Subject: [PATCH 09/11] Update GUI.lua --- Core/GUI.lua | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/Core/GUI.lua b/Core/GUI.lua index 3f27c5c..ef3f740 100755 --- a/Core/GUI.lua +++ b/Core/GUI.lua @@ -15,7 +15,6 @@ local function LL(key) return (LocaleTable and rawget(LocaleTable, key)) or key end --- FIX: Добавлена вспомогательная функция для установки шрифта виджетам AceGUI local function SetFontForAceWidget(widget, fontSize) if not widget or not widget.frame then return end local font = BCDM.Media.Font @@ -634,7 +633,7 @@ local function AddItemSpellClassSpecFilterEditor(parentContainer, viewerKey, vie local classHeading = AG:Create("Heading") classHeading:SetText(classEntry.classLabel) classHeading:SetFullWidth(true) - SetFontForAceWidget(classHeading, 14) -- FIX: установка шрифта + SetFontForAceWidget(classHeading, 14) filterGroup:AddChild(classHeading) local specWidth = 0.25 @@ -682,7 +681,7 @@ local function PopulateClassSpecDropdown(dropdown, spellDB) classItem:SetText(classEntry.classLabel) classItem.userdata.obj = dropdown classItem.SetValue = function() end - SetFontForAceWidget(classItem, 12) -- FIX: установка шрифта + SetFontForAceWidget(classItem, 12) local submenu = AG:Create("Dropdown-Pullout") submenu:SetHideOnLeave(true) @@ -771,7 +770,6 @@ end local function CreateInformationTag(containerParent, labelDescription, textJustification) local informationLabel = AG:Create("Label") informationLabel:SetText(BCDM.INFOBUTTON .. labelDescription) - -- FIX: используем динамический шрифт local fontFlag = BCDM.db.profile.General.Fonts.FontFlag or "OUTLINE" informationLabel:SetFont(BCDM.Media.Font, 12, fontFlag) informationLabel:SetFullWidth(true) @@ -1254,7 +1252,6 @@ local function CreateGeneralSettings(parentContainer) local TwitchInteractive = AG:Create("InteractiveLabel") TwitchInteractive:SetText(LL("|TInterface\\AddOns\\BetterCooldownManager\\Media\\Support\\Twitch.png:25:21|t |cFF8080FFTwitch|r")) - -- FIX: используем динамический шрифт local fontFlag = BCDM.db.profile.General.Fonts.FontFlag or "OUTLINE" TwitchInteractive:SetFont(BCDM.Media.Font, 13, fontFlag) TwitchInteractive:SetJustifyV("MIDDLE") @@ -3161,7 +3158,7 @@ local function CreateProfileSettings(containerParent) local ActiveProfileHeading = AG:Create("Heading") ActiveProfileHeading:SetFullWidth(true) - --SetFontForAceWidget(ActiveProfileHeading, 14) -- FIX: установка шрифта + --SetFontForAceWidget(ActiveProfileHeading, 14) ProfileContainer:AddChild(ActiveProfileHeading) local function RefreshProfiles() @@ -3252,7 +3249,7 @@ local function CreateProfileSettings(containerParent) local GlobalProfileHeading = AG:Create("Heading") GlobalProfileHeading:SetText(LL("Global Profile Settings")) GlobalProfileHeading:SetFullWidth(true) - --SetFontForAceWidget(GlobalProfileHeading, 14) -- FIX: установка шрифта + --SetFontForAceWidget(GlobalProfileHeading, 14) ProfileContainer:AddChild(GlobalProfileHeading) CreateInformationTag(ProfileContainer, LL("If |cFF8080FFUse Global Profile Settings|r is enabled, the profile selected below will be used as your active profile.\nThis is useful if you want to use the same profile across multiple characters.")) @@ -3308,7 +3305,7 @@ local function CreateProfileSettings(containerParent) local ExportingHeading = AG:Create("Heading") ExportingHeading:SetText(LL("Exporting")) ExportingHeading:SetFullWidth(true) - --SetFontForAceWidget(ExportingHeading, 14) -- FIX: установка шрифта + --SetFontForAceWidget(ExportingHeading, 14) SharingContainer:AddChild(ExportingHeading) CreateInformationTag(SharingContainer, LL("You can export your profile by pressing |cFF8080FFExport Profile|r button below & share the string with other |cFF8080FFBetter|rCooldownManager users.")) @@ -3331,7 +3328,7 @@ local function CreateProfileSettings(containerParent) local ImportingHeading = AG:Create("Heading") ImportingHeading:SetText(LL("Importing")) ImportingHeading:SetFullWidth(true) - --SetFontForAceWidget(ImportingHeading, 14) -- FIX: установка шрифта + --SetFontForAceWidget(ImportingHeading, 14) SharingContainer:AddChild(ImportingHeading) CreateInformationTag(SharingContainer, LL("If you have an exported string, paste it in the |cFF8080FFImport String|r box below & press |cFF8080FFImport Profile|r.")) From cf23bd0d8e18576d06cbd0e54e32c3bb4eda66fe Mon Sep 17 00:00:00 2001 From: Neeo1504 Date: Wed, 25 Mar 2026 13:28:44 +0300 Subject: [PATCH 10/11] Update ruRU.lua --- Locales/ruRU.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/Locales/ruRU.lua b/Locales/ruRU.lua index 5f473e9..1f72014 100644 --- a/Locales/ruRU.lua +++ b/Locales/ruRU.lua @@ -149,12 +149,10 @@ L["Scale"] = "Масштаб" L["Glow Color"] = "Цвет свечения" -- ========== Настройки текста ========== --- Эти ключи уже есть, но для уверенности добавим, если отсутствуют L["Anchor From"] = "Привязать от" L["Anchor To"] = "Привязать к" L["X Offset"] = "Смещение по X" L["Y Offset"] = "Смещение по Y" -L["Bottom Right"] = "Нижний правый" -- ========== Менеджер макетов интерфейса ========== L["Edit Mode Manager Settings"] = "Настройки менеджера макетов интерфейса" From 15b626def75a64d18bcabd6663af11f4b309e0b3 Mon Sep 17 00:00:00 2001 From: Neo Date: Thu, 9 Apr 2026 16:19:47 +0300 Subject: [PATCH 11/11] Update CastBar.lua --- Modules/CastBar.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Modules/CastBar.lua b/Modules/CastBar.lua index ce28caa..44ae559 100755 --- a/Modules/CastBar.lua +++ b/Modules/CastBar.lua @@ -16,9 +16,12 @@ local function GetDisplayCastText(text, maxChars) return text end if maxChars == 0 then - return text -- Show full spellname + return text + end + if strlenutf8(text) > maxChars then + return string.utf8sub(text, 1, maxChars) .. "..." end - return string.sub(text, 1, maxChars) + return text end local function FetchCastBarColour()