WoWInterface SVN LanguageCycle

[/] [LanguageCycle.lua] - Blame information for rev 8

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 8 Halya-96941
local ButtonTexture = "Interface\\Addons\\LanguageCycle\\media\\LanguageCycleIcon"
2 Halya-96941
local addonName = "LanguageCycle"
3 Halya-96941
 
4 Halya-96941
BINDING_HEADER_LANGUAGECYCLE="Language Cycle";
5 Halya-96941
 
6 Halya-96941
local defaults = {
7 Halya-96941
        saved_language = {};
8 Halya-96941
        translate_group = true;
9 Halya-96941
        panel_visible = true;
10 Halya-96941
        panel_locked = false;
11 Halya-96941
        minimapIcon = {
12 Halya-96941
                hide = false,
13 Halya-96941
                minimapPos = 220,
14 Halya-96941
                radius = 80,
15 Halya-96941
                }
16 Halya-96941
}
17 Halya-96941
if not LANGUAGE_CYCLE then
18 Halya-96941
                LANGUAGE_CYCLE = defaults
19 Halya-96941
        else
20 Halya-96941
                for k, v in pairs(defaults) do
21 Halya-96941
                        if LANGUAGE_CYCLE[k] == nil or type(LANGUAGE_CYCLE[k]) ~= type(v) then
22 Halya-96941
                                LANGUAGE_CYCLE[k] = v
23 Halya-96941
                        end
24 Halya-96941
                end
25 Halya-96941
        end
26 Halya-96941
 
27 Halya-96941
LC_default_language = "";
28 Halya-96941
LC_verbose = true;
29 Halya-96941
LC_unknown = "Unknown Entity";
30 Halya-96941
LC_realm_name = "";
31 Halya-96941
LC_player_name = "";
32 Halya-96941
LC_player_id = nil;
33 Halya-96941
LC_panel_height = 0;
34 Halya-96941
LC_panel_width = 0;
35 Halya-96941
LC_version = "5.3.0c, by Halya, Argent Dawn, EU";
36 Halya-96941
LC_Help_Text={};
37 Halya-96941
LC_Help_Text[0]="Language Cycle will respond to the following commands:";
38 Halya-96941
LC_Help_Text[1]="- /lc        : Toggles spoken language between racial/common";
39 Halya-96941
LC_Help_Text[2]="- /lc status : Displays current settings";
40 Halya-96941
LC_Help_Text[3]="- /lc toggle : Toggles Guild/Party translation on/off";
41 Halya-96941
LC_Help_Text[4]="- /lc help   : Displays this message";
42 Halya-96941
LC_Help_Text[5]="- /lc show   : Display the language cycle button";
43 Halya-96941
LC_Help_Text[6]="- /lc hide   : Hide the language cycle button";
44 Halya-96941
LC_Help_Text[7]="- /lc MM     : Toggle the language cycle mini-map button";
45 Halya-96941
LC_Help_Text[8]="--------------------------------------------------------------";
46 Halya-96941
 
47 Halya-96941
--Save Blizzard's original SendText function
48 Halya-96941
local LC_Blizzard_SendChatMessage;
49 Halya-96941
 
