vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 --[[
2 Name: Babble-Class-2.0
3 Revision: $Rev: 9146 $
4 Author(s): ckknight (ckknight@gmail.com)
5 Website: http://ckknight.wowinterface.com/
6 Documentation: http://wiki.wowace.com/index.php/Babble-Class-2.0
7 SVN: http://svn.wowace.com/root/trunk/BabbleLib/Babble-Class-2.0
8 Description: A library to provide localizations for classes.
9 Dependencies: AceLibrary, AceLocale-2.0
10 ]]
11  
12 local MAJOR_VERSION = "Babble-Class-2.0"
13 local MINOR_VERSION = tonumber(string.sub("$Revision: 9146 $", 12, -3))
14  
15 if not AceLibrary then error(MAJOR_VERSION .. " requires AceLibrary") end
16  
17 if not AceLibrary:HasInstance("AceLocale-2.0") then error(MAJOR_VERSION .. " requires AceLocale-2.0") end
18  
19 local _, x = AceLibrary("AceLocale-2.0"):GetLibraryVersion()
20 MINOR_VERSION = MINOR_VERSION * 100000 + x
21  
22 if not AceLibrary:IsNewVersion(MAJOR_VERSION, MINOR_VERSION) then return end
23  
24 local BabbleClass = AceLibrary("AceLocale-2.0"):new(MAJOR_VERSION)
25  
26 -- uncomment below for debug information
27 -- BabbleClass:EnableDebugging()
28  
29 BabbleClass:RegisterTranslations("enUS", function()
30 return {
31 ["Warlock"] = "Warlock",
32 ["Warrior"] = "Warrior",
33 ["Hunter"] = "Hunter",
34 ["Mage"] = "Mage",
35 ["Priest"] = "Priest",
36 ["Druid"] = "Druid",
37 ["Paladin"] = "Paladin",
38 ["Shaman"] = "Shaman",
39 ["Rogue"] = "Rogue",
40 }
41 end)
42  
43 BabbleClass:RegisterTranslations("deDE", function()
44 return {
45 ["Warlock"] = "Hexenmeister",
46 ["Warrior"] = "Krieger",
47 ["Hunter"] = "Jäger",
48 ["Mage"] = "Magier",
49 ["Priest"] = "Priester",
50 ["Druid"] = "Druide",
51 ["Paladin"] = "Paladin",
52 ["Shaman"] = "Schamane",
53 ["Rogue"] = "Schurke",
54 }
55 end)
56  
57 BabbleClass:RegisterTranslations("frFR", function()
58 return {
59 ["Warlock"] = "Démoniste",
60 ["Warrior"] = "Guerrier",
61 ["Hunter"] = "Chasseur",
62 ["Mage"] = "Mage",
63 ["Priest"] = "Prêtre",
64 ["Druid"] = "Druide",
65 ["Paladin"] = "Paladin",
66 ["Shaman"] = "Chaman",
67 ["Rogue"] = "Voleur",
68 }
69 end)
70  
71 BabbleClass:RegisterTranslations("zhCN", function()
72 return {
73 ["Warlock"] = "术士",
74 ["Warrior"] = "战士",
75 ["Hunter"] = "猎人",
76 ["Mage"] = "法师",
77 ["Priest"] = "牧师",
78 ["Druid"] = "德鲁伊",
79 ["Paladin"] = "圣骑士",
80 ["Shaman"] = "萨满祭祀",
81 ["Rogue"] = "盗贼",
82 }
83 end)
84  
85 BabbleClass:RegisterTranslations("koKR", function()
86 return {
87 ["Warlock"] = "흑마법사",
88 ["Warrior"] = "전사",
89 ["Hunter"] = "사냥꾼",
90 ["Mage"] = "마법사",
91 ["Priest"] = "사제",
92 ["Druid"] = "드루이드",
93 ["Paladin"] = "성기사",
94 ["Shaman"] = "주술사",
95 ["Rogue"] = "도적",
96 }
97 end)
98  
99 BabbleClass:Debug()
100 BabbleClass:SetStrictness(true)
101  
102 function BabbleClass:GetColor(class)
103 self:argCheck(class, 2, "string")
104 if string.find(class, "^[A-Z]*$") then
105 class = string.upper(strsub(class, 1, 1)) .. string.lower(strsub(class, 2))
106 elseif self:HasReverseTranslation(class) then
107 class = self:GetReverseTranslation(class)
108 end
109 if class == "Warlock" then
110 return RAID_CLASS_COLORS["WARLOCK"].r, RAID_CLASS_COLORS["WARLOCK"].g, RAID_CLASS_COLORS["WARLOCK"].b
111 elseif class == "Warrior" then
112 return RAID_CLASS_COLORS["WARRIOR"].r, RAID_CLASS_COLORS["WARRIOR"].g, RAID_CLASS_COLORS["WARRIOR"].b
113 elseif class == "Hunter" then
114 return RAID_CLASS_COLORS["HUNTER"].r, RAID_CLASS_COLORS["HUNTER"].g, RAID_CLASS_COLORS["HUNTER"].b
115 elseif class == "Mage" then
116 return RAID_CLASS_COLORS["MAGE"].r, RAID_CLASS_COLORS["MAGE"].g, RAID_CLASS_COLORS["MAGE"].b
117 elseif class == "Priest" then
118 return RAID_CLASS_COLORS["PRIEST"].r, RAID_CLASS_COLORS["PRIEST"].g, RAID_CLASS_COLORS["PRIEST"].b
119 elseif class == "Druid" then
120 return RAID_CLASS_COLORS["DRUID"].r, RAID_CLASS_COLORS["DRUID"].g, RAID_CLASS_COLORS["DRUID"].b
121 elseif class == "Paladin" then
122 return RAID_CLASS_COLORS["PALADIN"].r, RAID_CLASS_COLORS["PALADIN"].g, RAID_CLASS_COLORS["PALADIN"].b
123 elseif class == "Shaman" then
124 return RAID_CLASS_COLORS["SHAMAN"].r, RAID_CLASS_COLORS["SHAMAN"].g, RAID_CLASS_COLORS["SHAMAN"].b
125 elseif class == "Rogue" then
126 return RAID_CLASS_COLORS["ROGUE"].r, RAID_CLASS_COLORS["ROGUE"].g, RAID_CLASS_COLORS["ROGUE"].b
127 end
128 return 0.63, 0.63, 0.63
129 end
130  
131 function BabbleClass:GetHexColor(class)
132 self:argCheck(class, 2, "string")
133 local r, g, b = self:GetColor(class)
134 return string.format("%02x%02x%02x", r * 255, g * 255, b * 255)
135 end
136  
137 AceLibrary:Register(BabbleClass, MAJOR_VERSION, MINOR_VERSION)
138 BabbleClass = nil