Portugese was only added 1-2 years back i believe, so new languages can definitely happen.
I’ve gone ahead and added this feature to the code. Here’s the edited lua file which gracefully loads the localized names at load:
--[[
### Author: Weper ###
### Version: 1.0
]]--
local QuestItems = {
["DungeonQuestItems"] = {
{["itemName"] = "A Treatise on Strategy", ["itemID"] = 71715, ["questID"] = 29451, ["tickets"] = 10},
{["itemName"] = "Imbued Crystal", ["itemID"] = 71635, ["questID"] = 29443, ["tickets"] = 10},
{["itemName"] = "Monstrous Egg", ["itemID"] = 71636, ["questID"] = 29444, ["tickets"] = 10},
{["itemName"] = "Mysterious Grimoire", ["itemID"] = 71637, ["questID"] = 29445, ["tickets"] = 10},
{["itemName"] = "Ornate Weapon", ["itemID"] = 71638, ["questID"] = 29446, ["tickets"] = 10},
},
["battlegroundQuestItems"] = {
{["itemName"] = "Banner of the Fallen", ["itemID"] = 71951, ["questID"] = 29456, ["tickets"] = 5},
{["itemName"] = "Captured Insignia", ["itemID"] = 71952, ["questID"] = 29457, ["tickets"] = 5},
{["itemName"] = "Fallen Adventurer's Journal", ["itemID"] = 71953, ["questID"] = 29458, ["tickets"] = 5},
},
["raidQuestItems"] = {
{["itemName"] = "Soothsayer's Runes", ["itemID"] = 71716, ["questID"] = 29464, ["tickets"] = 15},
},
["otherQuestItems"] = {
{["itemName"] = "Moonfang's Pelt", ["itemID"] = 105891, ["questID"] = 33354, ["tickets"] = 10},
}
}
--Code to gracefully localize item names
local localizationTicker;
local function loadLocalizedItemNames(questItemTable)
for key,subtable in pairs(questItemTable) do
for i = 1, table.getn(subtable) do
if (not subtable[i]["isLocalized"]) then
local itemName = GetItemInfo(subtable[i]["itemID"])
if (itemName) then
subtable[i]["itemName"] = itemName
subtable[i]["isLocalized"] = true
end
end
end
end
end
local function checkForLocalization(questItemTable)
local isLocalized = true
for key,subtable in pairs(questItemTable) do
for i = 1, table.getn(subtable) do
if (not subtable[i]["isLocalized"]) then
isLocalized = false
break;
end
end
end
if(isLocalized) then
localizationTicker:Cancel()
else
C_Timer.After(10,checkForLocalization(questItemTable));
end
end
local loadFrame = CreateFrame("Frame")
loadFrame:RegisterEvent("PLAYER_ENTERING_WORLD")
loadFrame:SetScript("OnEvent",function()
localizationTicker = C_Timer.NewTicker(1, function()
loadLocalizedItemNames(QuestItems)
end)
C_Timer.After(2,function() checkForLocalization(QuestItems) end)
end)
--end of localization code
SLASH_DQI1 = '/dqi';
local function handler(msg, editbox)
print("|cFF0070DE-------------------- |cFFFF0000Darkmoon Quest Items |cFF0070DE--------------------")
---------------------------------- [ Dungeon ] -----------------------------------------------
printTitle("Dungeon")
printQuestItemTable(QuestItems["DungeonQuestItems"])
---------------------------------- [ Battleground ] -----------------------------------------------
printTitle("Battleground")
printQuestItemTable(QuestItems["battlegroundQuestItems"])
---------------------------------- [ Raid ] -----------------------------------------------
printTitle("Raid")
printQuestItemTable(QuestItems["raidQuestItems"])
---------------------------------- [ Other ] -----------------------------------------------
printTitle("Other")
printQuestItemTable(QuestItems["otherQuestItems"])
end
SlashCmdList["DQI"] = handler;
function printTitle(titleName)
print("|cfffdff00-- |cFF00FFFF" .. titleName .. "|cfffdff00--")
end
function toQuestItemLink (itemName, itemID)
return "|cff0070dd|Hitem:" .. itemID .. "|h[" .. itemName .. "]|h|r"
end
function printQuestItemInfo (questItemLink, questID, tickets)
local completed = IsQuestFlaggedCompleted(questID)
print(questItemLink .. " |cffffaa08- |cff08c7ffReward|cffffffff: |cFFFF0000" .. tickets .. " tickets |cffffaa08- |cff08c7ffCompleted|cffffffff: " .. (completed == true and "|c0000FF00Yes" or "|cFFFF0000No"))
end
function printQuestItemTable(questItemTable)
for i = 1, table.getn(questItemTable) do
local itemName = GetItemInfo(questItemTable[i]["itemID"]);
local questItemLink = toQuestItemLink(itemName, questItemTable[i]["itemID"])
local questID = questItemTable[i]["questID"]
local tickets = questItemTable[i]["tickets"]
printQuestItemInfo(questItemLink, questID, tickets)
end
end
I’ve just tested this with german, and item names are now localized:
http://prntscr.com/m4p2ue