50 Halya-96941
local LCButtonFrameObject = LibStub:GetLibrary("LibDataBroker-1.1"):NewDataObject(addonName, {
51 Halya-96941
                        type = "data source",
52 Halya-96941
                        text = LANGUAGE_CYCLE.minimapIcon.text,
53 Halya-96941
                        icon = ButtonTexture,
54 Halya-96941
                        OnClick = function(frame, button)
55 Halya-96941
                                GameTooltip:Hide()
56 Halya-96941
                                if button =="LeftButton" then
57 Halya-96941
                                        Language_Cycle_Cycle();
58 Halya-96941
                                elseif button =="MiddleButton" then
59 Halya-96941
                                        local t = 0;
60 Halya-96941
                                        while LC_Help_Text[t] ~= nil do
61 Halya-96941
                                                DEFAULT_CHAT_FRAME:AddMessage(LC_Help_Text[t],0.0, 1.0, 0.0);
62 Halya-96941
                                        t = t + 1;
63 Halya-96941
                                        end
64 Halya-96941
                                elseif button == "RightButton"  then
65 Halya-96941
                                        Language_Cycle_Panel_Visible();
66 Halya-96941
                                end
67 Halya-96941
                        end,
68 Halya-96941
                        OnTooltipShow = function(tooltip)
69 Halya-96941
                                if tooltip and tooltip.AddLine then
70 Halya-96941
                                        tooltip:SetText("LanguageCycle")
71 Halya-96941
                                        tooltip:AddLine("Left-Click: Cycle Language|nRight-Click: Show/Hide Built-in Panel|nMiddle-Click: Show Help",.8,.8,.8,1)
72 Halya-96941
                                        tooltip:Show()
73 Halya-96941
                                end
74 Halya-96941
                        end,
75 Halya-96941
                })
76 Halya-96941
 
77 Halya-96941
function Language_Cycle_OnLoad( self )
78 Halya-96941
   -- Hook SendChatMessage
79 Halya-96941
   LC_Blizzard_SendChatMessage = SendChatMessage;
80 Halya-96941
   SendChatMessage = LC_SendChatMessage;
81 Halya-96941
 
82 Halya-96941
   SlashCmdList["LANGUAGECYCLE"] = Language_Cycle_Slash;
83 Halya-96941
   SLASH_LANGUAGECYCLE1 = "/lc";
84 Halya-96941
   ShowUIPanel(Language_Cycle_Panel);
85 Halya-96941
   if ( not Language_Cycle_Panel:IsVisible() ) then
86 Halya-96941
      Language_Cycle_Panel:SetOwner(UIParent, "ANCHOR_PRESERVE");
87 Halya-96941
   end
88 Halya-96941
 
89 Halya-96941
   Language_Cycle_Panel_Backdrop:SetBackdropBorderColor(1,1,1);
90 Halya-96941
   Language_Cycle_Panel_Backdrop:SetBackdropColor(0.3, 0.3, 0.3);
91 Halya-96941
   Language_Cycle_Backdrop_Hide();
92 Halya-96941
   LC_panel_height = Language_Cycle_Panel:GetHeight();
93 Halya-96941
   LC_panel_width = Language_Cycle_Panel:GetWidth();
94 Halya-96941
   Language_Cycle_Party_Toggle_Text:SetJustifyH("Right");
95 Halya-96941
   Language_Cycle_Add_Message("LanguageCycle loaded; Type '/lc help' for a list of options;  Version " .. LC_version);
96 Halya-96941
 
97 Halya-96941
   -- self:SetPadding(16);
98 Halya-96941
   self:RegisterForDrag("LeftButton");
99 Halya-96941
   self:RegisterEvent("VARIABLES_LOADED");
100 Halya-96941
   self:RegisterEvent("PLAYER_ENTERING_WORLD");
101 Halya-96941
 
102 Halya-96941
end
103 Halya-96941
 
104 Halya-96941
function Language_Cycle_Get_Version()
105 Halya-96941
   return LC_version
106 Halya-96941
end
107 Halya-96941
 
108 Halya-96941
-- replace Blizzard's SendChatMessage function instead. -Nhani
109 Halya-96941
function LC_SendChatMessage(msg, chatType, language, channel)
110 Halya-96941
 
111 Halya-96941
  if (LC_player_id ~= nil) then
112 Halya-96941
    language = LANGUAGE_CYCLE.saved_language[LC_player_id];
113 Halya-96941
  end
114 Halya-96941
 
115 Halya-96941
-- Small change here. Instead of defining what channels we WANT
116 Halya-96941
-- in a common language, we define what channels we DON'T want.
117 Halya-96941
-- Since those are far fewer in number. -Nhani
118 Halya-96941
  if (LANGUAGE_CYCLE.translate_group) then
