From 38090b2967b4d164d77f2292f6805c6fdcf75a08 Mon Sep 17 00:00:00 2001 From: Enno Date: Tue, 24 Mar 2026 03:44:57 +0100 Subject: [PATCH 01/18] Complete rework of localization approach. Uses pfDB and string params. --- Locales/Locale_deDE.lua | 166 +- Locales/Locale_esES.lua | 155 +- Locales/Locale_ptBR.lua | 155 +- Locales/Locale_zhCN.lua | 155 +- Localization.lua | 84 +- MarkerData.lua | 88 +- ModernMapMarkers.lua | 3 +- ModernMapMarkers.toc | 1 + ModernMapMarkers_UI.lua | 2 +- pfDB/deDE/pfDB_deDE.xml | 7 + pfDB/deDE/units-turtle.lua | 8523 ++++++++++++++++++++++++++++ pfDB/deDE/units.lua | 10387 +++++++++++++++++++++++++++++++++++ pfDB/deDE/zones-turtle.lua | 763 +++ pfDB/deDE/zones.lua | 1083 ++++ pfDB/enUS/pfDB_enUS.xml | 7 + pfDB/enUS/units-turtle.lua | 5916 ++++++++++++++++++++ pfDB/enUS/units.lua | 10387 +++++++++++++++++++++++++++++++++++ pfDB/enUS/zones-turtle.lua | 445 ++ pfDB/enUS/zones.lua | 1083 ++++ pfDB/esES/pfDB_esES.xml | 7 + pfDB/esES/units-turtle.lua | 9120 ++++++++++++++++++++++++++++++ pfDB/esES/units.lua | 10387 +++++++++++++++++++++++++++++++++++ pfDB/esES/zones-turtle.lua | 1165 ++++ pfDB/esES/zones.lua | 1083 ++++ pfDB/frFR/pfDB_frFR.xml | 5 + pfDB/frFR/units.lua | 10387 +++++++++++++++++++++++++++++++++++ pfDB/frFR/zones.lua | 1083 ++++ pfDB/koKR/pfDB_koKR.xml | 5 + pfDB/koKR/units.lua | 10387 +++++++++++++++++++++++++++++++++++ pfDB/koKR/zones.lua | 1083 ++++ pfDB/pfDB.xml | 13 + pfDB/pfDBHelper.lua | 131 + pfDB/pfDBInit.lua | 1 + pfDB/ptBR/pfDB_ptBR.xml | 7 + pfDB/ptBR/units-turtle.lua | 6293 +++++++++++++++++++++ pfDB/ptBR/units.lua | 10387 +++++++++++++++++++++++++++++++++++ pfDB/ptBR/zones-turtle.lua | 1252 +++++ pfDB/ptBR/zones.lua | 1083 ++++ pfDB/zhCN/pfDB_zhCN.xml | 5 + pfDB/zhCN/units.lua | 10387 +++++++++++++++++++++++++++++++++++ pfDB/zhCN/zones.lua | 1083 ++++ pfDB/zhTW/pfDB_zhTW.xml | 5 + pfDB/zhTW/units.lua | 10387 +++++++++++++++++++++++++++++++++++ pfDB/zhTW/zones.lua | 1083 ++++ 44 files changed, 125642 insertions(+), 597 deletions(-) create mode 100644 pfDB/deDE/pfDB_deDE.xml create mode 100644 pfDB/deDE/units-turtle.lua create mode 100644 pfDB/deDE/units.lua create mode 100644 pfDB/deDE/zones-turtle.lua create mode 100644 pfDB/deDE/zones.lua create mode 100644 pfDB/enUS/pfDB_enUS.xml create mode 100644 pfDB/enUS/units-turtle.lua create mode 100644 pfDB/enUS/units.lua create mode 100644 pfDB/enUS/zones-turtle.lua create mode 100644 pfDB/enUS/zones.lua create mode 100644 pfDB/esES/pfDB_esES.xml create mode 100644 pfDB/esES/units-turtle.lua create mode 100644 pfDB/esES/units.lua create mode 100644 pfDB/esES/zones-turtle.lua create mode 100644 pfDB/esES/zones.lua create mode 100644 pfDB/frFR/pfDB_frFR.xml create mode 100644 pfDB/frFR/units.lua create mode 100644 pfDB/frFR/zones.lua create mode 100644 pfDB/koKR/pfDB_koKR.xml create mode 100644 pfDB/koKR/units.lua create mode 100644 pfDB/koKR/zones.lua create mode 100644 pfDB/pfDB.xml create mode 100644 pfDB/pfDBHelper.lua create mode 100644 pfDB/pfDBInit.lua create mode 100644 pfDB/ptBR/pfDB_ptBR.xml create mode 100644 pfDB/ptBR/units-turtle.lua create mode 100644 pfDB/ptBR/units.lua create mode 100644 pfDB/ptBR/zones-turtle.lua create mode 100644 pfDB/ptBR/zones.lua create mode 100644 pfDB/zhCN/pfDB_zhCN.xml create mode 100644 pfDB/zhCN/units.lua create mode 100644 pfDB/zhCN/zones.lua create mode 100644 pfDB/zhTW/pfDB_zhTW.xml create mode 100644 pfDB/zhTW/units.lua create mode 100644 pfDB/zhTW/zones.lua diff --git a/Locales/Locale_deDE.lua b/Locales/Locale_deDE.lua index 1a99fcd..3ef89b2 100644 --- a/Locales/Locale_deDE.lua +++ b/Locales/Locale_deDE.lua @@ -1,142 +1,36 @@ --- Locale_deDE.lua - German Localization for ModernMapMarkers -ModernMapMarkers_Locale:RegisterZones("deDE", { - -- Continent names - ["Kalimdor"] = "Kalimdor", - ["Eastern Kingdoms"] = "Östliche Königreiche", - ["Ashenvale"] = "Eschental", - ["Azshara"] = "Azshara", - ["Badlands"] = "Ödland", - ["Balor"] = "Balor", - ["Blasted Lands"] = "Verwüstete Lande", - ["Burning Steppes"] = "Brennende Steppe", - ["Darkshore"] = "Dunkelküste", - ["Deadwind Pass"] = "Gebirgspass der Totenwinde", - ["Desolace"] = "Desolace", - ["Dun Morogh"] = "Dun Morogh", - ["Durotar"] = "Durotar", - ["Duskwood"] = "Dämmerwald", - ["Dustwallow Marsh"] = "Düstermarschen", - ["Eastern Plaguelands"] = "Östliche Pestländer", - ["Elwynn Forest"] = "Wald von Elwynn", - ["Feralas"] = "Feralas", - ["Gilneas"] = "Gilneas", - ["Hyjal"] = "Hyjal", - ["Ironforge"] = "Eisenschmiede", - ["Moonwhisper Coast"] = "Mondflüsterküste", - ["Orgrimmar"] = "Orgrimmar", - ["Searing Gorge"] = "Sengende Schlucht", - ["Silithus"] = "Silithus", - ["Silverpine Forest"] = "Silberwald", - ["Stormwind City"] = "Sturmwind", - ["Stranglethorn Vale"] = "Schlingendorntal", - ["Swamp of Sorrows"] = "Sümpfe des Elends", - ["Tanaris"] = "Tanaris", - ["Teldrassil"] = "Teldrassil", - ["The Barrens"] = "Brachland", - ["The Hinterlands"] = "Hinterland", - ["Thunder Bluff"] = "Donnerfels", - ["Tirisfal Glades"] = "Tirisfal", - ["Western Plaguelands"] = "Westliche Pestländer", - ["Westfall"] = "Westfall", - ["Wetlands"] = "Sumpfland", - ["Alah'Thalas"] = "Alah'Thalas", -}) - ModernMapMarkers_Locale:RegisterMarkers("deDE", { - -- Dungeons - ["Blackfathom Deeps"] = "Tiefschwarze Grotte", - ["Crescent Grove"] = "Mondsichelhain", - ["Maraudon"] = "Maraudon", - ["Ragefire Chasm"] = "Der Flammenschlund", - ["Dire Maul"] = "Düsterbruch", - ["Dire Maul - East"] = "Düsterbruch - Ost", - ["Dire Maul - North"] = "Düsterbruch - Nord", - ["Dire Maul - West"] = "Düsterbruch - West", - ["Razorfen Downs"] = "Hügel der Klingenhauer", - ["Razorfen Kraul"] = "Kral der Klingenhauer", - ["Wailing Caverns"] = "Höhlen des Wehklagens", - ["Zul'Farrak"] = "Zul'Farrak", - ["Black Morass"] = "Höhlen der Zeit: Schwarzer Morast", - ["Gnomeregan"] = "Gnomeregan", - ["Stormwrought Ruins"] = "Ruine von Sturmschmied", - ["Stormwrought Ruins - Back Entrance"] = "Ruine von Sturmschmied - Hintereingang", - ["Blackrock Depths"] = "Schwarzfelstiefen", - ["Hateforge Quarry"] = "Hassschmieden Steinbruch", - ["Lower Blackrock Spire"] = "Untere Schwarzfelsspitze", - ["Upper Blackrock Spire"] = "Obere Schwarzfelsspitze", - ["Karazhan Crypt"] = "Karazhan Krypta", - ["Scarlet Monastery"] = "Das Scharlachrote Kloster", - ["Scarlet Monastery - Armory"] = "Das Scharlachrote Kloster - Waffenkammer", - ["Scarlet Monastery - Cathedral"] = "Das Scharlachrote Kloster - Kathedrale", - ["Scarlet Monastery - Graveyard"] = "Das Scharlachrote Kloster - Friedhof", - ["Scarlet Monastery - Library"] = "Das Scharlachrote Kloster - Bibliothek", - ["Scholomance"] = "Scholomance", - ["Shadowfang Keep"] = "Burg Schattenfang", - ["Stratholme"] = "Stratholme", - ["Stratholme - Back Gate"] = "Stratholme - Hintertor", - ["The Deadmines"] = "Die Todesminen", - ["The Stockade"] = "Das Verlies", - ["Stormwind Vault"] = "Tresor von Sturmwind", - ["Stormwind Vault - Horde Entrance"] = "Tresor von Sturmwind - Horde-Eingang", - ["Gilneas City"] = "Stadt von Gilneas", - ["The Sunken Temple"] = "Der Versunkene Tempel", - ["Dragonmaw Retreat"] = "Zuflucht des Drachenmals", - ["Uldaman"] = "Uldaman", - ["Uldaman - Main Entrance"] = "Uldaman - Haupteingang", - ["Uldaman - Back Entrance"] = "Uldaman - Hintereingang", - ["Frostmane Hollow"] = "Frostmane Hollow", - ["Windhorn Canyon"] = "Schlucht der heulenden Winde", - - -- Raids - ["Onyxia's Lair"] = "Onyxias Hort", - ["Emerald Sanctum"] = "Smaragdsanktum", - ["Ruins of Ahn'Qiraj"] = "Ruinen von Ahn'Qiraj", - ["Temple of Ahn'Qiraj"] = "Tempel von Ahn'Qiraj", - ["Blackwing Lair"] = "Pechschwingenhort", - ["Molten Core"] = "Geschmolzener Kern", - ["Lower Karazhan Halls"] = "Untere Hallen von Karazhan", - ["Tower of Karazhan"] = "Turm von Karazhan", - ["Naxxramas"] = "Naxxramas", - ["Zul'Gurub"] = "Zul'Gurub", - ["Timbermaw Hold"] = "Holzschlundfeste", - - -- World Bosses - ["Taerar"] = "Taerar", - ["Lethon"] = "Lethon", - ["Emeriss"] = "Emeriss", - ["Ysondre"] = "Ysondre", - ["Azuregos"] = "Azuregos", - ["Cla'ckora"] = "Cla'ckora", - ["Concavius"] = "Concavius", - ["Father Lycan"] = "Vater Lycan", - ["Lord Kazzak"] = "Lord Kazzak", - ["Ostarius"] = "Ostarius", - ["Dark Reaver of Karazhan"] = "Dunkler Plünderer von Karazhan", - ["Nerubian Overseer"] = "Nerubischer Aufseher", - - -- Transports - ["Boat to Stormwind"] = "Schiff nach Sturmwind", - ["Boat to Alah'Thalas"] = "Schiff nach Alah'Thalas", - ["Boat to Rut'Theran Village"] = "Schiff nach Rut'Theran", - ["Boat to Auberdine"] = "Schiff nach Auberdine", - ["Boat to Menethil Harbor"] = "Schiff zum Hafen von Menethil", - ["Boat to Theramore Isle"] = "Schiff zur Insel Theramore", - ["Boat to Booty Bay"] = "Schiff zur Beutebucht", - ["Boat to Ratchet"] = "Schiff nach Ratschet", - ["Boat to Forgotten Coast"] = "Schiff zur Vergessenen Küste", - ["Boat to Sardor Isle"] = "Schiff zur Sardor-Insel", - ["Boat to Revantusk Village"] = "Schiff zum Dorf der Bruchhauer", - ["Boat to Sparkwater Port"] = "Schiff zum Funkelwasserhafen", - ["Boat to Shadowprey Village"] = "Schiff nach Schattenflucht", - ["Boat to Moonhoof Village"] = "Schiff nach Mondhuf", - ["Zeppelins to UC & Grom'Gol"] = "Zeppeline nach Unterstadt & Grom’gol", - ["Zeppelins to TB & Kargath"] = "Zeppeline nach Donnerfels & Kargath", - ["Zeppelin to Orgrimmar"] = "Zeppelin nach Orgrimmar", - ["Zeppelins to Orgrimmar & Grom'Gol"] = "Zeppeline nach Orgrimmar & Grom'Gol", - ["Zeppelins to UC & Orgrimmar"] = "Zeppeline nach Unterstadt & Orgrimmar", - ["Tram to Stormwind"] = "Tiefenbahn nach Sturmwind", - ["Tram to Ironforge"] = "Tiefenbahn nach Eisenschmiede", + -- Dungeon masks + -- %s will get substituted with the localized Dungeon name + ["%s - East"] = "%s - Ost", -- Dire Maul + ["%s - West"] = "%s - West", -- Dire Maul + ["%s - North"] = "%s - Nord", -- Dire Maul + ["%s - Back Entrance"] = "%s - Hintereingang", -- Stormwrought Ruins, Uldaman + ["Lower %s"] = "Untere %s", -- Lower Blackrock Spire + ["Upper %s"] = "Obere %s", -- Upper Blackrock Spire + ["%s - Armory"] = "%s - Waffenkammer", -- Scarlet Monastery + ["%s - Cathedral"] = "%s - Kathedrale", -- Scarlet Monastery + ["%s - Graveyard"] = "%s - Friedhof", -- Scarlet Monastery + ["%s - Library"] = "%s - Bibliothek", -- Scarlet Monastery + ["%s - Back Gate"] = "%s - Hintertor", -- Stratholme + ["%s - Horde Entrance"] = "%s - Horde-Eingang", -- Stormwind Vault + ["%s - Main Entrance"] = "%s - Haupteingang", -- Uldaman + -- Temporary translations because pfQuest's db hasn't caught up with the latest patch yet + ["Windhorn Canyon"] = "Schlucht der heulenden Winde", + + -- Transport masks + -- %s will get substituted with the destination's localized name + ["Boat to %s"] = "Schiff nach %s", + ["Zeppelin to %s"] = "Zeppelin nach %s", + ["Tram to %s"] = "Tiefenbahn nach %s", + -- translations that need manual adjustment + ["Boat to Menethil Harbor"] = "Schiff zum Hafen von Menethil", + ["Boat to Theramore Isle"] = "Schiff zur Insel Theramore", + ["Boat to Sparkwater Port"] = "Schiff zum Funkelwasserhafen", + ["Boat to The Forgotten Coast"] = "Schiff zur Vergessenen Küste", + ["Boat to Sardor-Island"] = "Schiff zur Insel Sardor", + ["Zeppelin to Grom'gol Base Camp"] = "Zeppelin zum Basislager von Grom'gol", -- Tooltip labels ["Level"] = "Stufe", diff --git a/Locales/Locale_esES.lua b/Locales/Locale_esES.lua index 6b2320e..c902c2c 100644 --- a/Locales/Locale_esES.lua +++ b/Locales/Locale_esES.lua @@ -1,140 +1,27 @@ --- Locale_esES.lua - Spanish Localization for ModernMapMarkers -ModernMapMarkers_Locale:RegisterZones("esES", { - -- Continent names - ["Kalimdor"] = "Kalimdor", - ["Eastern Kingdoms"] = "Reinos del Este", - ["Ashenvale"] = "Vallefresno", - ["Azshara"] = "Azshara", - ["Badlands"] = "Tierras Inhóspitas", - ["Balor"] = "Balor", - ["Blasted Lands"] = "Las Tierras Devastadas", - ["Burning Steppes"] = "Las Estepas Ardientes", - ["Darkshore"] = "Costa Oscura", - ["Deadwind Pass"] = "Paso de la Muerte", - ["Desolace"] = "Desolace", - ["Dun Morogh"] = "Dun Morogh", - ["Durotar"] = "Durotar", - ["Duskwood"] = "Bosque del Ocaso", - ["Dustwallow Marsh"] = "Marjal Revolcafango", - ["Eastern Plaguelands"] = "Tierras de la Peste del Este", - ["Elwynn Forest"] = "Bosque de Elwynn", - ["Feralas"] = "Feralas", - ["Gilneas"] = "Gilneas", - ["Hyjal"] = "Hyjal", - ["Ironforge"] = "Forjaz", - ["Moonwhisper Coast"] = "Costa del Susurro de Luna", - ["Orgrimmar"] = "Orgrimmar", - ["Searing Gorge"] = "La Garganta de Fuego", - ["Silithus"] = "Silithus", - ["Silverpine Forest"] = "Bosque de Argénteos", - ["Stormwind City"] = "Ciudad de Ventormenta", - ["Stranglethorn Vale"] = "Vega de Tuercespina", - ["Swamp of Sorrows"] = "Pantano de las Penas", - ["Tanaris"] = "Tanaris", - ["Teldrassil"] = "Teldrassil", - ["The Barrens"] = "Los Baldíos", - ["The Hinterlands"] = "Tierras del Interior", - ["Thunder Bluff"] = "Cima del Trueno", - ["Tirisfal Glades"] = "Claros de Tirisfal", - ["Western Plaguelands"] = "Tierras de la Peste del Oeste", - ["Westfall"] = "Páramos de Poniente", - ["Wetlands"] = "Los Humedales", - ["Alah'Thalas"] = "Alah'Thalas", -}) - ModernMapMarkers_Locale:RegisterMarkers("esES", { - -- Dungeons - ["Blackfathom Deeps"] = "Cavernas de Brazanegra", - ["Crescent Grove"] = "Arboleda de la Media Luna", - ["Maraudon"] = "Maraudon", - ["Ragefire Chasm"] = "Sima Ígnea", - ["Dire Maul"] = "La Masacre", - ["Dire Maul - East"] = "La Masacre - Este", - ["Dire Maul - North"] = "La Masacre - Norte", - ["Dire Maul - West"] = "La Masacre - Oeste", - ["Razorfen Downs"] = "Zahúrda Rajacieno", - ["Razorfen Kraul"] = "Madriguera de Rajacieno", - ["Wailing Caverns"] = "Cuevas de los Lamentos", - ["Zul'Farrak"] = "Zul'Farrak", - ["Black Morass"] = "La Ciénaga Negra", - ["Gnomeregan"] = "Gnomeregan", - ["Stormwrought Ruins"] = "Ruinas Forjatormenta", - ["Stormwrought Ruins - Back Entrance"] = "Ruinas Forjatormenta - Entrada Trasera", - ["Blackrock Depths"] = "Profundidades de Roca Negra", - ["Hateforge Quarry"] = "Cantera Hateforge", - ["Lower Blackrock Spire"] = "Cumbre de Roca Negra Inferior", - ["Upper Blackrock Spire"] = "Cumbre de Roca Negra Superior", - ["Karazhan Crypt"] = "Cripta de Karazhan", - ["Scarlet Monastery"] = "Monasterio Escarlata", - ["Scarlet Monastery - Armory"] = "Monasterio Escarlata - Armería", - ["Scarlet Monastery - Cathedral"] = "Monasterio Escarlata - Catedral", - ["Scarlet Monastery - Graveyard"] = "Monasterio Escarlata - Cementerio", - ["Scarlet Monastery - Library"] = "Monasterio Escarlata - Biblioteca", - ["Scholomance"] = "Scholomance", - ["Shadowfang Keep"] = "Fortaleza Colmillo Oscuro", - ["Stratholme"] = "Stratholme", - ["Stratholme - Back Gate"] = "Stratholme - Puerta Trasera", - ["The Deadmines"] = "Las Minas de la Muerte", - ["The Stockade"] = "La Mazmorras", - ["Stormwind Vault"] = "Bóveda de Ventormenta", - ["Stormwind Vault - Horde Entrance"] = "Bóveda de Ventormenta - Entrada Horda", - ["Gilneas City"] = "Ciudad Gilneas", - ["The Sunken Temple"] = "El Templo Sumergido", - ["Dragonmaw Retreat"] = "Refugio Faucedrago", - ["Uldaman"] = "Uldaman", - ["Uldaman - Main Entrance"] = "Uldaman - Entrada Principal", - ["Uldaman - Back Entrance"] = "Uldaman - Entrada Trasera", - ["Frostmane Hollow"] = "Frostmane Hollow", - ["Windhorn Canyon"] = "Windhorn Canyon", - - -- Raids - ["Onyxia's Lair"] = "Guarida de Onyxia", - ["Emerald Sanctum"] = "Sanctum Esmeralda", - ["Ruins of Ahn'Qiraj"] = "Ruinas de Ahn'Qiraj", - ["Temple of Ahn'Qiraj"] = "Templo de Ahn'Qiraj", - ["Blackwing Lair"] = "Guarida Alanegra", - ["Molten Core"] = "Núcleo de Magma", - ["Lower Karazhan Halls"] = "Salas Inferiores de Karazhan", - ["Tower of Karazhan"] = "Torre de Karazhan", - ["Naxxramas"] = "Naxxramas", - ["Zul'Gurub"] = "Zul'Gurub", - ["Timbermaw Hold"] = "Timbermaw Hold", - - -- World Bosses - ["Taerar"] = "Taerar", - ["Lethon"] = "Lethon", - ["Emeriss"] = "Emeriss", - ["Ysondre"] = "Ysondre", - ["Azuregos"] = "Azuregos", - ["Cla'ckora"] = "Cla'ckora", - ["Concavius"] = "Concavius", - ["Father Lycan"] = "Padre Lycan", - ["Lord Kazzak"] = "Lord Kazzak", - ["Ostarius"] = "Ostarius", - ["Dark Reaver of Karazhan"] = "Saqueador Oscuro de Karazhan", - ["Nerubian Overseer"] = "Supervisor Nerubiano", - - -- Transports - ["Boat to Stormwind"] = "Barco a Ventormenta", - ["Boat to Alah'Thalas"] = "Barco a Alah'Thalas", - ["Boat to Rut'Theran Village"] = "Barco a Aldea Rut'Theran", - ["Boat to Auberdine"] = "Barco a Auberdine", - ["Boat to Menethil Harbor"] = "Barco a Puerto de Menethil", - ["Boat to Theramore Isle"] = "Barco a Isla Theramore", - ["Boat to Booty Bay"] = "Barco a Bahía del Botín", - ["Boat to Ratchet"] = "Barco a Trinquete", - ["Boat to Forgotten Coast"] = "Barco a Costa Olvidada", - ["Boat to Sardor Isle"] = "Barco a Isla Sardor", - ["Boat to Revantusk Village"] = "Barco a Aldea Revantusk", - ["Boat to Sparkwater Port"] = "Barco a Puerto Chispeagua", - ["Zeppelins to UC & Grom'Gol"] = "Zepelines a UC y Grom'Gol", - ["Zeppelins to TB & Kargath"] = "Zepelines a TB y Kargath", - ["Zeppelin to Orgrimmar"] = "Zepelín a Orgrimmar", - ["Zeppelins to Orgrimmar & Grom'Gol"] = "Zepelines a Orgrimmar y Grom'Gol", - ["Zeppelins to UC & Orgrimmar"] = "Zepelines a UC y Orgrimmar", - ["Tram to Stormwind"] = "Tranvía a Ventormenta", - ["Tram to Ironforge"] = "Tranvía a Forjaz", + -- Dungeon masks + -- %s will get substituted with the localized Dungeon name + ["%s - East"] = "%s - Este", -- Dire Maul + ["%s - West"] = "%s - Oeste", -- Dire Maul + ["%s - North"] = "%s - Norte", -- Dire Maul + ["%s - Back Entrance"] = "%s - Entrada Trasera", -- Stormwrought Ruins, Uldaman + ["Lower %s"] = "%s Inferior", -- Lower Blackrock Spire + ["Upper %s"] = "%s Superior", -- Upper Blackrock Spire + ["%s - Armory"] = "%s - Armería", -- Scarlet Monastery + ["%s - Cathedral"] = "%s - Catedral", -- Scarlet Monastery + ["%s - Graveyard"] = "%s - Cementerio", -- Scarlet Monastery + ["%s - Library"] = "%s - Biblioteca", -- Scarlet Monastery + ["%s - Back Gate"] = "%s - Puerta Trasera", -- Stratholme + ["%s - Horde Entrance"] = "%s - Entrada Horda", -- Stormwind Vault + ["%s - Main Entrance"] = "%s - Entrada Principal", -- Uldaman + + -- Transport masks + -- %s will get substituted with the destination's localized name + ["Boat to %s"] = "Barco a %s", + ["Zeppelin to %s"] = "Zepelín a %s", + ["Tram to %s"] = "Tranvía a %s", -- Tooltip labels ["Level"] = "Nivel", diff --git a/Locales/Locale_ptBR.lua b/Locales/Locale_ptBR.lua index 64a78db..637db02 100644 --- a/Locales/Locale_ptBR.lua +++ b/Locales/Locale_ptBR.lua @@ -1,140 +1,27 @@ --- Locale_ptBR.lua - Portuguese (Brazil) Localization for ModernMapMarkers -ModernMapMarkers_Locale:RegisterZones("ptBR", { - -- Continent names - ["Kalimdor"] = "Kalimdor", - ["Eastern Kingdoms"] = "Reinos do Leste", - ["Ashenvale"] = "Vale Gris", - ["Azshara"] = "Azshara", - ["Badlands"] = "Ermos", - ["Balor"] = "Balor", - ["Blasted Lands"] = "Barreira do Inferno", - ["Burning Steppes"] = "Estepes Ardentes", - ["Darkshore"] = "Costa Negra", - ["Deadwind Pass"] = "Trilha do Vento Morto", - ["Desolace"] = "Desolação", - ["Dun Morogh"] = "Dun Morogh", - ["Durotar"] = "Durotar", - ["Duskwood"] = "Floresta do Crepúsculo", - ["Dustwallow Marsh"] = "Pântano Vadeoso", - ["Eastern Plaguelands"] = "Terras Pestilentas Orientais", - ["Elwynn Forest"] = "Floresta de Elwynn", - ["Feralas"] = "Feralas", - ["Gilneas"] = "Gilneas", - ["Hyjal"] = "Hyjal", - ["Ironforge"] = "Altaforja", - ["Moonwhisper Coast"] = "Costa do Sussurro da Lua", - ["Orgrimmar"] = "Orgrimmar", - ["Searing Gorge"] = "Garganta Abrasadora", - ["Silithus"] = "Silithus", - ["Silverpine Forest"] = "Floresta de Pinhaprata", - ["Stormwind City"] = "Ventobravo", - ["Stranglethorn Vale"] = "Selva do Espinhaço", - ["Swamp of Sorrows"] = "Pântano das Mágoas", - ["Tanaris"] = "Tanaris", - ["Teldrassil"] = "Teldrassil", - ["The Barrens"] = "Sertões", - ["The Hinterlands"] = "Terras Agrestes", - ["Thunder Bluff"] = "Penhasco do Trovão", - ["Tirisfal Glades"] = "Clareiras de Tirisfal", - ["Western Plaguelands"] = "Terras Pestilentas Ocidentais", - ["Westfall"] = "Cerro Oeste", - ["Wetlands"] = "Pantanal", - ["Alah'Thalas"] = "Alah'Thalas", -}) - ModernMapMarkers_Locale:RegisterMarkers("ptBR", { - -- Dungeons - ["Blackfathom Deeps"] = "Profundezas Negras", - ["Crescent Grove"] = "Bosque do Crescente", - ["Maraudon"] = "Maraudon", - ["Ragefire Chasm"] = "Cavernas Ragefire", - ["Dire Maul"] = "Gládio Cruel", - ["Dire Maul - East"] = "Gládio Cruel - Leste", - ["Dire Maul - North"] = "Gládio Cruel - Norte", - ["Dire Maul - West"] = "Gládio Cruel - Oeste", - ["Razorfen Downs"] = "Urzal dos Mortos", - ["Razorfen Kraul"] = "Razorfen Kraul", - ["Wailing Caverns"] = "Cavernas Uivantes", - ["Zul'Farrak"] = "Zul'Farrak", - ["Black Morass"] = "O Morass Negro", - ["Gnomeregan"] = "Gnomeregan", - ["Stormwrought Ruins"] = "Ruínas da Tempestade", - ["Stormwrought Ruins - Back Entrance"] = "Ruínas da Tempestade - Entrada Traseira", - ["Blackrock Depths"] = "Abismo Rocha Negra", - ["Hateforge Quarry"] = "Pedreira Forja do Ódio", - ["Lower Blackrock Spire"] = "Pico da Rocha Negra Inferior", - ["Upper Blackrock Spire"] = "Pico da Rocha Negra Superior", - ["Karazhan Crypt"] = "Cripta Karazhan", - ["Scarlet Monastery"] = "Monastério Scarlet", - ["Scarlet Monastery - Armory"] = "Monastério Scarlet - Arsenal", - ["Scarlet Monastery - Cathedral"] = "Monastério Scarlet - Catedral", - ["Scarlet Monastery - Graveyard"] = "Monastério Scarlet - Cemitério", - ["Scarlet Monastery - Library"] = "Monastério Scarlet - Biblioteca", - ["Scholomance"] = "Scholomance", - ["Shadowfang Keep"] = "Fortaleza Shadowfang", - ["Stratholme"] = "Stratholme", - ["Stratholme - Back Gate"] = "Stratholme - Portão Traseiro", - ["The Deadmines"] = "As Minas Mortas", - ["The Stockade"] = "A Prisão", - ["Stormwind Vault"] = "Cofre Stormwind", - ["Stormwind Vault - Horde Entrance"] = "Cofre Stormwind - Entrada da Horda", - ["Gilneas City"] = "Cidade de Gilneas", - ["The Sunken Temple"] = "O Templo Abaixo d'Água", - ["Dragonmaw Retreat"] = "Refúgio Presa do Dragão", - ["Uldaman"] = "Uldaman", - ["Uldaman - Main Entrance"] = "Uldaman - Entrada Principal", - ["Uldaman - Back Entrance"] = "Uldaman - Entrada Traseira", - ["Frostmane Hollow"] = "Frostmane Hollow", - ["Windhorn Canyon"] = "Windhorn Canyon", - - -- Raids - ["Onyxia's Lair"] = "Caverna de Onyxia", - ["Emerald Sanctum"] = "Santuário Esmeralda", - ["Ruins of Ahn'Qiraj"] = "Ruínas de Ahn'Qiraj", - ["Temple of Ahn'Qiraj"] = "Templo de Ahn'Qiraj", - ["Blackwing Lair"] = "Covil Asa Negra", - ["Molten Core"] = "Núcleo Derretido", - ["Lower Karazhan Halls"] = "Salões Inferiores de Karazhan", - ["Tower of Karazhan"] = "Torre de Karazhan", - ["Naxxramas"] = "Naxxramas", - ["Zul'Gurub"] = "Zul'Gurub", - ["Timbermaw Hold"] = "Timbermaw Hold", - - -- World Bosses - ["Taerar"] = "Taerar", - ["Lethon"] = "Lethon", - ["Emeriss"] = "Emeriss", - ["Ysondre"] = "Ysondre", - ["Azuregos"] = "Azuregos", - ["Cla'ckora"] = "Cla'ckora", - ["Concavius"] = "Concavius", - ["Father Lycan"] = "Pai Lycan", - ["Lord Kazzak"] = "Lorde Kazzak", - ["Ostarius"] = "Ostarius", - ["Dark Reaver of Karazhan"] = "Saqueador Sombrio de Karazhan", - ["Nerubian Overseer"] = "Supervisor Nerubiano", - - -- Transports - ["Boat to Stormwind"] = "Barco para Ventobravo", - ["Boat to Alah'Thalas"] = "Barco para Alah'Thalas", - ["Boat to Rut'Theran Village"] = "Barco para Aldeia Rut'Theran", - ["Boat to Auberdine"] = "Barco para Auberdine", - ["Boat to Menethil Harbor"] = "Barco para Puerto Menethil", - ["Boat to Theramore Isle"] = "Barco para Ilha Theramore", - ["Boat to Booty Bay"] = "Barco para Angra do Butim", - ["Boat to Ratchet"] = "Barco para Carroça", - ["Boat to Forgotten Coast"] = "Barco para Costa Esquecida", - ["Boat to Sardor Isle"] = "Barco para Ilha Sardor", - ["Boat to Revantusk Village"] = "Barco para Aldeia Revantusk", - ["Boat to Sparkwater Port"] = "Barco para Porto Sparkwater", - ["Zeppelins to UC & Grom'Gol"] = "Zepelins para UC e Grom'Gol", - ["Zeppelins to TB & Kargath"] = "Zepelins para TB e Kargath", - ["Zeppelin to Orgrimmar"] = "Zepelim para Orgrimmar", - ["Zeppelins to Orgrimmar & Grom'Gol"] = "Zepelins para Orgrimmar e Grom'Gol", - ["Zeppelins to UC & Orgrimmar"] = "Zepelins para UC e Orgrimmar", - ["Tram to Stormwind"] = "Trem para Ventobravo", - ["Tram to Ironforge"] = "Trem para Altaforja", + -- Dungeon masks + -- %s will get substituted with the localized Dungeon name + ["%s - East"] = "%s - Leste", -- Dire Maul + ["%s - West"] = "%s - Oeste", -- Dire Maul + ["%s - North"] = "%s - Norte", -- Dire Maul + ["%s - Back Entrance"] = "%s - Entrada Traseira", -- Stormwrought Ruins, Uldaman + ["Lower %s"] = "%s Inferior", -- Lower Blackrock Spire + ["Upper %s"] = "%s Superior", -- Upper Blackrock Spire + ["%s - Armory"] = "%s - Arsenal", -- Scarlet Monastery + ["%s - Cathedral"] = "%s - Catedral", -- Scarlet Monastery + ["%s - Graveyard"] = "%s - Cemitério", -- Scarlet Monastery + ["%s - Library"] = "%s - Biblioteca", -- Scarlet Monastery + ["%s - Back Gate"] = "%s - Portão Traseiro", -- Stratholme + ["%s - Horde Entrance"] = "%s - Entrada da Horda", -- Stormwind Vault + ["%s - Main Entrance"] = "%s - Entrada Principal", -- Uldaman + + -- Transport masks + -- %s will get substituted with the destination's localized name + ["Boat to %s"] = "Barco para %s", + ["Zeppelin to %s"] = "Zepelim para %s", + ["Tram to %s"] = "Trem para %s", -- Tooltip labels ["Level"] = "Nível", diff --git a/Locales/Locale_zhCN.lua b/Locales/Locale_zhCN.lua index 91bcc5a..67e9a6f 100644 --- a/Locales/Locale_zhCN.lua +++ b/Locales/Locale_zhCN.lua @@ -1,140 +1,27 @@ --- Locale_zhCN.lua - Simplified Chinese Localization for ModernMapMarkers -ModernMapMarkers_Locale:RegisterZones("zhCN", { - -- Continent names - ["Kalimdor"] = "卡利姆多", - ["Eastern Kingdoms"] = "东部王国", - ["Ashenvale"] = "灰谷", - ["Azshara"] = "艾萨拉", - ["Badlands"] = "荒芜之地", - ["Balor"] = "巴洛", - ["Blasted Lands"] = "诅咒之地", - ["Burning Steppes"] = "燃烧平原", - ["Darkshore"] = "黑海岸", - ["Deadwind Pass"] = "逆风小径", - ["Desolace"] = "凄凉之地", - ["Dun Morogh"] = "丹莫罗", - ["Durotar"] = "杜隆塔尔", - ["Duskwood"] = "暮色森林", - ["Dustwallow Marsh"] = "尘泥沼泽", - ["Eastern Plaguelands"] = "东瘟疫之地", - ["Elwynn Forest"] = "艾尔文森林", - ["Feralas"] = "菲拉斯", - ["Gilneas"] = "吉尔尼斯", - ["Hyjal"] = "海加尔山", - ["Ironforge"] = "铁炉堡", - ["Moonwhisper Coast"] = "月语海岸", - ["Orgrimmar"] = "奥格瑞玛", - ["Searing Gorge"] = "灼热峡谷", - ["Silithus"] = "希利苏斯", - ["Silverpine Forest"] = "银松森林", - ["Stormwind City"] = "暴风城", - ["Stranglethorn Vale"] = "荆棘谷", - ["Swamp of Sorrows"] = "悲伤沼泽", - ["Tanaris"] = "塔纳利斯", - ["Teldrassil"] = "泰达希尔", - ["The Barrens"] = "贫瘠之地", - ["The Hinterlands"] = "辛特兰", - ["Thunder Bluff"] = "雷霆崖", - ["Tirisfal Glades"] = "提瑞斯法林地", - ["Western Plaguelands"] = "西瘟疫之地", - ["Westfall"] = "西部荒野", - ["Wetlands"] = "湿地", - ["Alah'Thalas"] = "阿尔萨拉斯", -}) - ModernMapMarkers_Locale:RegisterMarkers("zhCN", { - -- Dungeons - ["Blackfathom Deeps"] = "黑暗深渊", - ["Crescent Grove"] = "新月林地", - ["Maraudon"] = "玛拉顿", - ["Ragefire Chasm"] = "怒焰裂谷", - ["Dire Maul"] = "厄运之槌", - ["Dire Maul - East"] = "厄运之槌 - 东", - ["Dire Maul - North"] = "厄运之槌 - 北", - ["Dire Maul - West"] = "厄运之槌 - 西", - ["Razorfen Downs"] = "剃刀高地", - ["Razorfen Kraul"] = "剃刀沼泽", - ["Wailing Caverns"] = "哀嚎洞穴", - ["Zul'Farrak"] = "祖尔法拉克", - ["Black Morass"] = "黑色沼泽", - ["Gnomeregan"] = "诺莫瑞根", - ["Stormwrought Ruins"] = "风暴废墟", - ["Stormwrought Ruins - Back Entrance"] = "风暴废墟 - 后门", - ["Blackrock Depths"] = "黑石深渊", - ["Hateforge Quarry"] = "仇恨熔炉采石场", - ["Lower Blackrock Spire"] = "黑石塔下层", - ["Upper Blackrock Spire"] = "黑石塔上层", - ["Karazhan Crypt"] = "卡拉赞墓穴", - ["Scarlet Monastery"] = "血色修道院", - ["Scarlet Monastery - Armory"] = "血色修道院 - 兵器库", - ["Scarlet Monastery - Cathedral"] = "血色修道院 - 教堂", - ["Scarlet Monastery - Graveyard"] = "血色修道院 - 墓地", - ["Scarlet Monastery - Library"] = "血色修道院 - 图书馆", - ["Scholomance"] = "通灵学院", - ["Shadowfang Keep"] = "影牙城堡", - ["Stratholme"] = "斯坦索姆", - ["Stratholme - Back Gate"] = "斯坦索姆 - 后门", - ["The Deadmines"] = "死亡矿井", - ["The Stockade"] = "监狱", - ["Stormwind Vault"] = "暴风城地牢", - ["Stormwind Vault - Horde Entrance"] = "暴风城地牢 - 部落入口", - ["Gilneas City"] = "吉尔尼斯城", - ["The Sunken Temple"] = "沉没的神庙", - ["Dragonmaw Retreat"] = "龙喉居所", - ["Uldaman"] = "奥达曼", - ["Uldaman - Main Entrance"] = "奥达曼 - 主入口", - ["Uldaman - Back Entrance"] = "奥达曼 - 后入口", - ["Frostmane Hollow"] = "霜鬃谷", - ["Windhorn Canyon"] = "风角峡谷", - - -- Raids - ["Onyxia's Lair"] = "奥妮克希亚的巢穴", - ["Emerald Sanctum"] = "翡翠圣殿", - ["Ruins of Ahn'Qiraj"] = "安其拉废墟", - ["Temple of Ahn'Qiraj"] = "安其拉神殿", - ["Blackwing Lair"] = "黑翼之巢", - ["Molten Core"] = "熔火之心", - ["Lower Karazhan Halls"] = "卡拉赞下层大厅", - ["Tower of Karazhan"] = "卡拉赞之塔", - ["Naxxramas"] = "纳克萨玛斯", - ["Zul'Gurub"] = "祖尔格拉布", - ["Timbermaw Hold"] = "木喉要塞", - - -- World Bosses - ["Taerar"] = "塔拉尔", - ["Lethon"] = "莱索恩", - ["Emeriss"] = "艾莫莉丝", - ["Ysondre"] = "伊森德雷", - ["Azuregos"] = "艾索雷葛斯", - ["Cla'ckora"] = "克拉科拉", - ["Concavius"] = "空卡维斯", - ["Father Lycan"] = "人狼神父", - ["Lord Kazzak"] = "卡扎克", - ["Ostarius"] = "奥兹塔里亚斯", - ["Dark Reaver of Karazhan"] = "卡拉赞黑暗掠夺者", - ["Nerubian Overseer"] = "蛛怪监工", - - -- Transports - ["Boat to Stormwind"] = "前往暴风城", - ["Boat to Alah'Thalas"] = "前往阿尔萨拉斯", - ["Boat to Rut'Theran Village"] = "前往鲁瑟兰村", - ["Boat to Auberdine"] = "前往奥伯丁", - ["Boat to Menethil Harbor"] = "前往米奈希尔港", - ["Boat to Theramore Isle"] = "前往塞拉摩岛", - ["Boat to Booty Bay"] = "前往藏宝海湾", - ["Boat to Ratchet"] = "前往棘齿城", - ["Boat to Forgotten Coast"] = "前往被遗忘的海岸", - ["Boat to Sardor Isle"] = "前往萨多尔岛", - ["Boat to Revantusk Village"] = "前往恶齿村", - ["Boat to Sparkwater Port"] = "前往怒水港", - ["Zeppelins to UC & Grom'Gol"] = "飞艇前往幽暗城和格罗姆高", - ["Zeppelins to TB & Kargath"] = "飞艇前往雷霆崖和卡加斯", - ["Zeppelin to Orgrimmar"] = "飞艇前往奥格瑞玛", - ["Zeppelins to Orgrimmar & Grom'Gol"] = "飞艇前往奥格瑞玛和格罗姆高", - ["Zeppelins to UC & Orgrimmar"] = "飞艇前往幽暗城和奥格瑞玛", - ["Tram to Stormwind"] = "地铁前往暴风城", - ["Tram to Ironforge"] = "地铁前往铁炉堡", + -- Dungeon masks + -- %s will get substituted with the localized Dungeon name + ["%s - East"] = "%s - 东", -- Dire Maul + ["%s - West"] = "%s - 西", -- Dire Maul + ["%s - North"] = "%s - 北", -- Dire Maul + ["%s - Back Entrance"] = "%s - 后门", -- Stormwrought Ruins, Uldaman + ["Lower %s"] = "%s下层", -- Lower Blackrock Spire + ["Upper %s"] = "%s上层", -- Upper Blackrock Spire + ["%s - Armory"] = "%s - 军械库", -- Scarlet Monastery + ["%s - Cathedral"] = "%s - 大教堂", -- Scarlet Monastery + ["%s - Graveyard"] = "%s - 墓地", -- Scarlet Monastery + ["%s - Library"] = "%s - 图书馆", -- Scarlet Monastery + ["%s - Back Gate"] = "%s - 后门", -- Stratholme + ["%s - Horde Entrance"] = "%s - 部落入口", -- Stormwind Vault + ["%s - Main Entrance"] = "%s - 主入口", -- Uldaman + + -- Transport masks + -- %s will get substituted with the destination's localized name + ["Boat to %s"] = "乘船前往 %s", + ["Zeppelin to %s"] = "乘飞艇前往 %s", + ["Tram to %s"] = "地铁前往 %s", -- Tooltip labels ["Level"] = "等级", diff --git a/Localization.lua b/Localization.lua index 0a95d27..bed7af2 100644 --- a/Localization.lua +++ b/Localization.lua @@ -27,7 +27,10 @@ function ModernMapMarkers_Locale:RegisterMarkers(locale, tbl) end function ModernMapMarkers_Locale:Initialize() - detectedLocale = GetLocale() or "enUS" + detectedLocale = GetLocale() + if not detectedLocale or detectedLocale == "enGB" then + detectedLocale = "enUS" + end local data = LocaleData[detectedLocale] @@ -47,31 +50,82 @@ end --- Given a localized zone name (from GetMapZones), return the English key --- used in MarkerData.lua. Returns the input unchanged for enUS or unknown names. function ModernMapMarkers_Locale:GetEnglishZoneName(localizedName) - if ReverseZones and ReverseZones[localizedName] then - return ReverseZones[localizedName] + local zoneId = MMM_PfDBHelper:GetZoneId(localizedName, detectedLocale) + if not zoneId then + return localizedName end - return localizedName + local zoneName = MMM_PfDBHelper:GetZoneName(zoneId, "enUS") + --self:Print("GetEnglishZoneName - localizedName: " .. tostring(localizedName) .. " --> " .. tostring(zoneName)) + return zoneName end --- Given an English zone name, return the localized display name. --- Falls back to the English name if no translation exists. function ModernMapMarkers_Locale:GetLocalizedZoneName(englishName) - if ActiveZones and ActiveZones[englishName] then - return ActiveZones[englishName] + local zoneId = MMM_PfDBHelper:GetZoneId(englishName, "enUS") + if not zoneId then + return englishName end - return englishName + local zoneName = MMM_PfDBHelper:GetZoneName(zoneId, detectedLocale) + --self:Print("GetLocalizedZoneName - englishName: " .. tostring(englishName) .. " --> " .. tostring(zoneName)) + return zoneName end --- Given an English marker/instance name, return the localized display name. --- Falls back to the English name if no translation exists. -function ModernMapMarkers_Locale:GetLocalizedMarkerName(englishName) - if ActiveMarkers and ActiveMarkers[englishName] then - return ActiveMarkers[englishName] +function ModernMapMarkers_Locale:GetLocalizedMarkerName(englishName, type, mask) + --self:Print("GetLocalizedMarkerName - englishName: " .. tostring(englishName) .. ", type: " .. tostring(type) .. ", mask: " .. tostring(mask)) + local localizedName = nil + if not mask then -- see if we automatically need to choose a mask because of the type + if type == "BOAT" then + mask = "Boat to %s" + elseif type == "ZEPP" or type == "ZEPPELIN" then + mask = "Zeppelin to %s" + elseif type == "TRAM" then + mask = "Tram to %s" + end + end + if ActiveMarkers then + local englishNameEnglishMask = englishName + if mask then -- apply non-localized english mask if it exists + englishNameEnglishMask = string.format(mask, englishName) + end + if ActiveMarkers[englishNameEnglishMask] then + return ActiveMarkers[englishNameEnglishMask] -- we have a custom translation for this string, use it + end + end + if type == "WORLDBOSS" then -- worldboss is the only type that is a unit name + local unitId = MMM_PfDBHelper:GetUnitId(englishName, "enUS") -- first we get the unit id from pfDB + if unitId then + localizedName = MMM_PfDBHelper:GetUnitName(unitId, detectedLocale) -- now get localized unit name from pfDB + end + else -- all other types are zone names + local zoneId = MMM_PfDBHelper:GetZoneId(englishName, "enUS") -- first we get the zone id from pfDB + if zoneId then + localizedName = MMM_PfDBHelper:GetZoneName(zoneId, detectedLocale) -- get localized zone name from pfDB + end end - return englishName + if not localizedName and ActiveMarkers then -- couldn't find it in zone or unit tables, try to get custom translation from ./Locales + localizedName = ActiveMarkers[englishName] + end + if mask then -- apply mask + local localizedMask = mask + if ActiveMarkers and ActiveMarkers[mask] then + localizedMask = ActiveMarkers[mask] -- we have a localized mask + end + if localizedName then -- all good. we have a localized name + localizedName = string.format(localizedMask, localizedName) + else -- second best option. we have no localized name. fallback to english name + localizedName = string.format(localizedMask, englishName) + end + end + if not localizedName then -- couldn't find anything anywhere. fall back to original english name + localizedName = englishName + end + return localizedName end -function ModernMapMarkers_Locale:GetLocale() - return detectedLocale or "enUS" - -end +-- Safe call helper for listener +function ModernMapMarkers_Locale:Print(msg) + DEFAULT_CHAT_FRAME:AddMessage("ModernMapMarkers_Locale: " .. tostring(msg)) +end \ No newline at end of file diff --git a/MarkerData.lua b/MarkerData.lua index 8857aa0..b061039 100644 --- a/MarkerData.lua +++ b/MarkerData.lua @@ -14,31 +14,33 @@ ModernMapMarkers_Points = { { x=0.385, y=0.34, name="Timbermaw Hold", type="raid", info="60" }, }, ["Darkshore"] = { - { x=0.324, y=0.44, name="Boat to Stormwind", type="boat", info="Alliance" }, - { x=0.304, y=0.41, name="Boat to Alah'Thalas", type="boat", info="Alliance" }, - { x=0.333, y=0.399, name="Boat to Rut'Theran Village", type="boat", info="Alliance" }, + { x=0.324, y=0.44, name="Stormwind City", type="boat", info="Alliance" }, + { x=0.304, y=0.41, name="Alah'Thalas", type="boat", info="Alliance" }, + { x=0.333, y=0.399, name="Rut'theran Village", type="boat", info="Alliance" }, }, ["Desolace"] = { { x=0.29, y=0.629, name="Maraudon", type="dungeon", info="46-55" }, { x=0.82, y=0.80, name="Concavius", type="worldboss", info="60" }, - { x=0.205, y=0.75, name="Boat to Moonhoof Village", type="boat", info="Horde" }, + { x=0.205, y=0.75, name="Moonhoof Village", type="boat", info="Horde" }, }, ["Durotar"] = { - { x=0.512, y=0.135, name="Zeppelins to UC & Grom'Gol", type="zepp", info="Horde" }, - { x=0.415, y=0.184, name="Zeppelins to TB & Kargath", type="zepp", info="Horde" }, - { x=0.598, y=0.236, name="Boat to Revantusk Village", type="boat", info="Horde" }, + { x=0.508, y=0.15, name="Undercity", type="zepp", info="Horde" }, + { x=0.505, y=0.124, name="Grom'gol Base Camp", type="zepp", info="Horde" }, + { x=0.412, y=0.195, name="Thunder Bluff", type="zepp", info="Horde" }, + { x=0.413, y=0.165, name="Kargath", type="zepp", info="Horde" }, + { x=0.598, y=0.236, name="Revantusk Village", type="boat", info="Horde" }, }, ["Dustwallow Marsh"] = { { x=0.53, y=0.76, name="Onyxia's Lair", type="raid", info="60" }, - { x=0.718, y=0.566, name="Boat to Menethil Harbor", type="boat", info="Alliance" }, + { x=0.718, y=0.566, name="Menethil Harbor", type="boat", info="Alliance" }, }, ["Feralas"] = { - { x=0.648, y=0.303, name="Dire Maul - East", type="dungeon", info="55-58" }, - { x=0.624, y=0.249, name="Dire Maul - North", type="dungeon", info="57-60" }, - { x=0.604, y=0.311, name="Dire Maul - West", type="dungeon", info="57-60" }, + { x=0.648, y=0.303, name="Dire Maul", mask="%s - East", type="dungeon", info="55-58" }, + { x=0.624, y=0.249, name="Dire Maul", mask="%s - North", type="dungeon", info="57-60" }, + { x=0.604, y=0.311, name="Dire Maul", mask="%s - West", type="dungeon", info="57-60" }, { x=0.512, y=0.108, name="Lethon", type="worldboss", info="60" }, - { x=0.311, y=0.395, name="Boat to Forgotten Coast", type="boat", info="Alliance" }, - { x=0.431, y=0.428, name="Boat to Sardor Isle", type="boat", info="Alliance" }, + { x=0.311, y=0.395, name="The Forgotten Coast", type="boat", info="Alliance" }, + { x=0.431, y=0.428, name="Sardor Isle", type="boat", info="Alliance" }, }, ["Hyjal"] = { { x=0.207, y=0.592, name="Emerald Sanctum", type="raid", info="60" }, @@ -46,14 +48,14 @@ ModernMapMarkers_Points = { }, ["Moonwhisper Coast"] = { { x=0.506, y=0.959, name="Timbermaw Hold", type="raid", info="60" }, - { x=0.71, y=0.38, name="Boat to Shadowprey Village", type="boat", info="Horde" }, + { x=0.71, y=0.38, name="Shadowprey Village", type="boat", info="Horde" }, }, ["Orgrimmar"] = { { x=0.53, y=0.486, name="Ragefire Chasm", type="dungeon", info="13-18" }, }, ["Silithus"] = { { x=0.296, y=0.960, name="Ruins of Ahn'Qiraj", type="raid", info="60" }, - { x=0.282, y=0.956, name="Temple of Ahn'Qiraj", type="raid", info="60" }, + { x=0.282, y=0.956, name="Ahn'Qiraj", type="raid", info="60" }, }, ["Tanaris"] = { { x=0.66, y=0.49, name="Black Morass", type="dungeon", info="60" }, @@ -61,7 +63,7 @@ ModernMapMarkers_Points = { { x=0.361, y=0.762, name="Ostarius", type="worldboss", info="60" }, }, ["Teldrassil"] = { - { x=0.552, y=0.949, name="Boat to Auberdine", type="boat", info="Alliance" }, + { x=0.552, y=0.949, name="Auberdine", type="boat", info="Alliance" }, }, ["Thousand Needles"] = { { x=0.648, y=0.460, name="Windhorn Canyon", type="dungeon", info="26-30" }, @@ -70,24 +72,24 @@ ModernMapMarkers_Points = { { x=0.488, y=0.919, name="Razorfen Downs", type="dungeon", info="37-46" }, { x=0.407, y=0.873, name="Razorfen Kraul", type="dungeon", info="29-38" }, { x=0.462, y=0.357, name="Wailing Caverns", type="dungeon", info="17-24" }, - { x=0.636, y=0.389, name="Boat to Booty Bay", type="boat", info="Neutral" }, + { x=0.644, y=0.388, name="Booty Bay", type="boat", info="Neutral" }, }, ["Thunder Bluff"] = { - { x=0.165, y=0.230, name="Zeppelin to Orgrimmar", type="zepp", info="Horde" }, + { x=0.165, y=0.230, name="Orgrimmar", type="zepp", info="Horde" }, }, }, [2] = { -- Eastern Kingdoms ["Alah'Thalas"] = { - { x=0.531, y=0.047, name="Boat to Auberdine", type="boat", info="Alliance" }, + { x=0.531, y=0.047, name="Auberdine", type="boat", info="Alliance" }, }, ["Badlands"] = { - { x=0.429, y=0.130, name="Uldaman - Main Entrance", type="dungeon", info="41-51" }, - { x=0.657, y=0.438, name="Uldaman - Back Entrance", type="dungeon", info="41-51" }, - { x=0.075, y=0.480, name="Zeppelin to Orgrimmar", type="zepp", info="Horde" }, + { x=0.429, y=0.130, name="Uldaman", mask="%s - Main Entrance", type="dungeon", info="41-51" }, + { x=0.657, y=0.438, name="Uldaman", mask="%s - Back Entrance", type="dungeon", info="41-51" }, + { x=0.075, y=0.480, name="Orgrimmar", type="zepp", info="Horde" }, }, ["Balor"] = { { x=0.57, y=0.598, name="Stormwrought Ruins", type="dungeon", info="35-41" }, - { x=0.561, y=0.846, name="Stormwrought Ruins - Back Entrance", type="dungeon", info="35-41" }, + { x=0.561, y=0.846, name="Stormwrought Ruins", mask="%s - Back Entrance", type="dungeon", info="35-41" }, }, ["Blasted Lands"] = { { x=0.36, y=0.753, name="Lord Kazzak", type="worldboss", info="60" }, @@ -95,8 +97,8 @@ ModernMapMarkers_Points = { ["Burning Steppes"] = { { x=0.328, y=0.362, name="Blackrock Depths", type="dungeon", info="52-60" }, { x=0.95, y=0.53, name="Hateforge Quarry", type="dungeon", info="52-60" }, - { x=0.321, y=0.386, name="Lower Blackrock Spire", type="dungeon", info="55-60" }, - { x=0.312, y=0.365, name="Upper Blackrock Spire", type="dungeon", info="55-60" }, + { x=0.321, y=0.386, name="Blackrock Spire", mask="Lower %s", type="dungeon", info="55-60" }, + { x=0.312, y=0.365, name="Blackrock Spire", mask="Upper %s", type="dungeon", info="55-60" }, { x=0.273, y=0.363, name="Blackwing Lair", type="raid", info="60" }, { x=0.273, y=0.387, name="Molten Core", type="raid", info="60" }, }, @@ -115,23 +117,23 @@ ModernMapMarkers_Points = { }, ["Eastern Plaguelands"] = { { x=0.31, y=0.14, name="Stratholme", type="dungeon", info="58-60" }, - { x=0.47, y=0.24, name="Stratholme - Back Gate", type="dungeon", info="58-60" }, + { x=0.47, y=0.24, name="Stratholme", mask="%s - Back Gate", type="dungeon", info="58-60" }, { x=0.40, y=0.28, name="Naxxramas", type="raid", info="60" }, { x=0.082, y=0.38, name="Nerubian Overseer", type="worldboss", info="60" }, }, ["Elwynn Forest"] = { - { x=0.29, y=0.61, name="Stormwind Vault - Horde Entrance", type="dungeon", info="60" }, + { x=0.29, y=0.61, name="Stormwind Vault", mask="%s - Horde Entrance", type="dungeon", info="60" }, }, ["Gilneas"] = { { x=0.30, y=0.27, name="Gilneas City", type="dungeon", info="43" }, }, ["Ironforge"] = { - { x=0.762, y=0.511, name="Tram to Stormwind", type="tram", info="Alliance" }, + { x=0.762, y=0.511, name="Stormwind City", type="tram", info="Alliance" }, }, ["Searing Gorge"] = { { x=0.371, y=0.857, name="Blackrock Depths", type="dungeon", info="52-60" }, - { x=0.364, y=0.879, name="Lower Blackrock Spire", type="dungeon", info="55-60" }, - { x=0.355, y=0.855, name="Upper Blackrock Spire", type="dungeon", info="55-60" }, + { x=0.364, y=0.879, name="Blackrock Spire", mask="Lower %s", type="dungeon", info="55-60" }, + { x=0.355, y=0.855, name="Blackrock Spire", mask="Upper %s", type="dungeon", info="55-60" }, { x=0.332, y=0.851, name="Blackwing Lair", type="raid", info="60" }, { x=0.336, y=0.879, name="Molten Core", type="raid", info="60" }, }, @@ -141,27 +143,29 @@ ModernMapMarkers_Points = { ["Stormwind City"] = { { x=0.51, y=0.675, name="The Stockade", type="dungeon", info="24-31" }, { x=0.63, y=0.58, name="Stormwind Vault", type="dungeon", info="60" }, - { x=0.694, y=0.294, name="Tram to Ironforge", type="tram", info="Alliance" }, - { x=0.218, y=0.563, name="Boat to Auberdine", type="boat", info="Alliance" }, + { x=0.694, y=0.294, name="Ironforge", type="tram", info="Alliance" }, + { x=0.218, y=0.563, name="Auberdine", type="boat", info="Alliance" }, }, ["Stranglethorn Vale"] = { { x=0.53, y=0.172, name="Zul'Gurub", type="raid", info="60" }, - { x=0.257, y=0.73, name="Boat to Ratchet", type="boat", info="Neutral" }, - { x=0.312, y=0.298, name="Zeppelins to UC & Orgrimmar", type="zepp", info="Horde" }, + { x=0.259, y=0.731, name="Ratchet", type="boat", info="Neutral" }, + { x=0.310, y=0.280, name="Undercity", type="zepp", info="Horde" }, + { x=0.308, y=0.304, name="Orgrimmar", type="zepp", info="Horde" }, }, ["Swamp of Sorrows"] = { - { x=0.701, y=0.55, name="The Sunken Temple", type="dungeon", info="50-60" }, + { x=0.701, y=0.55, name="Sunken Temple", type="dungeon", info="50-60" }, }, ["The Hinterlands"] = { { x=0.632, y=0.217, name="Ysondre", type="worldboss", info="60" }, - { x=0.812, y=0.794, name="Boat to Sparkwater Port", type="boat", info="Horde" }, + { x=0.812, y=0.794, name="Sparkwater Port", type="boat", info="Horde" }, }, ["Tirisfal Glades"] = { - { x=0.869, y=0.323, name="Scarlet Monastery - Armory", type="dungeon", info="32-42" }, - { x=0.862, y=0.295, name="Scarlet Monastery - Cathedral", type="dungeon", info="35-45" }, - { x=0.839, y=0.283, name="Scarlet Monastery - Graveyard", type="dungeon", info="26-36" }, - { x=0.850, y=0.338, name="Scarlet Monastery - Library", type="dungeon", info="29-39" }, - { x=0.616, y=0.571, name="Zeppelins to Orgrimmar & Grom'Gol", type="zepp", info="Horde" }, + { x=0.869, y=0.323, name="Scarlet Monastery", mask="%s - Armory", type="dungeon", info="32-42" }, + { x=0.862, y=0.295, name="Scarlet Monastery", mask="%s - Cathedral", type="dungeon", info="35-45" }, + { x=0.839, y=0.283, name="Scarlet Monastery", mask="%s - Graveyard", type="dungeon", info="26-36" }, + { x=0.850, y=0.338, name="Scarlet Monastery", mask="%s - Library", type="dungeon", info="29-39" }, + { x=0.595, y=0.575, name="Orgrimmar", type="zepp", info="Horde" }, + { x=0.615, y=0.575, name="Grom'gol Base Camp", type="zepp", info="Horde" }, }, ["Western Plaguelands"] = { { x=0.69, y=0.74, name="Scholomance", type="dungeon", info="58-60" }, @@ -171,7 +175,7 @@ ModernMapMarkers_Points = { }, ["Wetlands"] = { { x=0.67, y=0.634, name="Dragonmaw Retreat", type="dungeon", info="27-33" }, - { x=0.068, y=0.613, name="Boat to Theramore Isle", type="boat", info="Alliance" }, + { x=0.068, y=0.613, name="Theramore Isle", type="boat", info="Alliance" }, }, } } diff --git a/ModernMapMarkers.lua b/ModernMapMarkers.lua index a6a0220..6c23191 100644 --- a/ModernMapMarkers.lua +++ b/ModernMapMarkers.lua @@ -157,6 +157,7 @@ function MMM:BuildData() y = m.y, name = m.name, type = typeUpper, + mask = m.mask, description = m.info, id = index } @@ -310,7 +311,7 @@ function MMM:RefreshMarkers() end -- Metadata - marker.name = L:GetLocalizedMarkerName(data.name) + marker.name = L:GetLocalizedMarkerName(data.name, data.type, data.mask) marker.nameEN = data.name marker.description = data.description marker.markerType = data.type diff --git a/ModernMapMarkers.toc b/ModernMapMarkers.toc index b6dfa04..436e48f 100644 --- a/ModernMapMarkers.toc +++ b/ModernMapMarkers.toc @@ -6,6 +6,7 @@ ## OptionalDeps: pfUI, pfQuest, InstanceJournal ## SavedVariables: ModernMapMarkersDB +pfDB\pfDB.xml Localization.lua Locales\Locale_deDE.lua Locales\Locale_esES.lua diff --git a/ModernMapMarkers_UI.lua b/ModernMapMarkers_UI.lua index 7686ff3..a170b58 100644 --- a/ModernMapMarkers_UI.lua +++ b/ModernMapMarkers_UI.lua @@ -387,7 +387,7 @@ function MMM_GUI.InitializeWorldMapControls() if dataIndex <= totalRows then local data = currentList[dataIndex] - local localizedName = L:GetLocalizedMarkerName(data.name) + local localizedName = L:GetLocalizedMarkerName(data.name, data.type, data.mask) row.nameText:SetText(localizedName) if data.description then diff --git a/pfDB/deDE/pfDB_deDE.xml b/pfDB/deDE/pfDB_deDE.xml new file mode 100644 index 0000000..1e7537b --- /dev/null +++ b/pfDB/deDE/pfDB_deDE.xml @@ -0,0 +1,7 @@ + +