Add configuration and localization source
This commit is contained in:
@@ -0,0 +1,257 @@
|
||||
|
||||
local addonName, addonTable = "Auctionator", AtrNS;
|
||||
local zc = addonTable.zc;
|
||||
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
AtrL = {};
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
function Atr_PickLocalizationTable (locale)
|
||||
|
||||
local f = getglobal ("AtrBuildLTable_"..locale);
|
||||
if (type (f) == "function") then
|
||||
f();
|
||||
-- DEFAULT_CHAT_FRAME:AddMessage (locale.." found");
|
||||
else
|
||||
AtrBuildLTable_enUS();
|
||||
-- DEFAULT_CHAT_FRAME:AddMessage (locale.." not found");
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
Atr_PickLocalizationTable (GetLocale());
|
||||
--Atr_PickLocalizationTable ("esES");
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
function ZT (s)
|
||||
|
||||
if (s == nil or s == "") then
|
||||
return s;
|
||||
end
|
||||
|
||||
if (AtrL) then
|
||||
local s1 = AtrL[s];
|
||||
if (s1 and s1 ~= "") then
|
||||
return s1;
|
||||
end
|
||||
end
|
||||
|
||||
return s;
|
||||
end
|
||||
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
function zc.IsEnglishLocale()
|
||||
|
||||
return (GetLocale() == "enUS" or GetLocale() == "enGB");
|
||||
|
||||
end
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
local testt = {};
|
||||
local Atr_excludes = { Cancel=1, Okay=1, Done=1, Close=1 }
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
local function Atr_LocalizeChildText (frame)
|
||||
|
||||
local child;
|
||||
local subregions = { frame:GetRegions() };
|
||||
for _, child in ipairs(subregions) do
|
||||
|
||||
if (type (child.GetText) == "function") then
|
||||
local ftext = child:GetText();
|
||||
local fname = tostring(child:GetName());
|
||||
|
||||
if (ftext and ftext ~= "" and not Atr_excludes[ftext] and not zc.StringStartsWith (fname, "AuctionatorEntry")) then
|
||||
testt[ftext] = 1;
|
||||
child:SetText (ZT(ftext));
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local kids = { frame:GetChildren() };
|
||||
for _, child in ipairs(kids) do
|
||||
|
||||
if (type (child.GetText) == "function") then
|
||||
local ftext = child:GetText();
|
||||
local fname = tostring(child:GetName());
|
||||
|
||||
if (ftext and ftext ~= "" and not Atr_excludes[ftext] and not zc.StringStartsWith (fname, "AuctionatorEntry")) then
|
||||
testt[ftext] = 1;
|
||||
|
||||
if (child:GetObjectType() == "Button") then
|
||||
local oldwid = math.floor(child:GetWidth());
|
||||
child:SetText (ZT(ftext));
|
||||
local newwid = math.floor(child:GetTextWidth()) + 15;
|
||||
if (newwid > oldwid) then
|
||||
child:SetWidth (newwid+20);
|
||||
end
|
||||
else
|
||||
child:SetText (ZT(ftext));
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if (child:GetObjectType() ~= "Button") then
|
||||
Atr_LocalizeChildText (child);
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
function Atr_LocalizeFrames ()
|
||||
|
||||
-- the 3.x port walked every frame with EnumerateFrames() to translate it; the 1.12 client has no
|
||||
-- such call and this build ships English text only, so there is nothing to do.
|
||||
|
||||
end
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
local kUncutGems = {
|
||||
36924, -- sky sapphire
|
||||
36925, -- majestic zircon
|
||||
|
||||
36918, -- scarlet ruby
|
||||
36919, -- cardinal ruby
|
||||
|
||||
36933, -- forest emerald
|
||||
36934, -- eye of zul
|
||||
|
||||
36930, -- monarch topaz
|
||||
36931, -- ametrine
|
||||
|
||||
36927, -- twilight opal
|
||||
36928, -- dreadstone
|
||||
|
||||
36921, -- autumns glow
|
||||
36922, -- kings amber
|
||||
|
||||
41334, -- earthsiege diamond
|
||||
41266, -- skyflare diamond
|
||||
|
||||
42225 -- dragon's eye
|
||||
}
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
function Atr_IsCutGem (itemLink) return false; end
|
||||
function Atr_IsGlyph (itemLink) return false; end
|
||||
function Atr_IsGem (itemLink) return false; end
|
||||
function Atr_IsItemEnhancement (itemLink) return false; end
|
||||
|
||||
local function Atr_IsTypeAndSub (itemLink, wantType, wantSub)
|
||||
|
||||
if (itemLink == nil) then
|
||||
return false;
|
||||
end
|
||||
|
||||
local _, _, _, _, _, itemType, itemSubType = Atr_GetItemInfo (itemLink);
|
||||
|
||||
return (itemType ~= nil and itemSubType ~= nil and zc.StringSame (itemType, wantType) and zc.StringSame (itemSubType, wantSub));
|
||||
end
|
||||
|
||||
function Atr_IsPotion (itemLink) return Atr_IsTypeAndSub (itemLink, "Consumable", "Potion"); end
|
||||
function Atr_IsElixir (itemLink) return Atr_IsTypeAndSub (itemLink, "Consumable", "Elixir"); end
|
||||
function Atr_IsFlask (itemLink) return Atr_IsTypeAndSub (itemLink, "Consumable", "Flask"); end
|
||||
function Atr_IsHerb (itemLink) return Atr_IsTypeAndSub (itemLink, "Trade Goods", "Herb"); end
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
local gItemClasses;
|
||||
local gItemSubClasses;
|
||||
|
||||
-----------------------------------------
|
||||
-- if Blizz introduces new auction classes this might need to change
|
||||
|
||||
function Atr_IsWeaponType (itemType) return (Atr_ItemType2AuctionClass (itemType) == 1); end
|
||||
function Atr_IsArmorType (itemType) return (Atr_ItemType2AuctionClass (itemType) == 2); end
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
function Atr_IsClass (itemLink, class, subclass)
|
||||
|
||||
if (itemLink == nil) then
|
||||
return false;
|
||||
end
|
||||
|
||||
local _, _, _, _, _, itemType, itemSubType = Atr_GetItemInfo (itemLink);
|
||||
|
||||
local itemClass = Atr_ItemType2AuctionClass (itemType);
|
||||
local itemSubClass;
|
||||
|
||||
if (itemClass == class) then
|
||||
|
||||
if (subclass == nil) then
|
||||
return true;
|
||||
end
|
||||
|
||||
itemSubClass = Atr_SubType2AuctionSubclass (itemClass, itemSubType)
|
||||
|
||||
if (subclass == itemSubClass) then
|
||||
return true;
|
||||
end
|
||||
end
|
||||
|
||||
return false;
|
||||
end
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
function Atr_ItemType2AuctionClass(itemType)
|
||||
|
||||
if (gItemClasses == nil) then
|
||||
gItemClasses = { GetAuctionItemClasses() };
|
||||
end
|
||||
|
||||
if getn(gItemClasses) > 0 then
|
||||
local itemClass;
|
||||
for x, itemClass in pairs(gItemClasses) do
|
||||
if (zc.StringSame (itemClass, itemType)) then
|
||||
return x;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return 0;
|
||||
end
|
||||
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
function Atr_SubType2AuctionSubclass(auctionClass, itemSubtype)
|
||||
|
||||
if (gItemSubClasses == nil) then
|
||||
gItemSubClasses = {};
|
||||
end
|
||||
|
||||
if (gItemSubClasses[auctionClass] == nil) then
|
||||
gItemSubClasses[auctionClass] = { GetAuctionItemSubClasses(auctionClass) };
|
||||
end
|
||||
|
||||
local subclasses = gItemSubClasses[auctionClass];
|
||||
|
||||
if getn(subclasses) > 0 then
|
||||
local itemSubClass;
|
||||
for x, itemSubClass in pairs(subclasses) do
|
||||
if (zc.StringSame (itemSubClass, itemSubtype)) then
|
||||
return x;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return 0;
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user