119 Halya-96941
    if (chatType ~= "SAY" and chatType ~= "YELL") then
120 Halya-96941
      if (language ~= LC_default_language) then
121 Halya-96941
        language = LC_default_language;
122 Halya-96941
      end
123 Halya-96941
    end
124 Halya-96941
  end
125 Halya-96941
        local numLanguages = GetNumLanguages();
126 Halya-96941
        local i;
127 Halya-96941
        for i = 1, numLanguages, 1 do
128 Halya-96941
                local getlanguage, getlanguageID = GetLanguageByIndex(i);
129 Halya-96941
                if (language == getlanguage) then
130 Halya-96941
                        languageID = getlanguageID;
131 Halya-96941
                end
132 Halya-96941
        end
133 Halya-96941
 
134 Halya-96941
  LC_Blizzard_SendChatMessage(msg, chatType, languageID, channel);
135 Halya-96941
 
136 Halya-96941
end
137 Halya-96941
 
138 Halya-96941
 
139 Halya-96941
function Language_Cycle_Panel_Visible()
140 Halya-96941
   if (Language_Cycle_Panel:IsVisible() ) then
141 Halya-96941
      HideUIPanel(Language_Cycle_Panel);
142 Halya-96941
      LANGUAGE_CYCLE.panel_visible = false;
143 Halya-96941
   else
144 Halya-96941
      ShowUIPanel(Language_Cycle_Panel);
145 Halya-96941
      LANGUAGE_CYCLE.panel_visible = true;
146 Halya-96941
   end
147 Halya-96941
end
148 Halya-96941
 
149 Halya-96941
 
150 Halya-96941
function Language_Cycle_Backdrop_Show(override)
151 Halya-96941
   if (LANGUAGE_CYCLE.panel_locked and not override) then
152 Halya-96941
   else
153 Halya-96941
      Language_Cycle_Panel_Backdrop:Show();
154 Halya-96941
   end
155 Halya-96941
end
156 Halya-96941
 
157 Halya-96941
 
158 Halya-96941
function Language_Cycle_Backdrop_Hide(override)
159 Halya-96941
   if (LANGUAGE_CYCLE.panel_locked and not override) then
160 Halya-96941
   else
161 Halya-96941
      Language_Cycle_Panel_Backdrop:Hide();
162 Halya-96941
   end
163 Halya-96941
end
164 Halya-96941
 
165 Halya-96941
 
166 Halya-96941
function Language_Cycle_Cycle()
167 Halya-96941
   local numLangs = GetNumLanguages();
168 Halya-96941
   local currentlang = 0;
169 Halya-96941
    local lang;
170 Halya-96941
   lang = Language_Cycle_Get_Lang();
171 Halya-96941
 
172 Halya-96941
   for i=1,numLangs,1 do
173 Halya-96941
      if (lang == GetLanguageByIndex(i)) then
174 Halya-96941
         currentlang = i;
175 Halya-96941
      end
176 Halya-96941
   end
177 Halya-96941
   if (currentlang == numLangs) then
178 Halya-96941
      currentlang = 1;
179 Halya-96941
   else
180 Halya-96941
      currentlang = currentlang + 1;
181 Halya-96941
   end
182 Halya-96941
   Language_Cycle_Set_Lang(GetLanguageByIndex(currentlang));
183 Halya-96941
   -- if (IsAddOnLoaded("Titan")) then
184 Halya-96941
      -- TitanPanelButton_UpdateButton(TITAN_LANGUAGECYCLE_ID);
185 Halya-96941
   -- end
186 Halya-96941
      -- if (IsAddOnLoaded("FuBar")) then
187 Halya-96941
        -- LanguageCycleFuBar:UpdateText()
188 Halya-96941
      -- end
189 Halya-96941
--   For debugging
190 Halya-96941
--   Langauge_Cycle_Debug_Message();
191 Halya-96941
end
192 Halya-96941
 
