(fix/Lib) Remove LibBabble: TalentTree, as it is not needed?

This commit is contained in:
NoM0Re
2025-07-23 18:06:11 +02:00
parent 97dd09f47b
commit 1369ed42d5
5 changed files with 1 additions and 615 deletions
@@ -1,292 +0,0 @@
-- LibBabble-3.0 is hereby placed in the Public Domain
-- Credits: ckknight
local LIBBABBLE_MAJOR, LIBBABBLE_MINOR = "LibBabble-3.0", 2
local LibBabble = LibStub:NewLibrary(LIBBABBLE_MAJOR, LIBBABBLE_MINOR)
if not LibBabble then
return
end
local data = LibBabble.data or {}
for k,v in pairs(LibBabble) do
LibBabble[k] = nil
end
LibBabble.data = data
local tablesToDB = {}
for namespace, db in pairs(data) do
for k,v in pairs(db) do
tablesToDB[v] = db
end
end
local function warn(message)
local _, ret = pcall(error, message, 3)
geterrorhandler()(ret)
end
local lookup_mt = { __index = function(self, key)
local db = tablesToDB[self]
local current_key = db.current[key]
if current_key then
self[key] = current_key
return current_key
end
local base_key = db.base[key]
local real_MAJOR_VERSION
for k,v in pairs(data) do
if v == db then
real_MAJOR_VERSION = k
break
end
end
if not real_MAJOR_VERSION then
real_MAJOR_VERSION = LIBBABBLE_MAJOR
end
if base_key then
warn(("%s: Translation %q not found for locale %q"):format(real_MAJOR_VERSION, key, GetLocale()))
rawset(self, key, base_key)
return base_key
end
warn(("%s: Translation %q not found."):format(real_MAJOR_VERSION, key))
rawset(self, key, key)
return key
end }
local function initLookup(module, lookup)
local db = tablesToDB[module]
for k in pairs(lookup) do
lookup[k] = nil
end
setmetatable(lookup, lookup_mt)
tablesToDB[lookup] = db
db.lookup = lookup
return lookup
end
local function initReverse(module, reverse)
local db = tablesToDB[module]
for k in pairs(reverse) do
reverse[k] = nil
end
for k,v in pairs(db.current) do
reverse[v] = k
end
tablesToDB[reverse] = db
db.reverse = reverse
db.reverseIterators = nil
return reverse
end
local prototype = {}
local prototype_mt = {__index = prototype}
--[[---------------------------------------------------------------------------
Notes:
* If you try to access a nonexistent key, it will warn but allow the code to pass through.
Returns:
A lookup table for english to localized words.
Example:
local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
local BL = B:GetLookupTable()
assert(BL["Some english word"] == "Some localized word")
DoSomething(BL["Some english word that doesn't exist"]) -- warning!
-----------------------------------------------------------------------------]]
function prototype:GetLookupTable()
local db = tablesToDB[self]
local lookup = db.lookup
if lookup then
return lookup
end
return initLookup(self, {})
end
--[[---------------------------------------------------------------------------
Notes:
* If you try to access a nonexistent key, it will return nil.
Returns:
A lookup table for english to localized words.
Example:
local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
local B_has = B:GetUnstrictLookupTable()
assert(B_has["Some english word"] == "Some localized word")
assert(B_has["Some english word that doesn't exist"] == nil)
-----------------------------------------------------------------------------]]
function prototype:GetUnstrictLookupTable()
local db = tablesToDB[self]
return db.current
end
--[[---------------------------------------------------------------------------
Notes:
* If you try to access a nonexistent key, it will return nil.
* This is useful for checking if the base (English) table has a key, even if the localized one does not have it registered.
Returns:
A lookup table for english to localized words.
Example:
local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
local B_hasBase = B:GetBaseLookupTable()
assert(B_hasBase["Some english word"] == "Some english word")
assert(B_hasBase["Some english word that doesn't exist"] == nil)
-----------------------------------------------------------------------------]]
function prototype:GetBaseLookupTable()
local db = tablesToDB[self]
return db.base
end
--[[---------------------------------------------------------------------------
Notes:
* If you try to access a nonexistent key, it will return nil.
* This will return only one English word that it maps to, if there are more than one to check, see :GetReverseIterator("word")
Returns:
A lookup table for localized to english words.
Example:
local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
local BR = B:GetReverseLookupTable()
assert(BR["Some localized word"] == "Some english word")
assert(BR["Some localized word that doesn't exist"] == nil)
-----------------------------------------------------------------------------]]
function prototype:GetReverseLookupTable()
local db = tablesToDB[self]
local reverse = db.reverse
if reverse then
return reverse
end
return initReverse(self, {})
end
local blank = {}
local weakVal = {__mode='v'}
--[[---------------------------------------------------------------------------
Arguments:
string - the localized word to chek for.
Returns:
An iterator to traverse all English words that map to the given key
Example:
local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
for word in B:GetReverseIterator("Some localized word") do
DoSomething(word)
end
-----------------------------------------------------------------------------]]
function prototype:GetReverseIterator(key)
local db = tablesToDB[self]
local reverseIterators = db.reverseIterators
if not reverseIterators then
reverseIterators = setmetatable({}, weakVal)
db.reverseIterators = reverseIterators
elseif reverseIterators[key] then
return pairs(reverseIterators[key])
end
local t
for k,v in pairs(db.current) do
if v == key then
if not t then
t = {}
end
t[k] = true
end
end
reverseIterators[key] = t or blank
return pairs(reverseIterators[key])
end
--[[---------------------------------------------------------------------------
Returns:
An iterator to traverse all translations English to localized.
Example:
local B = LibStub("LibBabble-Module-3.0") -- where Module is what you want.
for english, localized in B:Iterate() do
DoSomething(english, localized)
end
-----------------------------------------------------------------------------]]
function prototype:Iterate()
local db = tablesToDB[self]
return pairs(db.current)
end
-- #NODOC
-- modules need to call this to set the base table
function prototype:SetBaseTranslations(base)
local db = tablesToDB[self]
local oldBase = db.base
if oldBase then
for k in pairs(oldBase) do
oldBase[k] = nil
end
for k, v in pairs(base) do
oldBase[k] = v
end
base = oldBase
else
db.base = base
end
for k,v in pairs(base) do
if v == true then
base[k] = k
end
end
end
local function init(module)
local db = tablesToDB[module]
if db.lookup then
initLookup(module, db.lookup)
end
if db.reverse then
initReverse(module, db.reverse)
end
db.reverseIterators = nil
end
-- #NODOC
-- modules need to call this to set the current table. if current is true, use the base table.
function prototype:SetCurrentTranslations(current)
local db = tablesToDB[self]
if current == true then
db.current = db.base
else
local oldCurrent = db.current
if oldCurrent then
for k in pairs(oldCurrent) do
oldCurrent[k] = nil
end
for k, v in pairs(current) do
oldCurrent[k] = v
end
current = oldCurrent
else
db.current = current
end
end
init(self)
end
for namespace, db in pairs(data) do
setmetatable(db.module, prototype_mt)
init(db.module)
end
-- #NODOC
-- modules need to call this to create a new namespace.
function LibBabble:New(namespace, minor)
local module, oldminor = LibStub:NewLibrary(namespace, minor)
if not module then
return
end
if not oldminor then
local db = {
module = module,
}
data[namespace] = db
tablesToDB[module] = db
else
for k,v in pairs(module) do
module[k] = nil
end
end
setmetatable(module, prototype_mt)
return module
end
@@ -1,295 +0,0 @@
--[[
Name: LibBabble-TalentTree-3.0
Revision: $Rev: 26 $
Maintainers: ckknight, nevcairiel, Ackis
Website: http://www.wowace.com/projects/libbabble-talenttree-3-0/
Dependencies: None
License: MIT
]]
local MAJOR_VERSION = "LibBabble-TalentTree-3.0"
local MINOR_VERSION = 90000 + tonumber(("$Rev: 26 $"):match("%d+"))
if not LibStub then error(MAJOR_VERSION .. " requires LibStub.") end
local lib = LibStub("LibBabble-3.0"):New(MAJOR_VERSION, MINOR_VERSION)
if not lib then return end
local GAME_LOCALE = GetLocale()
lib:SetBaseTranslations {
Affliction = "Affliction",
Arcane = "Arcane",
Arms = "Arms",
Assassination = "Assassination",
Balance = "Balance",
["Beast Mastery"] = "Beast Mastery",
Blood = "Blood",
Combat = "Combat",
Demonology = "Demonology",
Destruction = "Destruction",
Discipline = "Discipline",
Elemental = "Elemental",
Enhancement = "Enhancement",
["Feral Combat"] = "Feral Combat",
Fire = "Fire",
Frost = "Frost",
Fury = "Fury",
Holy = "Holy",
Hybrid = "Hybrid",
Marksmanship = "Marksmanship",
Protection = "Protection",
Restoration = "Restoration",
Retribution = "Retribution",
Shadow = "Shadow",
Subtlety = "Subtlety",
Survival = "Survival",
Unholy = "Unholy",
}
if GAME_LOCALE == "enUS" then
lib:SetCurrentTranslations(true)
elseif GAME_LOCALE == "deDE" then
lib:SetCurrentTranslations {
Affliction = "Gebrechen",
Arcane = "Arkan",
Arms = "Waffen",
Assassination = "Meucheln",
Balance = "Gleichgewicht",
["Beast Mastery"] = "Tierherrschaft",
Blood = "Blut",
Combat = "Kampf",
Demonology = "Dämonologie",
Destruction = "Zerstörung",
Discipline = "Disziplin",
Elemental = "Elementar",
Enhancement = "Verstärkung",
["Feral Combat"] = "Wilder Kampf",
Fire = "Feuer",
Frost = "Frost",
Fury = "Furor",
Holy = "Heilig",
Hybrid = "Hybride",
Marksmanship = "Treffsicherheit",
Protection = "Schutz",
Restoration = "Wiederherst.",
Retribution = "Vergeltung",
Shadow = "Schatten",
Subtlety = "Täuschung",
Survival = "Überleben",
Unholy = "Unheilig",
}
elseif GAME_LOCALE == "frFR" then
lib:SetCurrentTranslations {
Affliction = "Affliction",
Arcane = "Arcane",
Arms = "Armes",
Assassination = "Assassinat",
Balance = "Equilibre",
["Beast Mastery"] = "Maîtrise des bêtes",
Blood = "Sang",
Combat = "Combat",
Demonology = "Démonologie",
Destruction = "Destruction",
Discipline = "Discipline",
Elemental = "Elémentaire",
Enhancement = "Amélioration",
["Feral Combat"] = "Combat farouche",
Fire = "Feu",
Frost = "Givre",
Fury = "Fureur",
Holy = "Sacré",
Hybrid = "Hybride",
Marksmanship = "Précision",
Protection = "Protection",
Restoration = "Restauration",
Retribution = "Vindicte",
Shadow = "Ombre",
Subtlety = "Finesse",
Survival = "Survie",
Unholy = "Impie",
}
elseif GAME_LOCALE == "koKR" then
lib:SetCurrentTranslations {
Affliction = "고통",
Arcane = "비전",
Arms = "무기",
Assassination = "암살",
Balance = "조화",
["Beast Mastery"] = "야수",
Blood = "혈기",
Combat = "전투",
Demonology = "악마",
Destruction = "파괴",
Discipline = "수양",
Elemental = "정기",
Enhancement = "고양",
["Feral Combat"] = "야성",
Fire = "화염",
Frost = "냉기",
Fury = "분노",
Holy = "신성",
Hybrid = "하이브리드",
Marksmanship = "사격",
Protection = "방어",
Restoration = "복원",
Retribution = "징벌",
Shadow = "암흑",
Subtlety = "잠행",
Survival = "생존",
Unholy = "부정",
}
elseif GAME_LOCALE == "esES" then
lib:SetCurrentTranslations {
Affliction = "Aflicción",
Arcane = "Arcano",
Arms = "Armas",
Assassination = "Asesinato",
Balance = "Equilibrio",
["Beast Mastery"] = "Dominio de bestias",
Blood = "Sangre",
Combat = "Combate",
Demonology = "Demonología",
Destruction = "Destrucción",
Discipline = "Disciplina",
Elemental = "Elemental",
Enhancement = "Mejora",
["Feral Combat"] = "Combate feral",
Fire = "Fuego",
Frost = "Escarcha",
Fury = "Furia",
Holy = "Sagrado",
Hybrid = "Híbrido",
Marksmanship = "Puntería",
Protection = "Protección",
Restoration = "Restauración",
Retribution = "Reprensión",
Shadow = "Sombra",
Subtlety = "Sutileza",
Survival = "Supervivencia",
Unholy = "Profano",
}
elseif GAME_LOCALE == "esMX" then
lib:SetCurrentTranslations {
Affliction = "Aflicción",
Arcane = "Arcano",
Arms = "Armas",
Assassination = "Asesinato",
Balance = "Balance",
["Beast Mastery"] = "Bestias",
Blood = "Sangre",
Combat = "Combate",
Demonology = "Demonología",
Destruction = "Destrucción",
Discipline = "Disciplina",
Elemental = "Elemental",
Enhancement = "Mejora",
["Feral Combat"] = "Combate feral",
Fire = "Fuego",
Frost = "Escarcha",
Fury = "Furia",
Holy = "Sagrado",
Hybrid = "Híbrido",
Marksmanship = "Puntería",
Protection = "Protección",
Restoration = "Restauración",
Retribution = "Reprensión",
Shadow = "Sombra",
Subtlety = "Sutileza",
Survival = "Supervivencia",
Unholy = "Profano",
}
elseif GAME_LOCALE == "ruRU" then
lib:SetCurrentTranslations {
Affliction = "Колдовство",
Arcane = "Тайная магия",
Arms = "Оружие",
Assassination = "Ликвидация",
Balance = "Баланс",
["Beast Mastery"] = "Повелитель зверей",
Blood = "Кровь",
Combat = "Бой",
Demonology = "Демонология",
Destruction = "Разрушение",
Discipline = "Послушание",
Elemental = "Стихии",
Enhancement = "Совершенствование",
["Feral Combat"] = "Сила зверя",
Fire = "Огонь",
Frost = "Лед",
Fury = "Неистовство",
Holy = "Свет",
Hybrid = "Гибрид",
Marksmanship = "Стрельба",
Protection = "Защита",
Restoration = "Исцеление",
Retribution = "Воздаяние",
Shadow = "Тьма",
Subtlety = "Скрытность",
Survival = "Выживание",
Unholy = "Нечестивость",
}
elseif GAME_LOCALE == "zhCN" then
lib:SetCurrentTranslations {
Affliction = "痛苦",
Arcane = "奥术",
Arms = "武器",
Assassination = "刺杀",
Balance = "平衡",
["Beast Mastery"] = "野兽控制",
Blood = "鲜血",
Combat = "战斗",
Demonology = "恶魔学识",
Destruction = "毁灭",
Discipline = "戒律",
Elemental = "元素战斗",
Enhancement = "增强",
["Feral Combat"] = "野性战斗",
Fire = "火焰",
Frost = "冰霜",
Fury = "狂怒",
Holy = "神圣",
Hybrid = "混合",
Marksmanship = "射击",
Protection = "防护",
Restoration = "恢复",
Retribution = "惩戒",
Shadow = "暗影魔法",
Subtlety = "敏锐",
Survival = "生存技能",
Unholy = "邪恶",
}
elseif GAME_LOCALE == "zhTW" then
lib:SetCurrentTranslations {
Affliction = "痛苦",
Arcane = "秘法",
Arms = "武器",
Assassination = "刺殺",
Balance = "平衡",
["Beast Mastery"] = "野獸控制",
Blood = "血魄",
Combat = "戰鬥",
Demonology = "惡魔學識",
Destruction = "毀滅",
Discipline = "戒律",
Elemental = "元素",
Enhancement = "增強",
["Feral Combat"] = "野性戰鬥",
Fire = "火焰",
Frost = "冰霜",
Fury = "狂怒",
Holy = "神聖",
Hybrid = "混合",
Marksmanship = "射擊",
Protection = "防護",
Restoration = "恢復",
Retribution = "懲戒",
Shadow = "暗影",
Subtlety = "敏銳",
Survival = "生存",
Unholy = "穢邪",
}
else
error(("%s: Locale %q not supported"):format(MAJOR_VERSION, GAME_LOCALE))
end
@@ -1,21 +0,0 @@
## Interface: 30300
## LoadOnDemand: 1
## Title: Lib: Babble-TalentTree-3.0
## Notes: A library to help with localization of talent trees.
## Notes-deDE: BabbleLib ist eine Bibliothek, die bei der Lokalisierung helfen soll.
## Notes-esES: Una biblioteca para ayudar con las localizaciones.
## Notes-frFR: Une bibliothèque d'aide à la localisation.
## Notes-ruRU: Библиотека для локализации аддонов.
## Notes-zhCN: 为本地化服务的支持库[声望阵营]
## Notes-zhTW: 為本地化服務的函式庫[聲望陣營]
## Author: Pneumatus
## X-Category: Library
## X-License: MIT
## X-Curse-Packaged-Version: 3.3-release39
## X-Curse-Project-Name: LibBabble-TalentTree-3.0
## X-Curse-Project-ID: libbabble-talenttree-3-0
## X-Curse-Repository-ID: wow/libbabble-talenttree-3-0/mainline
LibStub\LibStub.lua
lib.xml
@@ -1,5 +0,0 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\FrameXML\UI.xsd">
<Script file="LibBabble-3.0.lua" />
<Script file="LibBabble-TalentTree-3.0.lua" />
</Ui>
+1 -2
View File
@@ -1,6 +1,5 @@
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\FrameXML\UI.xsd">
<Include file="LibBabble-TalentTree-3.0\lib.xml"/>
<Script file="LibTalentQuery-1.0.lua"/>
<Script file="LibGroupTalents-1.0.lua"/>
</Ui>
</Ui>