vanilla-wow-addons – Rev 1
?pathlinks?
------------------------------------------------------
-- GFWZones.lua
-- Utilities for working with geographic data
------------------------------------------------------
GFWZONES_THIS_VERSION = 6;
------------------------------------------------------
if (GFWZones == nil) then
GFWZones = {};
end
function GFWZones_temp_LocalizedZone(aZone)
local localized = GFWZones.Localized[aZone];
if (localized) then
return localized;
else
return aZone;
end
end
function GFWZones_temp_UnlocalizedZone(aZone)
local key = GFWTable.KeyOf(GFWZones.Localized, aZone);
if (key) then
return key;
else
return aZone;
end
end
function GFWZones_temp_ConnectionsForZone(aZone)
local G = GFWZones;
aZone = G.UnlocalizedZone(aZone);
local zoneConnections = { };
local _, myFaction = UnitFactionGroup("player");
if not (G.AdjacentZones[aZone] or G.FlightZones[myFaction][aZone]) then return nil; end
-- find zones one step away (adjacent to this zone or one flight/boat/zeppelin away)
zoneConnections[1] = GFWTable.Merge(G.AdjacentZones[aZone], G.FlightZones[myFaction][aZone]);
zoneConnections[1] = GFWTable.Subtract(zoneConnections[1], {aZone});
-- then iterate to find zones more than one step away
numSteps = 2;
repeat
zoneConnections[numSteps] = { };
for i=1, table.getn(zoneConnections[numSteps-1]) do
zoneConnections[numSteps] = GFWTable.Merge(zoneConnections[numSteps], G.FlightZones[myFaction][zoneConnections[numSteps-1][i]]);
zoneConnections[numSteps] = GFWTable.Merge(zoneConnections[numSteps], G.AdjacentZones[zoneConnections[numSteps-1][i]]);
end
for i=numSteps-1, 1, -1 do
zoneConnections[numSteps] = GFWTable.Subtract(zoneConnections[numSteps], zoneConnections[i]);
end
zoneConnections[numSteps] = GFWTable.Subtract(zoneConnections[numSteps], {aZone});
numSteps = numSteps + 1;
until (table.getn(zoneConnections[numSteps-1]) == 0 or numSteps == 10); -- don't want to go forever, seems like a reasonable cutoff
return zoneConnections;
end
------------------------------------------------------
-- Zone Connection Data
------------------------------------------------------
local tempAdjacentZones = {
["Alterac Mountains"] = {"Silverpine Forest", "Hillsbrad Foothills", "Alterac Valley"},
["Arathi Highlands"] = {"Wetlands", "Hillsbrad Foothills"},
["Ashenvale"] = {"The Barrens", "Azshara", "Darkshore", "Felwood", "Stonetalon Mountains", "Blackfathom Deeps", "Warsong Gulch"},
["Azshara"] = {"Ashenvale"},
["Badlands"] = {"Loch Modan", "Searing Gorge", "Uldaman"},
["Blackrock Mountain"] = {"Searing Gorge", "Burning Steppes", "Blackrock Depths", "Blackrock Spire", "Molten Core"},
["Blasted Lands"] = {"Swamp of Sorrows"},
["Burning Steppes"] = {"Blackrock Mountain", "Redridge Mountains"},
["Ironforge"] = {"Dun Morogh"},
["Darkshore"] = {"Ashenvale", "Teldrassil", "Wetlands"}, -- boat
["Darnassus"] = {"Teldrassil"},
["Deadwind Pass"] = {"Duskwood", "Swamp of Sorrows"},
["Desolace"] = {"Stonetalon Mountains", "Feralas", "Desolace", "Maraudon"},
["Dun Morogh"] = {"Ironforge", "Loch Modan", "Gnomeregan"},
["Durotar"] = {"Orgrimmar", "The Barrens", "Stranglethorn Vale", "Tirisfal Glades"}, -- zeppelin
["Duskwood"] = {"Elwynn Forest", "Westfall", "Deadwind Pass", "Stranglethorn Vale"},
["Dustwallow Marsh"] = {"The Barrens", "Wetlands"}, -- boat
["Eastern Plaguelands"] = {"Western Plaguelands", "Stratholme", "Naxxramas" },
["Elwynn Forest"] = {"Stormwind City", "Westfall", "Duskwood", "Redridge Mountains"},
["Felwood"] = {"Ashenvale", "Moonglade", "Winterspring"},
["Feralas"] = {"Desolace", "Thousand Needles", "Dire Maul"},
["Hillsbrad Foothills"] = {"Silverpine Forest", "Alterac Mountains", "Arathi Highlands", "The Hinterlands"},
["Loch Modan"] = {"Dun Morogh", "Wetlands", "Badlands"},
["Moonglade"] = {"Felwood", "Winterspring"},
["Mulgore"] = {"Thunder Bluff", "The Barrens"},
["Naxxramas"] = { "Eastern Plaguelands" },
["Orgrimmar"] = {"The Barrens", "Durotar", "Ragefire Chasm"},
["Redridge Mountains"] = {"Elwynn Forest", "Duskwood", "Burning Steppes"},
["Searing Gorge"] = {"Badlands", "Blackrock Mountain"},
["Silithus"] = {"Un'goro Crater", "Gates of Ahn'Qiraj"},
["Silverpine Forest"] = {"Tirisfal Glades", "Hillsbrad Foothills", "Alterac Mountains", "Shadowfang Keep"},
["Stonetalon Mountains"] = {"Ashenvale", "The Barrens", "Desolace"},
["Stormwind City"] = {"Elwynn Forest", "The Stockade"},
["Stranglethorn Vale"] = {"Duskwood", "The Barrens", "Tirisfal Glades", "Durotar", "Zul'Gurub"}, -- boat, zeppelin
["Swamp of Sorrows"] = {"Deadwind Pass", "Blasted Lands", "The Temple of Atal'Hakkar"},
["Tanaris"] = {"Thousand Needles", "Un'Goro Crater", "Caverns of Time", "Zul'Farrak"},
["Teldrassil"] = {"Darnassus", "Darkshore"}, -- boat
["The Barrens"] = {"Durotar", "Mulgore", "Ashenvale", "Stonetalon Mountains", "Dustwallow Marsh", "Thousand Needles", "Stranglethorn Vale", "Wailing Caverns", "Razorfen Kraul", "Razorfen Downs", "Warsong Gulch"}, -- boat
["The Hinterlands"] = {"Hillsbrad Foothills", "Western Plaguelands"},
["Undercity"] = {"Tirisfal Glades"},
["Thousand Needles"] = {"The Barrens", "Feralas", "Tanaris"},
["Thunder Bluff"] = {"Mulgore"},
["Tirisfal Glades"] = {"Silverpine Forest", "Undercity", "Western Plaguelands", "Stranglethorn Vale", "Durotar", "Scarlet Monastery"}, -- zeppelin
["Un'Goro Crater"] = {"Tanaris", "Silithus"},
["Western Plaguelands"] = {"Tirisfal Glades", "Alterac Mountains", "The Hinterlands", "Eastern Plaguelands", "Scholomance"},
["Westfall"] = {"Elwynn Forest", "Duskwood", "The Deadmines"},
["Wetlands"] = {"Arathi Highlands", "Loch Modan", "Dustwallow Marsh"}, -- boat
["Winterspring"] = {"Moonglade", "Felwood"},
-- Instances / Battlegrounds / etc.
["Ruins of Ahn'Qiraj"] = {"Gates of Ahn'Qiraj"},
["Ahn'Qiraj"] = {"Gates of Ahn'Qiraj"},
["Gates of Ahn'Qiraj"] = {"Silithus", "Ruins of Ahn'Qiraj", "Ahn'Qiraj"},
["Arathi Basin"] = {"Arathi Highlands"},
["Alterac Valley"] = {"Alterac Mountains"},
["Blackfathom Deeps"] = {"Ashenvale"},
["Blackrock Depths"] = {"Blackrock Mountain", "Molten Core"},
["Blackrock Spire"] = {"Blackrock Mountain"},
["Caverns of Time"] = {"Tanaris"},
["Champions' Hall"] = {"Stormwind City"},
["Dire Maul"] = {"Feralas"},
["Gnomeregan"] = {"Dun Morogh"},
["Hall of Legends"] = {"Orgrimmar"},
["Maraudon"] = {"Desolace"},
["Onyxia's Lair"] = {"Dustwallow Marsh"},
["Ragefire Chasm"] = {"Orgrimmar"},
["Razorfen Downs"] = {"The Barrens", "Thousand Needles"},
["Razorfen Kraul"] = {"The Barrens"},
["Scarlet Monastery"] = {"Tirisfal Glades"},
["Scholomance"] = {"Western Plaguelands"},
["Shadowfang Keep"] = {"Silverpine Forest"},
["Stratholme"] = {"Eastern Plaguelands"},
["The Deadmines"] = {"Westfall"},
["Molten Core"] = {"Blackrock Depths", "Blackrock Mountain"},
["The Stockade"] = {"Stormwind City"},
["The Temple of Atal'Hakkar"] = {"Swamp of Sorrows"},
["Wailing Caverns"] = {"The Barrens"},
["Uldaman"] = {"Badlands"},
["Warsong Gulch"] = {"The Barrens", "Ashenvale"},
["Zul'Farrak"] = {"Tanaris"},
["Zul'Gurub"] = {"Stranglethorn Vale"},
};
local tempFlightZones = {
[FACTION_ALLIANCE] = {
-- Deeprun Tram is in here even though it's not a "flight" per se because Horde can't easily travel through it.
["Arathi Highlands"] = {"Hillsbrad Foothills", "Ironforge", "The Hinterlands", "Loch Modan", "Wetlands", "Arathi Basin"},
["Ashenvale"] = {"Darkshore"},
["Azshara"] = {"Felwood", "Darkshore"},
["Blasted Lands"] = {"Duskwood", "Burning Steppes", "Stormwind City"},
["Burning Steppes"] = {"Blasted Lands", "Searing Gorge"},
["Ironforge"] = {"Arathi Highlands", "Wetlands", "Hillsbrad Foothills", "Stormwind City", "Loch Modan", "The Hinterlands", "Searing Gorge", "Deeprun Tram"},
["Darkshore"] = {"Teldrassil", "Ashenvale", "Moonglade", "Azshara", "Felwood", "Dustwallow Marsh", "Desolace", "Feralas"},
["Deeprun Tram"] = {"Ironforge", "Stormwind City"},
["Desolace"] = {"Darkshore", "Dustwallow Marsh", "Feralas"},
["Duskwood"] = {"Blasted Lands", "Redridge Mountains", "Westfall", "Stormwind City", "Stranglethorn Vale"},
["Dustwallow Marsh"] = {"Desolace", "Tanaris", "Darkshore", "Feralas"},
["Eastern Plaguelands"] = {"The Hinterlands"},
["Felwood"] = {"Winterspring", "Azshara", "Darkshore"},
["Feralas"] = {"Darkshore", "Desolace", "Tanaris", "Dustwallow Marsh"},
["Hillsbrad Foothills"] = {"Ironforge", "Wetlands", "Western Plaguelands", "The Hinterlands", "Arathi Highlands"},
["Loch Modan"] = {"Wetlands", "Ironforge", "Arathi Highlands"},
["Moonglade"] = {"Darkshore", "Winterspring"},
["Redridge Mountains"] = {"Duskwood", "Westfall", "Stormwind City"},
["Searing Gorge"] = {"Ironforge", "Burning Steppes"},
["Silithus"] = {"Tanaris"},
["Stonetalon Mountains"] = {"Darkshore"},
["Stormwind City"] = {"Stranglethorn Vale", "Westfall", "Ironforge", "Duskwood", "Redridge Mountains", "Blasted Lands", "Deeprun Tram"},
["Stranglethorn Vale"] = {"Duskwood", "Westfall", "Stormwind City"},
["Tanaris"] = {"Dustwallow Marsh", "Silithus", "Feralas"},
["Teldrassil"] = {"Darkshore"},
["The Hinterlands"] = {"Hillsbrad Foothills", "Ironforge", "Eastern Plaguelands", "Arathi Highlands"},
["Western Plaguelands"] = {"Hillsbrad Foothills"},
["Westfall"] = {"Stranglethorn Vale", "Duskwood", "Redridge Mountains", "Stormwind City"},
["Wetlands"] = {"Loch Modan", "Hillsbrad Foothills", "Arathi Highlands", "Ironforge"},
["Winterspring"] = {"Moonglade", "Felwood"},
},
[FACTION_HORDE] = {
["Arathi Highlands"] = {"Hillsbrad Foothills", "Undercity", "Badlands"},
["Ashenvale"] = {"Orgrimmar", "The Barrens"},
["Azshara"] = {"Orgrimmar", "The Barrens", "Felwood"},
["Badlands"] = {"Stranglethorn Vale", "Arathi Highlands", "Swamp of Sorrows", "Undercity", "Searing Gorge"},
["Burning Steppes"] = {"Searing Gorge"},
["Desolace"] = {"Stonetalon Mountains", "Thunder Bluff", "Feralas"},
["Dustwallow Marsh"] = {"Orgrimmar", "The Barrens", "Tanaris", "Mulgore"},
["Eastern Plaguelands"] = {"Undercity"},
["Felwood"] = {"Moonglade", "Orgrimmar", "Winterspring"},
["Feralas"] = {"The Barrens", "Thunder Bluff", "Tanaris", "Desolace"},
["Hillsbrad Foothills"] = {"The Hinterlands", "Undercity", "Arathi Highlands"},
["Moonglade"] = {"Felwood", "Winterspring"},
["Orgrimmar"] = {"Ashenvale", "Azshara", "Dustwallow Marsh", "Felwood", "Thunder Bluff", "The Barrens", "Winterspring", "Tanaris"},
["Searing Gorge"] = {"Badlands", "Burning Steppes"},
["Silithus"] = {"Tanaris"},
["Silverpine Forest"] = {"Undercity"},
["Stonetalon Mountains"] = {"Thunder Bluff", "The Barrens", "Desolace"},
["Stranglethorn Vale"] = {"Badlands", "Swamp of Sorrows"},
["Swamp of Sorrows"] = {"Stranglethorn Vale", "Badlands"},
["Tanaris"] = {"The Barrens", "Orgrimmar", "Thunder Bluff", "Feralas", "Dustwallow Marsh", "Silithus"},
["The Barrens"] = {"Orgrimmar", "Thunder Bluff", "Azshara", "Thousand Needles", "Tanaris", "Stonetalon Mountains", "Ashenvale", "Dustwallow Marsh", "Feralas"},
["The Hinterlands"] = {"Undercity", "Hillsbrad Foothills"},
["Undercity"] = {"The Hinterlands", "Badlands", "Silverpine Forest", "Hillsbrad Foothills", "Eastern Plaguelands", "Arathi Highlands"},
["Thousand Needles"] = {"The Barrens", "Thunder Bluff"},
["Thunder Bluff"] = {"Thousand Needles", "The Barrens", "Tanaris", "Stonetalon Mountains", "Orgrimmar", "Feralas", "Desolace", "Dustwallow Marsh"},
["Winterspring"] = {"Moonglade", "Orgrimmar", "Felwood"},
},
};
------------------------------------------------------
-- load only if not already loaded
------------------------------------------------------
if (GFWZones == nil) then
GFWZones = {};
end
local G = GFWZones;
if (G.Version == nil or (tonumber(G.Version) ~= nil and G.Version < GFWZONES_THIS_VERSION)) then
-- load zone data
if (GFWZones.Localized == nil) then
GFWZones.Localized = {};
end
if (G.AdjacentZones == nil) then
G.AdjacentZones = {};
end
for aZone, adjacentZones in tempAdjacentZones do
if (G.AdjacentZones[aZone] == nil) then
G.AdjacentZones[aZone] = {};
end
G.AdjacentZones[aZone] = GFWTable.Merge(G.AdjacentZones[aZone], adjacentZones);
end
if (G.FlightZones == nil) then
G.FlightZones = {};
end
for _, faction in {FACTION_ALLIANCE, FACTION_HORDE} do
if (G.FlightZones[faction] == nil) then
G.FlightZones[faction] = {};
end
for aZone, flightZones in tempFlightZones[faction] do
if (G.FlightZones[faction][aZone] == nil) then
G.FlightZones[faction][aZone] = {};
end
G.FlightZones[faction][aZone] = GFWTable.Merge(G.FlightZones[faction][aZone], flightZones);
end
end
-- Functions
G.LocalizedZone = GFWZones_temp_LocalizedZone;
G.UnlocalizedZone = GFWZones_temp_UnlocalizedZone;
G.ConnectionsForZone = GFWZones_temp_ConnectionsForZone;
-- Set version number
G.Version = GFWZONES_THIS_VERSION;
end
------------------------------------------------------
-- localized zone names (only those that differ from the enUS version should be present)
------------------------------------------------------
if ( GetLocale() == "deDE" ) then
GFWZones.Localized["Alterac Mountains"] = "Das Alteracgebirge";
GFWZones.Localized["Alterac Valley"] = "Alteractal";
GFWZones.Localized["Arathi Basin"] = "Arathibecken";
GFWZones.Localized["Arathi Highlands"] = "Das Arathihochland";
GFWZones.Localized["Badlands"] = "Das Ödland";
GFWZones.Localized["Blackfathom Deeps"] = "Blackfathom-Tiefe";
GFWZones.Localized["Blackrock Depths"] = "Blackrocktiefen";
GFWZones.Localized["Blackrock Mountain"] = "Der Blackrock";
GFWZones.Localized["Blackrock Spire"] = "Blackrockspitze";
GFWZones.Localized["Blasted Lands"] = "Die verwüsteten Lande";
GFWZones.Localized["Burning Steppes"] = "Die brennende Steppe";
GFWZones.Localized["Deeprun Tram"] = "Die Tiefenbahn";
GFWZones.Localized["Dire Maul"] = "Düsterbruch";
GFWZones.Localized["Dustwallow Marsh"] = "Die Marschen von Dustwallow";
GFWZones.Localized["Eastern Plaguelands"] = "Die östlichen Pestländer";
GFWZones.Localized["Elwynn Forest"] = "Der Wald von Elwynn";
GFWZones.Localized["Hillsbrad Foothills"] = "Die Vorgebirge von Hillsbrad";
GFWZones.Localized["Molten Core"] = "Geschmolzener Kern";
GFWZones.Localized["Onyxia's Lair"] = "Onyxias Hort";
GFWZones.Localized["Ragefire Chasm"] = "Ragefireabgrund";
GFWZones.Localized["Razorfen Downs"] = "Die Hügel von Razorfen";
GFWZones.Localized["Redridge Mountains"] = "Das Redridgegebirge";
GFWZones.Localized["Scarlet Monastery"] = "Das scharlachrote Kloster";
GFWZones.Localized["Searing Gorge"] = "Die Sengende Schlucht";
GFWZones.Localized["Shadowfang Keep"] = "Burg Shadowfang";
GFWZones.Localized["Silverpine Forest"] = "Der Silberwald";
GFWZones.Localized["Stonetalon Mountains"] = "Das Steinkrallengebirge";
GFWZones.Localized["Stormwind City"] = "Stormwind";
GFWZones.Localized["Stranglethorn Vale"] = "Stranglethorn";
GFWZones.Localized["Swamp of Sorrows"] = "Die Sümpfe des Elends";
GFWZones.Localized["The Barrens"] = "Das Brachland";
GFWZones.Localized["The Deadmines"] = "Die Todesminen";
GFWZones.Localized["The Hinterlands"] = "Das Hinterland";
GFWZones.Localized["The Stockade"] = "Die Palisade";
GFWZones.Localized["Tirisfal Glades"] = "Tirisfal";
GFWZones.Localized["Un'Goro Crater"] = "Der Un'Goro Krater";
GFWZones.Localized["Wailing Caverns"] = "Die Höhlen des Wehklagens";
GFWZones.Localized["Warsong Gulch"] = "Warsongschlucht";
GFWZones.Localized["Western Plaguelands"] = "Die westlichen Pestländer";
GFWZones.Localized["Wetlands"] = "Das Sumpfland";
end
if ( GetLocale() == "frFR" ) then
GFWZones.Localized["Alterac Mountains"] = "Montagnes d'Alterac";
GFWZones.Localized["Alterac Valley"] = "Vallée d'Alterac";
GFWZones.Localized["Blackfathom Deeps"] = "Profondeurs de Blackfathom";
GFWZones.Localized["Blackrock Depths"] = "Profondeurs de Blackrock";
GFWZones.Localized["Blackrock Mountain"] = "Montagnes Blackrock";
GFWZones.Localized["Blackrock Spire"] = "Pic de Blackrock";
GFWZones.Localized["Burning Steppes"] = "Steppes Ardentes";
GFWZones.Localized["Deeprun Tram"] = "Tramway des abysses";
GFWZones.Localized["Dun Morogh"] = "Dun Modr";
GFWZones.Localized["Dustwallow Marsh"] = "Marais de Dustwallow";
GFWZones.Localized["Eastern Plaguelands"] = "Plaguelands de l'est";
GFWZones.Localized["Elwynn Forest"] = "Forêt d'Elwynn";
GFWZones.Localized["Hillsbrad Foothills"] = "Collines de Hillsbrad";
GFWZones.Localized["Molten Core"] = "Noyau fondu";
GFWZones.Localized["Onyxia's Lair"] = "Repère d'Onyxia";
GFWZones.Localized["Ragefire Chasm"] = "Gouffre de Ragefire";
GFWZones.Localized["Razorfen Downs"] = "Dunes de Razorfen";
GFWZones.Localized["Redridge Mountains"] = "Montagnes de Redridge";
GFWZones.Localized["Scarlet Monastery"] = "Monastère de la Phalange";
GFWZones.Localized["Searing Gorge"] = "Gorge de Searing";
GFWZones.Localized["Shadowfang Keep"] = "Donjon de Shadowfang";
GFWZones.Localized["Silverpine Forest"] = "Forêt de Silverpine";
GFWZones.Localized["Stonetalon Mountains"] = "Monts Stonetalon";
GFWZones.Localized["Stormwind City"] = "Cité de Stormwind";
GFWZones.Localized["Stranglethorn Vale"] = "Vallée de Stranglethorn";
GFWZones.Localized["Swamp of Sorrows"] = "Marais des lamentations";
GFWZones.Localized["The Barrens"] = "Les Barrens";
GFWZones.Localized["The Deadmines"] = "Les Deadmines";
GFWZones.Localized["The Hinterlands"] = "Les Hinterlands";
GFWZones.Localized["The Stockade"] = "La Prison";
GFWZones.Localized["Thousand Needles"] = "Mille pointes";
GFWZones.Localized["Tirisfal Glades"] = "Prairies de Tirisfal";
GFWZones.Localized["Un'Goro Crater"] = "Cratère d'Un'Goro";
GFWZones.Localized["Wailing Caverns"] = "Cavernes des lamentations";
GFWZones.Localized["Western Plaguelands"] = "Plaguelands de l'ouest";
end
if ( GetLocale() == "koKR" ) then
GFWZones.Localized["Alterac Mountains"] = "알터랙 산맥";
GFWZones.Localized["Arathi Highlands"] = "아라시 고원";
GFWZones.Localized["Ashenvale"] = "잿빛 골짜기";
GFWZones.Localized["Azshara"] = "아즈샤라";
GFWZones.Localized["Badlands"] = "황야의 땅";
GFWZones.Localized["Blackrock Depths"] = "검은바위 나락";
GFWZones.Localized["Blasted Lands"] = "저주받은 땅";
GFWZones.Localized["Burning Steppes"] = "이글거리는 협곡";
GFWZones.Localized["Darkshore"] = "어둠의 해안";
GFWZones.Localized["Darnassus"] = "다르나서스";
GFWZones.Localized["Desolace"] = "잊혀진 땅";
GFWZones.Localized["Dire Maul"] = "혈투의 전장";
GFWZones.Localized["Dun Morogh"] = "던 모로";
GFWZones.Localized["Durotar"] = "듀로타";
GFWZones.Localized["Duskwood"] = "그늘숲";
GFWZones.Localized["Eastern Plaguelands"] = "동부 역병지대";
GFWZones.Localized["Elwynn Forest"] = "엘윈숲";
GFWZones.Localized["Felwood"] = "악령의 숲";
GFWZones.Localized["Feralas"] = "페랄라스";
GFWZones.Localized["Gnomeregan"] = "놈리건";
GFWZones.Localized["Hillsbrad Foothills"] = "힐스브래드 구릉지";
GFWZones.Localized["Ironforge"] = "아이언포지";
GFWZones.Localized["Loch Modan"] = "모단 호수";
GFWZones.Localized["Moonglade"] = "달의 숲";
GFWZones.Localized["Mulgore"] = "멀고어";
GFWZones.Localized["Orgrimmar"] = "오그리마";
GFWZones.Localized["Redridge Mountains"] = "붉은마루 산맥";
GFWZones.Localized["Silithus"] = "실리더스";
GFWZones.Localized["Silverpine Forest"] = "은빛 소나무숲";
GFWZones.Localized["Stonetalon Mountains"] = "돌발톱 산맥";
GFWZones.Localized["Stormwind City"] = "스톰윈드";
GFWZones.Localized["Stranglethorn Vale"] = "가시덤불 골짜기";
GFWZones.Localized["Swamp of Sorrows"] = "슬픔의 늪";
GFWZones.Localized["Tanaris"] = "타나리스";
GFWZones.Localized["Teldrassil"] = "텔드랏실";
GFWZones.Localized["The Barrens"] = "불모의 땅";
GFWZones.Localized["The Hinterlands"] = "동부 내륙지";
GFWZones.Localized["Thousand Needles"] = "버섯구름 봉우리";
GFWZones.Localized["Thunder Bluff"] = "썬더 블러프";
GFWZones.Localized["Tirisfal Glades"] = "티리스팔 숲";
GFWZones.Localized["Un'Goro Crater"] = "운고로 분화구";
GFWZones.Localized["Undercity"] = "언더시티";
GFWZones.Localized["Wailing Caverns"] = "통곡의 동굴";
GFWZones.Localized["Western Plaguelands"] = "서부 역병지대";
GFWZones.Localized["Westfall"] = "서부 몰락지대";
GFWZones.Localized["Wetlands"] = "저습지";
end
if ( GetLocale() == "zhCN" ) then
GFWZones.Localized["Alterac Mountains"] = "奥特兰克山脉";
GFWZones.Localized["Arathi Highlands"] = "阿拉希高地";
GFWZones.Localized["Ashenvale"] = "灰谷";
GFWZones.Localized["Azshara"] = "艾萨拉";
GFWZones.Localized["Badlands"] = "荒芜之地";
GFWZones.Localized["Blackrock Depths"] = "黑石深渊";
GFWZones.Localized["Blasted Lands"] = "诅咒之地";
GFWZones.Localized["Burning Steppes"] = "燃烧平原";
GFWZones.Localized["Darkshore"] = "黑海岸";
GFWZones.Localized["Darnassus"] = "达纳苏斯";
GFWZones.Localized["Desolace"] = "凄凉之地";
GFWZones.Localized["Dire Maul"] = "厄运之槌";
GFWZones.Localized["Dun Morogh"] = "丹莫罗";
GFWZones.Localized["Durotar"] = "杜隆塔尔";
GFWZones.Localized["Duskwood"] = " 暮色森林";
GFWZones.Localized["Eastern Plaguelands"] = "东瘟疫之地";
GFWZones.Localized["Elwynn Forest"] = "艾尔文森林";
GFWZones.Localized["Felwood"] = "费伍德森林";
GFWZones.Localized["Feralas"] = "菲拉斯";
GFWZones.Localized["Gnomeregan"] = "诺莫瑞根";
GFWZones.Localized["Hillsbrad Foothills"] = "希尔斯布莱德丘陵";
GFWZones.Localized["Ironforge"] = "铁炉堡";
GFWZones.Localized["Loch Modan"] = "洛克莫丹";
GFWZones.Localized["Moonglade"] = "月光林地";
GFWZones.Localized["Mulgore"] = "莫高雷";
GFWZones.Localized["Orgrimmar"] = "奥格瑞玛";
GFWZones.Localized["Redridge Mountains"] = "赤脊山";
GFWZones.Localized["Silithus"] = "希利苏斯";
GFWZones.Localized["Silverpine Forest"] = "银松森林";
GFWZones.Localized["Stonetalon Mountains"] = "石爪山脉";
GFWZones.Localized["Stormwind City"] = "暴风城";
GFWZones.Localized["Stranglethorn Vale"] = "荆棘谷";
GFWZones.Localized["Swamp of Sorrows"] = "悲伤沼泽";
GFWZones.Localized["Tanaris"] = "塔纳利斯";
GFWZones.Localized["Teldrassil"] = "泰达希尔";
GFWZones.Localized["The Barrens"] = "贫瘠之地";
GFWZones.Localized["The Hinterlands"] = "辛特兰";
GFWZones.Localized["Thousand Needles"] = "千针石林";
GFWZones.Localized["Thunder Bluff"] = "雷霆崖";
GFWZones.Localized["Tirisfal Glades"] = "提瑞斯法林地";
GFWZones.Localized["Un'Goro Crater"] = "安戈洛环形山";
GFWZones.Localized["Undercity"] = "幽暗城";
GFWZones.Localized["Wailing Caverns"] = "哀嚎洞穴";
GFWZones.Localized["Western Plaguelands"] = "西瘟疫之地";
GFWZones.Localized["Westfall"] = "西部荒野";
GFWZones.Localized["Wetlands"] = "湿地";
end