193 Halya-96941
function Language_Cycle_Language_Clicked(button)
194 Halya-96941
 
195 Halya-96941
   if (button == "LeftButton") then
196 Halya-96941
      LC_verbose = false;
197 Halya-96941
      Language_Cycle_Cycle();
198 Halya-96941
      LC_verbose = true;
199 Halya-96941
   end
200 Halya-96941
   if (button == "RightButton") then
201 Halya-96941
      LANGUAGE_CYCLE.panel_locked = not LANGUAGE_CYCLE.panel_locked;
202 Halya-96941
      Langauge_Cycle_Lock_Backdrop();
203 Halya-96941
   end
204 Halya-96941
end
205 Halya-96941
 
206 Halya-96941
 
207 Halya-96941
function Langauge_Cycle_Lock_Backdrop()
208 Halya-96941
   if (LANGUAGE_CYCLE.panel_locked) then
209 Halya-96941
      Language_Cycle_Backdrop_Hide(true);
210 Halya-96941
      Language_Cycle_Panel:SetHeight(Language_Cycle_Button:GetHeight());
211 Halya-96941
      Language_Cycle_Panel:SetWidth(Language_Cycle_Button:GetWidth());
212 Halya-96941
   else
213 Halya-96941
      Language_Cycle_Backdrop_Show(true);
214 Halya-96941
      Language_Cycle_Panel:SetHeight(LC_panel_height);
215 Halya-96941
      Language_Cycle_Panel:SetWidth(LC_panel_width);
216 Halya-96941
   end
217 Halya-96941
end
218 Halya-96941
 
219 Halya-96941
 
220 Halya-96941
function Language_Cycle_Variables_Loaded()
221 Halya-96941
   --Called when variables_loaded event fires, usually on UI reload
222 Halya-96941
   if (LANGUAGE_CYCLE.panel_visible) then
223 Halya-96941
      ShowUIPanel(Language_Cycle_Panel);
224 Halya-96941
   else
225 Halya-96941
      HideUIPanel(Language_Cycle_Panel);
226 Halya-96941
   end
227 Halya-96941
   Langauge_Cycle_Lock_Backdrop();
228 Halya-96941
--   For debugging
229 Halya-96941
--   Language_Cycle_Debug_Message();
230 Halya-96941
-- Language_Cycle_Add_Message("Onload done");
231 Halya-96941
end
232 Halya-96941
 
233 Halya-96941
function Language_Cycle_OnEvent( self, event, ... )
234 Halya-96941
 
235 Halya-96941
   if (event == "VARIABLES_LOADED") then
236 Halya-96941
      Language_Cycle_Variables_Loaded();
237 Halya-96941
      -- Add LanguageCycle to myAddOns addons list
238 Halya-96941
      if(myAddOnsFrame) then
239 Halya-96941
         myAddOnsList.LanguageCycle = {
240 Halya-96941
            name = "LanguageCycle",
241 Halya-96941
            description = "A button to change your spoken language",
242 Halya-96941
            version = Language_Cycle_Get_Version(),
243 Halya-96941
            category = MYADDONS_CATEGORY_CHAT,
244 Halya-96941
            frame = "Language_Cycle_Panel"};
245 Halya-96941
      end
246 Halya-96941
                ----------------------------------------------------------------------------------------
247 Halya-96941
        -- LDB Button Creation
248 Halya-96941
        ----------------------------------------------------------------------------------------
249 Halya-96941
 
250 Halya-96941
 
251 Halya-96941
 
252 Halya-96941
                local defaults = {
253 Halya-96941
                minimapIcon = {
254 Halya-96941
                        hide = false,
255 Halya-96941
                        minimapPos = 220,
256 Halya-96941
                        radius = 80,
257 Halya-96941
                        text = lang,
258 Halya-96941
                        }
259 Halya-96941
                }
260 Halya-96941
                if not LANGUAGE_CYCLE then
261 Halya-96941
                        LANGUAGE_CYCLE = defaults
