View Single Post
04-06-06, 06:49 AM   #14
Cirk
A Cobalt Mageweaver
 
Cirk's Avatar
AddOn Author - Click to view addons
Join Date: Jan 2006
Posts: 226
Hi Heino_H! Well all I can say is this has got to be the best and most detailed bug report I've ever seen (and I mean that both in WoW and professionally ). And your english is pretty much perfect so I'd not worry about that!

Basically from what you described from GlobalStrings.lua, it looks to me like the European versions of WoW have some sort of translater that it uses to change English language parameter passing order into something that will make sense in the particular client language, and that information (the 1$, 2$, etc. in the strings you presented) is probably what is upsetting the string parsing capture.

Can you try modifying the Innerfire_ConvertStringToFind function (starts at line 384) to see if we can fix the problem there? Basically we just need to add a line to parse-out the parameter ordering information (since we don't care about the order in Innerfire, just that the parameters are identifiable). So, the function needs to look something like:
Code:
local function Innerfire_ConvertStringToFind(text)
    -- Given a text string containing %s and %d parameters, this function
    -- converts these to a string that can be passed to string.find to extract
    -- the parameters from text formatted using this string.
    local newText = string.gsub(text, "%.", "%%.")
    newText = string.gsub(newText, "%%%d%$", "%%"); -- New line to add
    newText = string.gsub(newText, "%%s", "(.+)");
    newText = string.gsub(newText, "%%d", "(%%d+)");
    return newText;
end
Where the new line to be added should be obvious

Let me know how that goes, and many many thanks for your detective work!

Cheers
-- Cirk
__________________
Cirk's Addons
  Reply With Quote