vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 --[[
2  
3 File containing localized strings
4 for English, French, German and Chinese versions, defaults to English
5  
6 Processed locales: french (frFR), german (deDE), simplified chinese (zhCN), english (US or GB, default)
7 ]]
8  
9 if ( GetLocale() == "frFR" ) then
10 -- French localized variables
11 GATHERER_VERSION_WARNING="Nouvelle version de Gatherer d\195\169tect\195\169e, v\195\169rifiez le zone match.";
12 GATHERER_NOTEXT="([-]) pas de texte "
13  
14 -- TRADE NAME
15 TRADE_HERBALISM="Herboristerie";
16 OLD_TRADE_HERBALISM="Herboristerie";
17 TRADE_MINING="Minage"
18 TRADE_OPENING="Ouverture"
19 GATHER_HERBALISM="Cueillette"
20  
21 -- strings for gather line in chat
22 HERB_GATHER_STRING="Vous ex\195\169cutez Cueillette sur"
23 ORE_GATHER_STRING="Vous ex\195\169cutez Minage sur"
24 TREASURE_GATHER_STRING="Vous ex\195\169cutez Ouverture sur"
25  
26 GATHERER_REQUIRE="N\195\169cessite"
27 GATHERER_NOSKILL="Requiert"
28  
29 -- Length of the string to keep the gather name
30 HERB_GATHER_LENGTH=31
31 HERB_GATHER_END=-2
32 ORE_GATHER_LENGTH=27
33 ORE_GATHER_END=-2
34 TREASURE_GATHER_LENGTH=30
35 TREASURE_GATHER_END=-2
36  
37 -- ore classes
38 ORE_CLASS_VEIN ="veine"
39 ORE_CLASS_DEPOSIT="d\195\169p\195\180t"
40 ORE_CLASS_LODE ="filon"
41 ORE_CLASS_SEAM ="gisement"
42  
43 -- ore types
44 ORE_COPPER ="cuivre"
45 ORE_TIN ="\195\169tain"
46 ORE_IRON ="fer"
47 ORE_SILVER ="argent"
48 ORE_TRUESILVER ="vrai-argent"
49 ORE_GOLD ="or"
50 ORE_MITHRIL ="mithril"
51 ORE_THORIUM ="thorium"
52 ORE_RTHORIUM ="thorium (riche)"
53 ORE_DARKIRON ="sombrefer"
54  
55 -- herb types (ingame verified translations)
56 HERB_PEACEBLOOM ="pacifique"
57 HERB_SILVERLEAF ="feuillargent"
58 HERB_EARTHROOT ="terrestrine"
59 HERB_MAGEROYAL ="mage royal"
60 HERB_BRIARTHORN ="eglantine"
61 HERB_STRANGLEKELP ="etouffante"
62 HERB_SWIFTTHISTLE ="chardonnier"
63 HERB_BRUISEWEED ="doulourante"
64 HERB_WILDSTEELBLOOM ="aci\195\169rite sauvage"
65 HERB_GRAVEMOSS ="tombeline"
66 HERB_KINGSBLOOD ="sang-royal"
67 HERB_LIFEROOT ="viet\195\169rule"
68 HERB_FADELEAF ="p\195\162lerette"
69 HERB_KHADGARSWHISKER ="moustache de khadgar"
70 HERB_FIREBLOOM ="fleur de feu"
71 HERB_GOLDTHORN ="dor\195\169pine"
72 HERB_PURPLELOTUS ="lotus pourpre"
73 HERB_BLINDWEED ="aveuglette"
74 HERB_SUNGRASS ="soleillette"
75 HERB_GHOSTMUSHROOM ="champignon fant\195\180me"
76 HERB_GOLDENSANSAM ="sansam dor\195\169"
77 HERB_GROMSBLOOD ="gromsang"
78 HERB_WILDVINE ="sauvageonne"
79 HERB_WINTERSBITE ="hivernale"
80 HERB_ARTHASTEAR ="larmes d'arthas"
81 HERB_BLACKLOTUS ="lotus noir"
82 HERB_DREAMFOIL ="feuiller\195\170ve"
83 HERB_ICECAP ="calot de glace"
84 HERB_MOUNTAINSILVERSAGE="sauge\-argent des montagnes"
85 HERB_PLAGUEBLOOM ="fleur de peste"
86  
87 -- treasure types
88 -- Note: BARREL is a placeholder, chances are it's translated by the one corresponding to CASK.
89 TREASURE_BOX ="bo\195\174te"
90 TREASURE_CHEST ="coffre"
91 TREASURE_CLAM ="palourde"
92 TREASURE_CRATE ="caisse"
93 TREASURE_BARREL ="barrique"
94 TREASURE_CASK ="tonneau"
95 TREASURE_SHELLFISHTRAP="casier \195\160 crustac\195\169s"
96 TREASURE_FOOTLOCKER = "cantine"
97  
98 TREASURE_BLOODHERO = "sang des h\195\169ros"
99  
100 TREASURE_BLOODPETAL = "p\195\169tale de sang"
101 TREASURE_BLOODPETAL_G = "pousse de p\195\169tale([-])de([-])sang"
102 TREASURE_POWERCRYST = "cristal de puissance"
103 TREASURE_UNGOROSOIL_G = "tas de poussi\195\168re"
104 TREASURE_UNGOROSOIL = "humus d'Un'Goro"
105  
106 TREASURE_NIGHTDRAGON = "dragon nocturne"
107 TREASURE_WHIPPERROOT = "navetille"
108 TREASURE_WINDBLOSSOM_G = "fleur([-])de([-])vent"
109 TREASURE_WINDBLOSSOM = "fleur de vent"
110 TREASURE_SONGFLOWER_G = "fleur([-])de([-])chant"
111 TREASURE_SONGFLOWER = "fleur de chant"
112  
113 TREASURE_FISHNODE_TRIGGER1 = "Malle";
114 -- TREASURE_FISHNODE_TRIGGER2 = "boursoufl\195\169"; -- no longer found in wreckage in 1.11
115  
116 TREASURE_FISHNODE_TRIGGER4 = "banc d";
117 TREASURE_FISHNODE_TRIGGER5 = "d\195\169bris flottant";
118 TREASURE_FISHNODE_TRIGGER6 = "nappe de p\195\169trole";
119 TREASURE_FISHNODE_TRIGGER7 = "remous d'eau \195\169l\195\169mentaire";
120  
121 TREASURE_FISHNODE = "banc";
122 TREASURE_FISHWRECK = TREASURE_FISHNODE_TRIGGER5;
123 TREASURE_FISHELEM = TREASURE_FISHNODE_TRIGGER7;
124  
125 GATHERER_ReceivesLoot = "Vous recevez le butin : (.+)%.";
126  
127 TREASURE_REGEX = {
128 [1] = " ([^ ]+)$",
129 [2] = "^([^ ]+) ",
130 [3] = "([^ ]+) ([^ ]+) ",
131 [4] = "([^ ]+) ([^ ]+)$",
132 };
133  
134  
135 function Gatherer_FindOreType(input)
136 local i,j, oreType, oreClass, oreArticle;
137 local trinput=string.gsub(input, '\'', " ")
138  
139 if ( string.find(input, "riche") and string.find(input, "thorium") ) then
140 return ORE_RTHORIUM;
141 end;
142  
143 if ( string.find(input, ORE_DARKIRON)) then
144 return ORE_DARKIRON;
145 end
146  
147 i, j, oreClass, oreArticle, oreType = string.find(input, "([^ ]+) ([^ ]+) ([^ ]+)$");
148 if (oreClass ~= ORE_CLASS_VEIN and oreClass ~= ORE_CLASS_DEPOSIT and oreClass ~= ORE_CLASS_LODE and oreClass ~= ORE_CLASS_SEAM) then
149 i, j, oreClass, oreArticle, oreType = string.find(trinput, "^([^ ]+) ([^ ]+) ([^ ]+)");
150 end
151 if (oreType and oreClass and (oreClass == ORE_CLASS_VEIN or oreClass == ORE_CLASS_DEPOSIT or oreClass == ORE_CLASS_LODE or oreClass == ORE_CLASS_SEAM)) then
152 return oreType;
153 end
154 return;
155 end
156  
157 function Gatherer_FindTreasureType(in_input)
158 local iconName, input;
159 input = string.gsub(in_input, GATHERER_NOTEXT, "")
160  
161 if ( string.find(input, TREASURE_UNGOROSOIL_G) ) then
162 return TREASURE_UNGOROSOIL, TREASURE_UNGOROSOIL;
163 end
164  
165 if (string.find(input, TREASURE_POWERCRYST) ) then
166 return TREASURE_POWERCRYST, TREASURE_POWERCRYST;
167 end
168  
169 if (string.find(input, TREASURE_BLOODPETAL_G) or string.find(input, TREASURE_BLOODPETAL)) then
170 return TREASURE_BLOODPETAL, TREASURE_BLOODPETAL;
171 end
172  
173 if (string.find(input, TREASURE_BLOODHERO) ) then
174 return TREASURE_BLOODHERO, TREASURE_BLOODHERO;
175 end
176  
177 if (string.find(input, TREASURE_WINDBLOSSOM_G) or string.find(input, TREASURE_WINDBLOSSOM)) then
178 return TREASURE_WINDBLOSSOM, TREASURE_WINDBLOSSOM;
179 end
180  
181 if (string.find(input, TREASURE_SONGFLOWER_G) or string.find(input, TREASURE_SONGFLOWER)) then
182 return TREASURE_SONGFLOWER, TREASURE_SONGFLOWER;
183 end
184  
185 for iconName in Gather_DB_IconIndex[0] do
186 local index, treasure_regex, i, j, treasType;
187 if ( input == iconName ) then
188 return iconName;
189 end
190  
191 if ( string.find(input, iconName) ) then
192 for index, treasure_regex in TREASURE_REGEX do
193 i,j, treasType = string.find(input, treasure_regex);
194 if ( treasType and treasType == iconName ) then
195 return iconName;
196 end
197  
198 i,j, _, treasType = string.find(input, treasure_regex);
199 if ( treasType and treasType == iconName ) then
200 return iconName;
201 end
202 end
203 end
204 end
205 return;
206 end
207 -- Common Values, Functions
208 TYPE_RARE = "Rare";
209 elseif ( GetLocale() == "deDE" ) then
210 -- German localized variables
211 GATHERER_VERSION_WARNING="New zone order detected, check zone match to translate old zones to new order.";
212 GATHERER_NOTEXT="([-]) Kein Text "
213  
214 -- TRADE NAME
215 TRADE_HERBALISM="Kr\195\164uterkunde"
216 OLD_TRADE_HERBALISM="Kr\195\164uterkunde"
217 TRADE_MINING="Bergbau"
218 TRADE_OPENING="\195\150ffnen"
219 GATHER_HERBALISM="Kr\195\164utersammeln"
220  
221 -- strings for gather line in chat
222 HERB_GATHER_STRING="Ihr f\195\188hrt Kr\195\164utersammeln auf" -- "Ihr fuhrt Krautersammeln auf Beulengras aus."
223 ORE_GATHER_STRING="Ihr f\195\188hrt Bergbau auf" -- "Ihr fuhrt Bergbau auf Kupfervorkommen aus."
224 TREASURE_GATHER_STRING="Ihr f\195\188hrt \195\150ffnen auf" -- "Ihr fuhrt Offnen auf Ramponierte Truhe aus."
225  
226 -- Length of the string to keep the gather name
227 HERB_GATHER_LENGTH=32
228 HERB_GATHER_END=-6
229 ORE_GATHER_LENGTH=24
230 ORE_GATHER_END=-6
231 TREASURE_GATHER_LENGTH=24
232 TREASURE_GATHER_END=-6
233  
234 GATHERER_REQUIRE="Ben\195\182tigt"
235 GATHERER_NOSKILL="Erfordert"
236  
237 -- ore classes
238 ORE_CLASS_VEIN ="vorkommen"
239 ORE_CLASS_DEPOSIT="ablagerung"
240  
241 -- ore types
242 ORE_COPPER ="kupfer"
243 ORE_TIN ="zinn"
244 ORE_IRON ="eisen"
245 ORE_SILVER ="silber"
246 ORE_TRUESILVER="echtsilber"
247 ORE_GOLD ="gold"
248 ORE_MITHRIL ="mithril"
249 ORE_THORIUM ="thorium"
250 ORE_RTHORIUM ="thorium (reiches)"
251 ORE_DARKIRON ="dunkeleisen"
252  
253 -- herb types
254 HERB_ARTHASTEAR ="arthas\226\128\153 tr\195\164nen"
255 HERB_BLACKLOTUS ="schwarzer lotus"
256 HERB_BLINDWEED ="blindkraut"
257 HERB_BRIARTHORN ="wilddornrose"
258 HERB_BRUISEWEED ="beulengras"
259 HERB_DREAMFOIL ="traumblatt"
260 HERB_EARTHROOT ="erdwurzel"
261 HERB_FADELEAF ="blassblatt"
262 HERB_FIREBLOOM ="feuerbl\195\188te"
263 HERB_GHOSTMUSHROOM ="geisterpilz"
264 HERB_GOLDENSANSAM ="goldener sansam"
265 HERB_GOLDTHORN ="golddorn"
266 HERB_GRAVEMOSS ="grabmoos"
267 HERB_GROMSBLOOD ="gromsblut"
268 HERB_ICECAP ="eiskappe"
269 HERB_KHADGARSWHISKER ="khadgars schnurrbart"
270 HERB_KINGSBLOOD ="k\195\182nigsblut"
271 HERB_LIFEROOT ="lebenswurz"
272 HERB_MAGEROYAL ="magusk\195\182nigskraut"
273 HERB_MOUNTAINSILVERSAGE="bergsilberweisling"
274 HERB_PEACEBLOOM ="friedensblume"
275 HERB_PLAGUEBLOOM ="pestbl\195\188te"
276 HERB_PURPLELOTUS ="lila lotus"
277 HERB_SILVERLEAF ="silberblatt"
278 HERB_STRANGLEKELP ="w\195\188rgetang"
279 HERB_SUNGRASS ="sonnengras"
280 HERB_SWIFTTHISTLE ="flitzdistel"
281 HERB_WILDSTEELBLOOM ="wildstahlblume"
282 HERB_WINTERSBITE ="winterbiss"
283 HERB_WILDVINE ="wildranke"
284  
285 -- treasure types
286 TREASURE_BOX ="kiste"
287 TREASURE_CHEST ="truhe"
288 TREASURE_CLAM ="muschel"
289 TREASURE_CRATE ="kasten"
290 TREASURE_BARREL ="tonne"
291 TREASURE_CASK ="fass"
292 TREASURE_SHELLFISHTRAP="schalentierfalle"
293 TREASURE_FOOTLOCKER = "schlie\195\159kiste"
294  
295 TREASURE_BLOODHERO = "blut von helden"
296  
297 TREASURE_UNGOROSOIL_G = "erdhaufen"
298 TREASURE_BLOODPETAL = "blutbl\195\188te"
299 TREASURE_BLOODPETAL_G = "blutbl\195\188tenspr\195\182ssling"
300 TREASURE_POWERCRYST = "machtkristall"
301 TREASURE_UNGOROSOIL = "un'Goro erde"
302  
303 TREASURE_NIGHTDRAGON = "nachtdrache"
304 TREASURE_WHIPPERROOT = "peitscherwurzel"
305 TREASURE_WINDBLOSSOM = "windbl\195\188te"
306 TREASURE_SONGFLOWER = "liedblume"
307  
308 TREASURE_FISHNODE_TRIGGER1 = "Geh\195\164use";
309 -- TREASURE_FISHNODE_TRIGGER2 = "Aufgedunsener"; -- no longer found in wreckage in 1.11
310  
311 TREASURE_FISHNODE_TRIGGER4 = "schwarm";
312 TREASURE_FISHNODE_TRIGGER5 = "schwimmende tr\195\188mmer";
313 TREASURE_FISHNODE_TRIGGER6 = "\195\150lfleck";
314 TREASURE_FISHNODE_TRIGGER7 = "stelle mit elementarwasser";
315  
316 TREASURE_FISHNODE = "schwarm";
317 TREASURE_FISHWRECK = TREASURE_FISHNODE_TRIGGER5;
318 TREASURE_FISHELEM = TREASURE_FISHNODE_TRIGGER7;
319  
320 GATHERER_ReceivesLoot = "Ihr bekommt Beute: (.+)%.";
321  
322 TREASURE_REGEX = {
323 [1] = " ([^ ]+)$",
324 [2] = "^([^ ]+) ",
325 [3] = "([^ ]+) ([^ ]+) ",
326 [4] = "([^ ]+) ([^ ]+)$",
327 [5] = "^([^ ]+)$",
328 };
329  
330 function Gatherer_FindOreType(input)
331 local i,j, oreType, oreClass, oreTypeClass;
332  
333 if ( string.find(input, "reiches") and string.find(input, "thorium") ) then
334 return ORE_RTHORIUM;
335 end;
336  
337 -- fix for ooze covered
338 oreTypeClass = string.gsub(string.gsub(string.gsub(string.gsub(input, "br\195\188hschlammbedecktes ", ""), "kleines ", ""), "reiches ", "" ), "br\195\188hschlammbedeckte ", "" );
339  
340 if (string.find(oreTypeClass, ORE_CLASS_VEIN)) then
341 oreType = strsub(oreTypeClass, 0, string.len(oreTypeClass)-string.len(ORE_CLASS_VEIN));
342 oreClass = ORE_CLASS_VEIN;
343 end
344 if (string.find(oreTypeClass, ORE_CLASS_DEPOSIT)) then
345 oreType = strsub(oreTypeClass, 0, string.len(oreTypeClass)-string.len(ORE_CLASS_DEPOSIT));
346 oreClass = ORE_CLASS_DEPOSIT;
347 end
348 if( oreClass == ORE_CLASS_DEPOSIT and oreType == ORE_SILVER ) then
349 oreType = ORE_TRUESILVER;
350 end
351 if (oreType and oreClass and ((oreClass == ORE_CLASS_VEIN) or (oreClass == ORE_CLASS_DEPOSIT))) then
352 return oreType;
353 end
354 return;
355 end
356  
357 function Gatherer_FindTreasureType(in_input)
358 local iconName, input;
359  
360 -- fix for clams
361 input = string.gsub(string.gsub(in_input, GATHERER_NOTEXT, ""), "riesen", "");
362  
363 if ( string.find(input, TREASURE_UNGOROSOIL_G) or string.find(input, TREASURE_UNGOROSOIL)) then
364 return TREASURE_UNGOROSOIL, TREASURE_UNGOROSOIL;
365 end
366  
367 if (string.find(input, TREASURE_POWERCRYST) ) then
368 return TREASURE_POWERCRYST, TREASURE_POWERCRYST;
369 end
370  
371 if (string.find(input, TREASURE_BLOODPETAL_G) or string.find(input, TREASURE_BLOODPETAL)) then
372 return TREASURE_BLOODPETAL, TREASURE_BLOODPETAL_G;
373 end
374  
375 if (string.find(input, TREASURE_BLOODHERO) ) then
376 return TREASURE_BLOODHERO, TREASURE_BLOODHERO;
377 end
378  
379 for iconName in Gather_DB_IconIndex[0] do
380 local index, treasure_regex, i, j, treasType;
381 if ( input == iconName ) then
382 return iconName;
383 end
384  
385 if ( string.find(input, iconName) ) then
386 for index, treasure_regex in TREASURE_REGEX do
387 i,j, treasType = string.find(input, treasure_regex);
388 if ( treasType and treasType == iconName ) then
389 return iconName;
390 end
391  
392 i,j, _, treasType = string.find(input, treasure_regex);
393 if ( treasType and treasType == iconName ) then
394 return iconName;
395 end
396 end
397 end
398  
399 if ( string.find(string.lower(input), string.lower(iconName))) then
400 return iconName;
401 end
402 end
403 return;
404 end
405 -- Common Values, Functions
406 TYPE_RARE = "Rare";
407 elseif ( GetLocale() == "zhCN" ) then
408  
409 -- Chinese localized variables
410 -- localized by biAji
411 GATHERER_VERSION_WARNING="New Gatherer Version detected, check zone match.";
412 GATHERER_NOTEXT="([-]) no text "
413  
414 -- TRADE NAME
415 TRADE_HERBALISM="\232\141\137\232\141\175\229\173\166"
416 OLD_TRADE_HERBALISM="\232\141\137\232\141\175\229\173\166"
417 TRADE_MINING="\233\135\135\231\159\191"
418 TRADE_OPENING="Opening"
419 GATHER_HERBALISM="Herb Gathering"
420  
421 -- strings for gather line in chat
422 HERB_GATHER_STRING="\228\189\191\231\148\168\233\135\135\233\155\134"
423 ORE_GATHER_STRING="\228\189\191\231\148\168\233\135\135\231\159\191"
424 TREASURE_GATHER_STRING="\228\189\191\231\148\168\230\137\147\229\188\128"
425  
426 -- Length of the string to keep the gather name
427 HERB_GATHER_LENGTH=5
428 HERB_GATHER_END=-20
429 ORE_GATHER_LENGTH=5
430 ORE_GATHER_END=-15
431 TREASURE_GATHER_LENGTH=5
432 TREASURE_GATHER_END=-15
433  
434 GATHERER_REQUIRE="\233\156\128\232\166\129"
435 GATHERER_NOSKILL="\233\156\128\232\166\129\231\173\137\231\186\167"
436  
437 -- ore classes
438 ORE_CLASS_VEIN ="\231\159\191"
439 ORE_CLASS_DEPOSIT="\231\159\191\231\159\179"
440  
441 -- ore types
442 ORE_COPPER ="\233\147\156"
443 ORE_TIN ="\233\148\161"
444 ORE_IRON ="\233\147\129"
445 ORE_SILVER ="\233\147\182"
446 ORE_TRUESILVER="\231\156\159\233\147\182"
447 ORE_GOLD ="\233\135\145"
448 ORE_MITHRIL ="\231\167\152\233\147\182"
449 ORE_THORIUM ="\231\145\159\233\147\182"
450 ORE_RTHORIUM ="\229\175\140\231\145\159\233\147\182"
451 ORE_DARKIRON ="\233\187\145\233\147\129"
452  
453 -- herb types
454 HERB_ARTHASTEAR ="\233\152\191\229\176\148\232\144\168\230\150\175\228\185\139\230\179\170"
455 HERB_BLACKLOTUS ="\233\187\145\232\142\178\232\138\177"
456 HERB_BLINDWEED ="\231\155\178\231\155\174\232\141\137"
457 HERB_BRIARTHORN ="\231\159\179\229\141\151\232\141\137"
458 HERB_BRUISEWEED ="\232\183\140\230\137\147\232\141\137"
459 HERB_DREAMFOIL ="\230\162\166\229\143\182\232\141\137"
460 HERB_EARTHROOT ="\229\156\176\230\160\185\232\141\137"
461 HERB_FADELEAF ="\230\158\175\229\143\182\232\141\137"
462 HERB_FIREBLOOM ="\231\129\171\231\132\176\232\138\177"
463 HERB_GHOSTMUSHROOM ="\229\185\189\231\129\181\232\143\135"
464 HERB_GOLDENSANSAM ="\233\187\132\233\135\145\229\143\130"
465 HERB_GOLDTHORN ="\233\135\145\230\163\152\232\141\137"
466 HERB_GRAVEMOSS ="\229\162\147\229\156\176\232\139\148"
467 HERB_GROMSBLOOD ="\230\160\188\231\189\151\229\167\134\228\185\139\232\161\128"
468 HERB_ICECAP ="\229\134\176\231\155\150\232\141\137"
469 HERB_KHADGARSWHISKER ="\229\141\161\229\190\183\229\138\160\231\154\132\232\131\161\233\161\187"
470 HERB_KINGSBLOOD ="\231\154\135\232\161\128\232\141\137"
471 HERB_LIFEROOT ="\230\180\187\230\160\185\232\141\137"
472 HERB_MAGEROYAL ="\233\173\148\231\154\135\232\141\137"
473 HERB_MOUNTAINSILVERSAGE="\229\177\177\233\188\160\232\141\137"
474 HERB_PEACEBLOOM ="\229\174\129\231\165\158\232\138\177"
475 HERB_PLAGUEBLOOM ="\231\152\159\231\150\171\232\138\177"
476 HERB_PURPLELOTUS ="\231\180\171\232\142\178\232\138\177"
477 HERB_SILVERLEAF ="\233\147\182\229\143\182\232\141\137"
478 HERB_STRANGLEKELP ="\232\141\134\230\163\152\232\151\187"
479 HERB_SUNGRASS ="\229\164\170\233\152\179\232\141\137"
480 HERB_SWIFTTHISTLE ="\233\155\168\231\135\149\232\141\137"
481 HERB_WILDSTEELBLOOM ="\233\135\142\233\146\162\232\138\177"
482 HERB_WINTERSBITE ="\229\134\172\229\136\186\232\141\137"
483 HERB_WILDVINE ="\233\135\142\232\145\161\232\144\132\232\151\164"
484  
485 -- treasure types
486 TREASURE_BOX ="\231\160\180\230\141\159\231\154\132\231\155\146\229\173\144"
487 TREASURE_CHEST ="\231\174\177\229\173\144"
488 TREASURE_CLAM ="\229\183\168\229\158\139\232\154\140\229\163\179"
489 TREASURE_CRATE ="\230\157\191\230\157\161\231\174\177"
490 TREASURE_BARREL ="\230\156\168\230\161\182"
491 TREASURE_CASK ="\229\176\143\229\156\134\230\161\182"
492 TREASURE_SHELLFISHTRAP ="shellfish trap"
493 TREASURE_FOOTLOCKER = "footlocker"
494  
495 TREASURE_BLOODHERO = "\232\139\177\233\155\132\228\185\139\232\161\128"
496  
497 TREASURE_UNGOROSOIL = "\229\174\137\230\136\136\230\180\155\231\154\132\230\179\165\229\156\159"
498 TREASURE_UNGOROSOIL_G = "\229\174\137\230\136\136\230\180\155\229\156\159\229\160\134"
499 TREASURE_BLOODPETAL = "\232\161\128\231\147\163\232\138\177"
500 TREASURE_BLOODPETAL_G = "\232\161\128\231\147\163\232\138\177\232\139\151"
501 TREASURE_POWERCRYST = "\232\131\189\233\135\143\230\176\180\230\153\182"
502  
503 TREASURE_NIGHTDRAGON = "night dragon"
504 TREASURE_WHIPPERROOT = "whipper root"
505 TREASURE_WINDBLOSSOM = "windblossom"
506 TREASURE_SONGFLOWER = "songflower"
507  
508 TREASURE_FISHNODE_TRIGGER1 = "Trunk";
509 -- TREASURE_FISHNODE_TRIGGER2 = "Bloated"; -- no longer found in wreckage in 1.11
510  
511 TREASURE_FISHNODE_TRIGGER4 = "school";
512 TREASURE_FISHNODE_TRIGGER5 = "floating wreckage";
513 TREASURE_FISHNODE_TRIGGER6 = "oil spill";
514 TREASURE_FISHNODE_TRIGGER7 = "patch of elemental water";
515  
516 TREASURE_FISHNODE = "school";
517 TREASURE_FISHWRECK = TREASURE_FISHNODE_TRIGGER5;
518 TREASURE_FISHELEM = TREASURE_FISHNODE_TRIGGER7;
519  
520 GATHERER_ReceivesLoot = "You receive loot: (.+)%.";
521  
522 TREASURE_REGEX = {
523 [1] = " ([^ ]+)$",
524 [2] = "^([^ ]+)",
525 [3] = "([^ ]+) ([^ ]+) ",
526 };
527  
528 function Gatherer_FindOreType(input)
529 local i,j, oreType, oreClass, oreTypeClass;
530  
531 if ( string.find(input, "\229\175\140") and string.find(input, "\231\145\159\233\147\182") ) then
532 return ORE_RTHORIUM;
533 end;
534  
535  
536 --i,j, oreType, oreClass = string.find(input, "([^ ]+) ([^ ]+)$");
537 oreTypeClass = input;
538 if (string.find(oreTypeClass, ORE_CLASS_VEIN)) then
539 oreType = strsub(oreTypeClass, 0, string.len(oreTypeClass)-string.len(ORE_CLASS_VEIN));
540 oreClass = ORE_CLASS_VEIN;
541 end
542 if (string.find(oreTypeClass, ORE_CLASS_DEPOSIT)) then
543 oreType = strsub(oreTypeClass, 0, string.len(oreTypeClass)-string.len(ORE_CLASS_DEPOSIT));
544 oreClass = ORE_CLASS_DEPOSIT;
545 end
546 if( oreClass == ORE_CLASS_DEPOSIT and oreType == ORE_SILVER ) then
547 oreType = ORE_TRUESILVER;
548 end
549  
550 if (oreType and oreClass and ((oreClass == ORE_CLASS_VEIN) or (oreClass == ORE_CLASS_DEPOSIT))) then
551 return oreType;
552 end
553 return;
554 end
555  
556 function Gatherer_FindTreasureType(in_input)
557 local iconName, input;
558  
559 input =string.gsub(in_input, GATHERER_NOTEXT, "")
560 if ( string.find(input, TREASURE_UNGOROSOIL_G) or string.find(input, TREASURE_UNGOROSOIL)) then
561 return TREASURE_UNGOROSOIL, TREASURE_UNGOROSOIL;
562 end
563  
564 if (string.find(input, TREASURE_POWERCRYST) ) then
565 return TREASURE_POWERCRYST, TREASURE_POWERCRYST;
566 end
567  
568 if (string.find(input, TREASURE_BLOODPETAL_G) or string.find(input, TREASURE_BLOODPETAL)) then
569 return TREASURE_BLOODPETAL, TREASURE_BLOODPETAL_G;
570 end
571  
572 if (string.find(input, TREASURE_BLOODHERO) ) then
573 return TREASURE_BLOODHERO, TREASURE_BLOODHERO;
574 end
575  
576 for iconName in Gather_DB_IconIndex[0] do
577 local index, treasure_regex, i, j, treasType;
578 if ( input == iconName ) then
579 return iconName;
580 end
581  
582 if ( string.find(input, iconName) ) then
583 for index, treasure_regex in TREASURE_REGEX do
584 i,j, treasType = string.find(input, treasure_regex);
585 if ( treasType and treasType == iconName ) then
586 return iconName;
587 end
588  
589 i,j, _, treasType = string.find(input, treasure_regex);
590 if ( treasType and treasType == iconName ) then
591 return iconName;
592 end
593 end
594 end
595 end
596 return;
597 end
598 -- Common Values, Functions
599 TYPE_RARE = "Rare";
600  
601 elseif ( GetLocale() == "ruRU" ) then
602 -- Russian localized variables (Maus and fix by CFM)
603 GATHERER_VERSION_WARNING="Обнаружена новая версия Gatherer, проверь zone match.";
604 GATHERER_NOTEXT="([-]) no text "
605  
606 TRADE_HERBALISM="Травничество"
607 OLD_TRADE_HERBALISM="Травничество"
608 TRADE_MINING="Горное дело"
609 TRADE_OPENING="Открытие"
610 GATHER_HERBALISM="Сбор трав"
611  
612 HERB_GATHER_STRING="Вы применяете Сбор трав на"
613 ORE_GATHER_STRING="Вы применяете Горное дело на"
614 TREASURE_GATHER_STRING="Вы применяете Открытие на"
615  
616 HERB_GATHER_LENGTH=31
617 HERB_GATHER_END=-2
618 ORE_GATHER_LENGTH=31
619 ORE_GATHER_END=-2
620 TREASURE_GATHER_LENGTH=31
621 TREASURE_GATHER_END=-2
622  
623 GATHERER_REQUIRE="Требуется:"
624 GATHERER_NOSKILL="быть не менее"
625  
626 -- ore types
627 ORE_COPPER ="Медная жила"
628 ORE_TIN ="Оловянная жила"
629 ORE_IRON ="Залежи железа"
630 ORE_SILVER ="Серебряная жила"
631 ORE_TRUESILVER="Залежи истинного серебра"
632 ORE_GOLD ="Золотая жила"
633 ORE_MITHRIL ="Мифриловые залежи"
634 ORE_THORIUM ="Ториевая жила"
635 ORE_RTHORIUM ="Богатая ториевая жила"
636 ORE_DARKIRON ="Залежи черного железа"
637  
638 -- herb types
639 HERB_ARTHASTEAR ="Слезы артаса"
640 HERB_BLACKLOTUS ="Черный лотос"
641 HERB_BLINDWEED ="Пастушья сумка"
642 HERB_BRIARTHORN ="Остротерн"
643 HERB_BRUISEWEED ="Синячник"
644 HERB_DREAMFOIL ="Снолист"
645 HERB_EARTHROOT ="Земляной корень"
646 HERB_FADELEAF ="Бледнолист"
647 HERB_FIREBLOOM ="Огнецвет"
648 HERB_GHOSTMUSHROOM ="Призрачная поганка"
649 HERB_GOLDENSANSAM ="Золотой сансам"
650 HERB_GOLDTHORN ="Златошип"
651 HERB_GRAVEMOSS ="Могильный мох"
652 HERB_GROMSBLOOD ="Кровь Грома"
653 HERB_ICECAP ="Ледяной зев"
654 HERB_KHADGARSWHISKER ="Кадгаров ус"
655 HERB_KINGSBLOOD ="Королевская кровь"
656 HERB_LIFEROOT ="Корень жизни"
657 HERB_MAGEROYAL ="Магороза"
658 HERB_MOUNTAINSILVERSAGE="Горный серебряный шалфей"
659 HERB_PEACEBLOOM ="Мироцвет"
660 HERB_PLAGUEBLOOM ="Чумоцвет"
661 HERB_PURPLELOTUS ="Лиловый лотос"
662 HERB_SILVERLEAF ="Сребролист"
663 HERB_STRANGLEKELP ="Удавник"
664 HERB_SUNGRASS ="Солнечник"
665 HERB_SWIFTTHISTLE ="Скорополох"
666 HERB_WILDSTEELBLOOM ="Дикий сталецвет"
667 HERB_WINTERSBITE ="Морозник"
668 HERB_WILDVINE ="Дикая лоза"
669  
670 -- treasure types
671 TREASURE_BOX ="Коробка"
672 TREASURE_CHEST ="Сундук"
673 TREASURE_CLAM ="Гигантский моллюск"
674 TREASURE_CRATE ="Ящик"
675 TREASURE_BARREL ="Бочонок"
676 TREASURE_CASK ="Бочка"
677 TREASURE_SHELLFISHTRAP ="Ловушка на моллюска"
678 TREASURE_FOOTLOCKER = "Сундучки"
679  
680 TREASURE_BLOODHERO = "Кровь героев"
681  
682 TREASURE_UNGOROSOIL = "Почва ун'Горо"
683 TREASURE_UNGOROSOIL_G = "Куча земли"
684 TREASURE_BLOODPETAL = "Побег кровоцвета"
685 TREASURE_BLOODPETAL_G = "Росток кровоцвета"
686 TREASURE_POWERCRYST = "Кристалл силы"
687  
688 TREASURE_NIGHTDRAGON = "Ночной дракон"
689 TREASURE_WHIPPERROOT = "Гнилой кнутокорень"
690 TREASURE_WINDBLOSSOM = "Оскверненный ветроцвет"
691 TREASURE_SONGFLOWER = "Оскверненный песнецвет"
692  
693 TREASURE_FISHNODE_TRIGGER1 = "Сундучок";
694 TREASURE_FISHNODE_TRIGGER3 = "Стая";
695 TREASURE_FISHNODE_TRIGGER4 = "Косяк";
696 TREASURE_FISHNODE_TRIGGER5 = "Плавающие обломки";
697 TREASURE_FISHNODE_TRIGGER6 = "Нефтяное пятно";
698 TREASURE_FISHNODE_TRIGGER7 = "Пятно элементарной воды";
699  
700 TREASURE_FISHNODE = "Стая рыбы";
701 TREASURE_FISHWRECK = TREASURE_FISHNODE_TRIGGER5;
702 TREASURE_FISHELEM = TREASURE_FISHNODE_TRIGGER7;
703  
704 GATHERER_ReceivesLoot = "Ваша добыча: (.+)%.";
705  
706 function Gatherer_FindOreType(input)
707 if ( string.find(input, "едная") and string.find(input, "жила") ) then --cooper
708 return ORE_COPPER;
709 elseif ( string.find(input, "ловянная") and string.find(input, "жила") ) then --tin
710 return ORE_TIN;
711 elseif ( string.find(input, "алежи") and string.find(input, "железа") ) then -- iron
712 return ORE_IRON;
713 elseif ( string.find(input, "еребряная") and string.find(input, "жила") ) then -- silver
714 return ORE_SILVER;
715 elseif ( string.find(input, "истинного") and string.find(input, "серебра") ) then -- truesilver
716 return ORE_TRUESILVER;
717 elseif ( string.find(input, "олотая") and string.find(input, "жила") ) then -- gold
718 return ORE_GOLD;
719 elseif ( string.find(input, "ифриловые") and string.find(input, "залежи") ) then -- mithril
720 return ORE_MITHRIL;
721 elseif ( string.find(input, "огатая") and string.find(input, "ториевая") ) then --rich thorium
722 return ORE_RTHORIUM;
723 elseif ( string.find(input, "черного") and string.find(input, "железа") ) then --darkiron
724 return ORE_DARKIRON;
725 elseif ( string.find(input, "ориевая") and string.find(input, "жила") ) then --thorium
726 return ORE_THORIUM;
727 end
728  
729 return;
730 end
731  
732 function Gatherer_FindTreasureType(input)
733 if string.find(input, "Гигантский моллюск") then
734 return TREASURE_CLAM;
735 elseif string.find(input, "Добротный сундук") or string.find(input, "Сундук") or string.find(input, "сундук") then
736 return TREASURE_CHEST;
737 elseif string.find(input, "Ящик") or string.find(input, "ящик") then
738 return TREASURE_CRATE;
739 elseif string.find(input, "Кровь героев") then
740 return TREASURE_BLOODHERO;
741 elseif string.find(input, "Почва Ун'Горо") or string.find(input, "Куча земли Ун'Горо") then
742 return TREASURE_UNGOROSOIL;
743 elseif string.find(input, "Побег кровоцвета") then
744 return TREASURE_BLOODPETAL;
745 elseif string.find(input, "кристалл силы") or string.find(input, "Кристалл силы") then
746 return TREASURE_POWERCRYST;
747 elseif string.find(input, "Ночной дракон") then
748 return TREASURE_NIGHTDRAGON;
749 elseif string.find(input, "Гнилой кнутокорень") then
750 return TREASURE_WHIPPERROOT;
751 elseif string.find(input, "Оскверненный ветроцвет") then
752 return TREASURE_WINDBLOSSOM;
753 elseif string.find(input, "Оскверненный песнецвет") then
754 return TREASURE_SONGFLOWER;
755 end
756  
757 return;
758 end
759  
760 TYPE_RARE = "Редкое";
761  
762 else
763 -- English localized variables (default)
764 GATHERER_VERSION_WARNING="New Gatherer Version detected, check zone match.";
765 GATHERER_NOTEXT="([-]) no text "
766  
767 -- TRADE NAME
768 TRADE_HERBALISM="Herbalism"
769 OLD_TRADE_HERBALISM="Herbalism"
770 TRADE_MINING="Mining"
771 TRADE_OPENING="Opening"
772 GATHER_HERBALISM="Herb Gathering"
773  
774 -- strings for gather line in chat
775 HERB_GATHER_STRING="You perform Herb Gathering on"
776 ORE_GATHER_STRING="You perform Mining on"
777 TREASURE_GATHER_STRING="You perform Opening on"
778  
779 -- Length of the string to keep the gather name
780 HERB_GATHER_LENGTH=31
781 HERB_GATHER_END=-2
782 ORE_GATHER_LENGTH=23
783 ORE_GATHER_END=-2
784 TREASURE_GATHER_LENGTH=24
785 TREASURE_GATHER_END=-2
786  
787 GATHERER_REQUIRE="Requires"
788 GATHERER_NOSKILL="Requires"
789  
790 -- ore classes
791 ORE_CLASS_VEIN ="vein"
792 ORE_CLASS_DEPOSIT="deposit"
793  
794 -- ore types
795 ORE_COPPER ="copper"
796 ORE_TIN ="tin"
797 ORE_IRON ="iron"
798 ORE_SILVER ="silver"
799 ORE_TRUESILVER="truesilver"
800 ORE_GOLD ="gold"
801 ORE_MITHRIL ="mithril"
802 ORE_THORIUM ="thorium"
803 ORE_RTHORIUM ="thorium (rich)"
804 ORE_DARKIRON ="dark iron"
805  
806 -- herb types
807 HERB_ARTHASTEAR ="arthas' tears"
808 HERB_BLACKLOTUS ="black lotus"
809 HERB_BLINDWEED ="blindweed"
810 HERB_BRIARTHORN ="briarthorn"
811 HERB_BRUISEWEED ="bruiseweed"
812 HERB_DREAMFOIL ="dreamfoil"
813 HERB_EARTHROOT ="earthroot"
814 HERB_FADELEAF ="fadeleaf"
815 HERB_FIREBLOOM ="firebloom"
816 HERB_GHOSTMUSHROOM ="ghost mushroom"
817 HERB_GOLDENSANSAM ="golden sansam"
818 HERB_GOLDTHORN ="goldthorn"
819 HERB_GRAVEMOSS ="grave moss"
820 HERB_GROMSBLOOD ="gromsblood"
821 HERB_ICECAP ="icecap"
822 HERB_KHADGARSWHISKER ="khadgar's whisker"
823 HERB_KINGSBLOOD ="kingsblood"
824 HERB_LIFEROOT ="liferoot"
825 HERB_MAGEROYAL ="mageroyal"
826 HERB_MOUNTAINSILVERSAGE="mountain silversage"
827 HERB_PEACEBLOOM ="peacebloom"
828 HERB_PLAGUEBLOOM ="plaguebloom"
829 HERB_PURPLELOTUS ="purple lotus"
830 HERB_SILVERLEAF ="silverleaf"
831 HERB_STRANGLEKELP ="stranglekelp"
832 HERB_SUNGRASS ="sungrass"
833 HERB_SWIFTTHISTLE ="swiftthistle"
834 HERB_WILDSTEELBLOOM ="wild steelbloom"
835 HERB_WINTERSBITE ="wintersbite"
836 HERB_WILDVINE ="wildvine"
837  
838 -- treasure types
839 TREASURE_BOX ="box"
840 TREASURE_CHEST ="chest"
841 TREASURE_CLAM ="giant clam"
842 TREASURE_CRATE ="crate"
843 TREASURE_BARREL ="barrel"
844 TREASURE_CASK ="cask"
845 TREASURE_SHELLFISHTRAP ="shellfish trap"
846 TREASURE_FOOTLOCKER = "footlocker"
847  
848 TREASURE_BLOODHERO = "blood of heroes"
849  
850 TREASURE_UNGOROSOIL = "un'goro soil"
851 TREASURE_UNGOROSOIL_G = "dirt pile"
852 TREASURE_BLOODPETAL = "bloodpetal"
853 TREASURE_BLOODPETAL_G = "bloodpetal sprout"
854 TREASURE_POWERCRYST = "power crystal"
855  
856 TREASURE_NIGHTDRAGON = "night dragon"
857 TREASURE_WHIPPERROOT = "whipper root"
858 TREASURE_WINDBLOSSOM = "windblossom"
859 TREASURE_SONGFLOWER = "songflower"
860  
861 TREASURE_FISHNODE_TRIGGER1 = "Trunk";
862 -- TREASURE_FISHNODE_TRIGGER2 = "Bloated"; -- no longer found in wreckage in 1.11
863 TREASURE_FISHNODE_TRIGGER3 = "swarm";
864 TREASURE_FISHNODE_TRIGGER4 = "school";
865 TREASURE_FISHNODE_TRIGGER5 = "floating wreckage";
866 TREASURE_FISHNODE_TRIGGER6 = "oil spill";
867 TREASURE_FISHNODE_TRIGGER7 = "patch of elemental water";
868  
869 TREASURE_FISHNODE = "school";
870 TREASURE_FISHWRECK = TREASURE_FISHNODE_TRIGGER5;
871 TREASURE_FISHELEM = TREASURE_FISHNODE_TRIGGER7;
872  
873 GATHERER_ReceivesLoot = "You receive loot: (.+)%.";
874  
875 TREASURE_REGEX = {
876 [1] = " ([^ ]+)$",
877 [2] = "^([^ ]+)",
878 [3] = "([^ ]+) ([^ ]+) ",
879 };
880  
881 function Gatherer_FindOreType(input)
882 local i,j, oreType, oreClass, oreTypeClass;
883  
884 if ( string.find(input, "rich") and string.find(input, "thorium") ) then
885 return ORE_RTHORIUM;
886 end;
887  
888 if ( string.find(input, "dark") and string.find(input, "iron") ) then
889 return ORE_DARKIRON;
890 end
891  
892 i,j, oreType, oreClass = string.find(input, "([^ ]+) ([^ ]+)$");
893 if (oreType and oreClass and ((oreClass == ORE_CLASS_VEIN) or (oreClass == ORE_CLASS_DEPOSIT))) then
894 return oreType;
895 end
896 return;
897 end
898  
899 function Gatherer_FindTreasureType(in_input)
900 local iconName, input;
901  
902 input = string.gsub(in_input, GATHERER_NOTEXT, "")
903  
904 if ( string.find(input, TREASURE_UNGOROSOIL_G) or string.find(input, TREASURE_UNGOROSOIL)) then
905 return TREASURE_UNGOROSOIL, TREASURE_UNGOROSOIL;
906 end
907  
908 if (string.find(input, TREASURE_POWERCRYST) ) then
909 return TREASURE_POWERCRYST, TREASURE_POWERCRYST;
910 end
911  
912 if (string.find(input, TREASURE_BLOODPETAL_G) or string.find(input, TREASURE_BLOODPETAL)) then
913 return TREASURE_BLOODPETAL, TREASURE_BLOODPETAL_G;
914 end
915  
916 if (string.find(input, TREASURE_BLOODHERO) ) then
917 return TREASURE_BLOODHERO, TREASURE_BLOODHERO;
918 end
919  
920 for iconName in Gather_DB_IconIndex[0] do
921 local index, treasure_regex, i, j, treasType;
922 if ( input == iconName ) then
923 return iconName;
924 end
925  
926 if ( string.find(input, iconName) ) then
927 for index, treasure_regex in TREASURE_REGEX do
928 i,j, treasType = string.find(input, treasure_regex);
929 if ( treasType and treasType == iconName ) then
930 return iconName;
931 end
932  
933 i,j, _, treasType = string.find(input, treasure_regex);
934 if ( treasType and treasType == iconName ) then
935 return iconName;
936 end
937 end
938 end
939 end
940 return;
941 end
942 -- Common Values, Functions
943 TYPE_RARE = "Rare";
944 end
945  
946 -- ************************************************************************************************
947  
948 function Gatherer_ExtractItemFromTooltip()
949 local extractedString = GameTooltipTextLeft1:GetText()
950 if ( extractedString ) then
951 return string.lower(GameTooltipTextLeft1:GetText());
952 else
953 return "";
954 end
955 end
956  
957 function Gatherer_FindFishType(fishItem, fishTooltip)
958 if ( fishItem and (strfind(fishItem, TREASURE_FISHNODE_TRIGGER1) ))
959 then
960 return TREASURE_FISHWRECK;
961 -- Fish School
962 elseif ( fishTooltip and (strfind(fishTooltip, TREASURE_FISHNODE_TRIGGER4) or
963 (TREASURE_FISHNODE_TRIGGER3 and strfind(fishTooltip, TREASURE_FISHNODE_TRIGGER3))))
964 then
965 return TREASURE_FISHNODE;
966 -- Floating Wreckage and Oil Spill
967 elseif ( fishTooltip and
968 (strfind(fishTooltip, TREASURE_FISHNODE_TRIGGER5) or
969 strfind(fishTooltip, TREASURE_FISHNODE_TRIGGER6)))
970 then
971 return TREASURE_FISHWRECK;
972 -- Elemental Water
973 elseif ( fishTooltip and strfind(fishTooltip, TREASURE_FISHNODE_TRIGGER7) )
974 then
975 return TREASURE_FISHELEM;
976 end
977 return nil;
978 end
979  
980 function Gatherer_FindHerbType(gather)
981 local herbType, herbFound = "", false;
982 for herbType in Gather_DB_IconIndex[1] do
983 if (herbType and gather and herbType == gather) then herbFound = true; break; end
984 end
985  
986 if ( herbFound ) then
987 return gather;
988 else
989 return nil;
990 end
991 end