262 Halya-96941
                else
263 Halya-96941
                        for k, v in pairs(defaults) do
264 Halya-96941
                                if LANGUAGE_CYCLE[k] == nil or type(LANGUAGE_CYCLE[k]) ~= type(v) then
265 Halya-96941
                                        LANGUAGE_CYCLE[k] = v
266 Halya-96941
                                end
267 Halya-96941
                        end
268 Halya-96941
                end
269 Halya-96941
 
270 Halya-96941
 
271 Halya-96941
                LibStub("LibDBIcon-1.0"):Register(addonName, LCButtonFrameObject, LANGUAGE_CYCLE.minimapIcon)
272 Halya-96941
 
273 Halya-96941
   end
274 Halya-96941
   if (event == "PLAYER_ENTERING_WORLD") then
275 Halya-96941
      Language_Cycle_Init();
276 Halya-96941
   end
277 Halya-96941
end
278 Halya-96941
 
279 Halya-96941
 
280 Halya-96941
 
281 Halya-96941
function Language_Cycle_Init()
282 Halya-96941
   --Called when the Player_Entering_World event fires, usually on character login.
283 Halya-96941
   -- May be called later, if initialization fails
284 Halya-96941
   LC_realm_name = string.gsub(GetRealmName(),"'","");
285 Halya-96941
   LC_player_name = UnitName("player");
286 Halya-96941
   LC_default_language = GetDefaultLanguage();
287 Halya-96941
   LC_verbose = false;
288 Halya-96941
   Language_Cycle_Backdrop_Hide(true);
289 Halya-96941
   Language_Cycle_Set_Text_Color();
290 Halya-96941
   local lang;
291 Halya-96941
 
292 Halya-96941
   if (LC_player_name == nil or LC_player_name == LC_unknown or LC_realm_name == nil) then
293 Halya-96941
   else
294 Halya-96941
      LC_player_id = LC_realm_name .. " " .. LC_player_name;
295 Halya-96941
   end
296 Halya-96941
 
297 Halya-96941
   lang = Language_Cycle_Get_Lang();
298 Halya-96941
 
299 Halya-96941
   if (lang == nil) then
300 Halya-96941
   else
301 Halya-96941
      Language_Cycle_Set_Lang(lang)
302 Halya-96941
   end
303 Halya-96941
 
304 Halya-96941
   if (LC_default_language == nil) then
305 Halya-96941
   else
306 Halya-96941
      Language_Cycle_Party_Toggle_Text:SetText("Speak " .. LC_default_language .. " in Party/Guild chat:");
307 Halya-96941
   end
308 Halya-96941
 
309 Halya-96941
   Language_Cycle_Set_Party_Checkbutton();
310 Halya-96941
 
311 Halya-96941
   LC_verbose = true;
312 Halya-96941
--   For debugging
313 Halya-96941
--   Language_Cycle_Debug_Message();
314 Halya-96941
--   Language_Cycle_Add_Message("Entering World Done");
315 Halya-96941
end
316 Halya-96941
 
317 Halya-96941
 
318 Halya-96941
function Language_Cycle_OnUpdate( self, elapsed )
319 Halya-96941
   if (not LC_player_id) then
320 Halya-96941
      Language_Cycle_Init();
321 Halya-96941
   end
322 Halya-96941
end
323 Halya-96941
 
324 Halya-96941
 
325 Halya-96941
function Language_Cycle_Set_Lang(lang)
326 Halya-96941
   -- Updates the button text, chat window and returns a chat window message
327 Halya-96941
   Language_Cycle_Button:SetText(lang);
328 Halya-96941
   DEFAULT_CHAT_FRAME.editBox.language = lang;
329 Halya-96941
   LANGUAGE_CYCLE.minimapIcon.text = lang;
330 Halya-96941
   LCButtonFrameObject.text = lang
331 Halya-96941
 
332 Halya-96941
   if (LC_verbose) then
333 Halya-96941
      Language_Cycle_Add_Message(string.format("Now speaking %s", lang));
334 Halya-96941
   end
335 Halya-96941
 
336 Halya-96941
   Language_Cycle_Save_Lang(lang);
337 Halya-96941
end
338 Halya-96941
 
339 Halya-96941
 
340 Halya-96941
function Language_Cycle_Save_Lang(lang)
341 Halya-96941
   if (LC_player_id == nil) then
342 Halya-96941
   else
343 Halya-96941
      LANGUAGE_CYCLE.saved_language[LC_player_id] = lang;
344 Halya-96941
   end
345 Halya-96941
end
346 Halya-96941
 
347 Halya-96941
 
348 Halya-96941
function Language_Cycle_Get_Lang()
349 Halya-96941
   local lang, langID;
350 Halya-96941
   if (LC_player_id == nil) then
351 Halya-96941
   else
352 Halya-96941
      lang = DEFAULT_CHAT_FRAME.editBox.language;
353 Halya-96941
          if (LANGUAGE_CYCLE.saved_language[LC_player_id] == nil) then
354 Halya-96941
         if (lang == nil) then
355 Halya-96941
            lang = LC_default_language;
356 Halya-96941
         end
357 Halya-96941
      else
358 Halya-96941
         lang = LANGUAGE_CYCLE.saved_language[LC_player_id];
359 Halya-96941
      end
360 Halya-96941
   end
361 Halya-96941
   return lang
362 Halya-96941
end
363 Halya-96941
 
364 Halya-96941
 
365 Halya-96941
function Language_Cycle_Debug_Message()
366 Halya-96941
   local lang;
367 Halya-96941
   lang = LANGUAGE_CYCLE.saved_language[LC_player_id];
368 Halya-96941
   if (lang == nil) then
369 Halya-96941
      lang = "unknown";
370 Halya-96941
   end
371 Halya-96941
   if not(LC_player_name == nil) then
372 Halya-96941
      message(LC_player_name .. " speaks " .. lang);
373 Halya-96941
   else
374 Halya-96941
      message("LC_player_name is nil");
375 Halya-96941
   end
376 Halya-96941
end
377 Halya-96941
 
378 Halya-96941
 
379 Halya-96941
function Language_Cycle_Toggle_Group(verbose)
380 Halya-96941
   if (LANGUAGE_CYCLE.translate_group) then
381 Halya-96941
      LANGUAGE_CYCLE.translate_group = false;
382 Halya-96941
      if (verbose) then
383 Halya-96941
         Language_Cycle_Add_Message("Guild/Party translation is now off.");
384 Halya-96941
      end
385 Halya-96941
   else
386 Halya-96941
      LANGUAGE_CYCLE.translate_group = true;
387 Halya-96941
      if (verbose) then
388 Halya-96941
         Language_Cycle_Add_Message("Guild/Party translation is now on.");
389 Halya-96941
      end
390 Halya-96941
   end
391 Halya-96941
   Language_Cycle_Set_Text_Color();
392 Halya-96941
   Language_Cycle_Set_Party_Checkbutton();
393 Halya-96941
   -- if (IsAddOnLoaded("Titan")) then
394 Halya-96941
      -- TitanPanelButton_UpdateButton(TITAN_LANGUAGECYCLE_ID);
395 Halya-96941
   -- end
396 Halya-96941
      -- if (IsAddOnLoaded("FuBar")) then
397 Halya-96941
        -- LanguageCycleFuBar:UpdateText()
398 Halya-96941
      -- end
399 Halya-96941
end
400 Halya-96941
 
401 Halya-96941
 
402 Halya-96941
function Language_Cycle_Set_Party_Checkbutton()
403 Halya-96941
   if (LANGUAGE_CYCLE.translate_group) then
404 Halya-96941
      Language_Cycle_Party_Toggle:SetChecked(1);
405 Halya-96941
   else
406 Halya-96941
      Language_Cycle_Party_Toggle:SetChecked(0);
407 Halya-96941
   end
408 Halya-96941
end
409 Halya-96941
 
410 Halya-96941
 
411 Halya-96941
function Language_Cycle_Set_Text_Color()
412 Halya-96941
   if (LANGUAGE_CYCLE.translate_group) then
413 Halya-96941
      Language_Cycle_Button:GetNormalFontObject():SetTextColor(1, 1, 1);
414 Halya-96941
   else
415 Halya-96941
      Language_Cycle_Button:GetNormalFontObject():SetTextColor(.5, 1, .5);
416 Halya-96941
   end
417 Halya-96941
end
418 Halya-96941
 
419 Halya-96941
function Language_Cycle_Slash(arg)
420 Halya-96941
   if (arg == "" or arg == nil) then
421 Halya-96941
      Language_Cycle_Cycle();
422 Halya-96941
   elseif (arg == "ver" or arg == "version") then
423 Halya-96941
      Language_Cycle_Add_Message("LanguageCycle version: " .. LC_version);
424 Halya-96941
   elseif (arg == "clear") then
425 Halya-96941
      Language_Cycle_Clear();
426 Halya-96941
   elseif (arg == "stat" or arg == "status") then
427 Halya-96941
      local msg = "Speaking: " .. LANGUAGE_CYCLE.saved_language[LC_player_id] .. "; Guild/Party translation is ";
428 Halya-96941
      if (LANGUAGE_CYCLE.translate_group) then
429 Halya-96941
         msg = msg .. "on.";
430 Halya-96941
      else
431 Halya-96941
         msg = msg .. "off.";
432 Halya-96941
      end
433 Halya-96941
      Language_Cycle_Add_Message(msg);
434 Halya-96941
   elseif (arg == "party" or arg == "guild" or arg == "group" or arg =="toggle") then
435 Halya-96941
      Language_Cycle_Toggle_Group(true);
436 Halya-96941
   elseif (arg == "show" or arg == "hide") then
437 Halya-96941
      Language_Cycle_Panel_Visible();
438 Halya-96941
   elseif (arg == "mm" or arg == "MM") then
439 Halya-96941
                if (LANGUAGE_CYCLE.minimapIcon.hide == false) then
440 Halya-96941
                        LibStub("LibDBIcon-1.0"):Hide("LanguageCycle")
441 Halya-96941
                        LANGUAGE_CYCLE.minimapIcon.hide = true
442 Halya-96941
                else
443 Halya-96941
                        LibStub("LibDBIcon-1.0"):Show("LanguageCycle")
444 Halya-96941
                        LANGUAGE_CYCLE.minimapIcon.hide = false
445 Halya-96941
                end
446 Halya-96941
        elseif (arg == "help") then
447 Halya-96941
      local t = 0;
448 Halya-96941
      while LC_Help_Text[t] ~= nil do
449 Halya-96941
         DEFAULT_CHAT_FRAME:AddMessage(LC_Help_Text[t],0.0, 1.0, 0.0);
450 Halya-96941
         t = t + 1;
451 Halya-96941
      end
452 Halya-96941
   end
453 Halya-96941
end
454 Halya-96941
 
455 Halya-96941
function Language_Cycle_Clear()
456 Halya-96941
   LANGUAGE_CYCLE.saved_language[LC_player_id] = nil;
457 Halya-96941
   LANGUAGE_CYCLE.translate_group = true;
458 Halya-96941
   Language_Cycle_Add_Message(string.format("Cleared language for %s", LC_player_name));
459 Halya-96941
   Language_Cycle_Button:SetText("Pref Cleared...");
460 Halya-96941
   Language_Cycle_Set_Text_Color();
461 Halya-96941
end
462 Halya-96941
 
463 Halya-96941
function Language_Cycle_Add_Message(msg)
464 Halya-96941
   DEFAULT_CHAT_FRAME:AddMessage(msg,0.0,1.0,0.0);
465 Halya-96941
end