------------------------------------------------
-- Brazilian Portuguese localization for DailyAlchemy
------------------------------------------------

ZO_CreateStringId("DA_CRAFTING_QUEST",      "Ordem de Alquimia")        -- [br.lang.csv] "52420949","0","5415","xxxxxxxx"
ZO_CreateStringId("DA_CRAFTING_MASTER",     "Uma Mistura Magistral")    -- [br.lang.csv] "52420949","0","5980","xxxxxxxx"
ZO_CreateStringId("DA_CRAFTING_WITCH",      "Festival das Bruxas")      -- [br.lang.csv] "52420949","0","6427","xxxxxxxx"

ZO_CreateStringId("DA_BULK_HEADER",         "Criação a granel")
ZO_CreateStringId("DA_BULK_FLG",            "Criar todos os itens solicitados de uma só vez")
ZO_CreateStringId("DA_BULK_FLG_TOOLTIP",    "É usado quando se deseja criar um grande número de itens solicitados.")
ZO_CreateStringId("DA_BULK_COUNT",          "Quantidade criada")
ZO_CreateStringId("DA_BULK_COUNT_TOOLTIP",  "Na verdade, será criado mais do que esta quantidade (Depende da habilidade de alquimia)")

ZO_CreateStringId("DA_CRAFT_WRIT",          "Escrita Artesanal Selada")
ZO_CreateStringId("DA_CRAFT_WRIT_MSG",      "Ao acessar a estação de alquimia, <<1>>")
ZO_CreateStringId("DA_CANCEL_WRIT",         "Cancelar Escrita Selada")
ZO_CreateStringId("DA_CANCEL_WRIT_MSG",     "Escrito Selado Cancelado")

ZO_CreateStringId("DA_PRIORITY_HEADER",     "Prioridade do Reagente")
ZO_CreateStringId("DA_PRIORITY_BY",         "Prioridade do reagente a ser utilizado")
ZO_CreateStringId("DA_PRIORITY_BY_STOCK",   "Muitas ações")
ZO_CreateStringId("DA_PRIORITY_BY_MM",      "Reagente de baixo preço no [MasterMerchant]")
ZO_CreateStringId("DA_PRIORITY_BY_TTC",     "Reagente de baixo preço no [TamrielTradeCentre]")
ZO_CreateStringId("DA_PRIORITY_BY_ATT",     "Reagente de baixo preço no [ArkadiusTradeTools]")
ZO_CreateStringId("DA_PRIORITY_BY_MANUAL",  "Ajustar manualmente")
ZO_CreateStringId("DA_SHOW_PRICE_MANUAL",   "Mostrar preço[<<1>>]")
ZO_CreateStringId("DA_PRIORITY_CHANGED",    "A configuração do add-on [<<<1>>] foi alterada porque o <<<2>> está desligado")

ZO_CreateStringId("DA_OTHER_HEADER",        "Outros")
ZO_CreateStringId("DA_ACQUIRE_ITEM",        "Recuperar itens do banco")
ZO_CreateStringId("DA_DELAY",               "Tempo de atraso")
ZO_CreateStringId("DA_DELAY_TOOLTIP",       "Tempo de atraso para recuperar o item(seg)\nSe você não conseguir retirar bem o item, aumente-o.")
ZO_CreateStringId("DA_AUTO_EXIT",           "Saída automática")
ZO_CreateStringId("DA_AUTO_EXIT_TOOLTIP",   "Você deixará automaticamente a mesa de artesanato após completar o escrito diário.")
ZO_CreateStringId("DA_ITEM_LOCK",           "Não utilizar artigos trancados")
ZO_CreateStringId("DA_LOG",                 "Mostrar log")
ZO_CreateStringId("DA_DEBUG_LOG",           "Mostrar registro de depuração")

ZO_CreateStringId("DA_NOTHING_ITEM",        "Nenhum item na mochila (<<1>>)")
ZO_CreateStringId("DA_SHORT_OF",            "... Falta de materiais(<<1>>)")
ZO_CreateStringId("DA_MISMATCH_ITEM",       "... [Erro]O nome não corresponde (<<1>>)")

ZO_CreateStringId("DA_HEALTH",              "Restaura Saúde")                       -- Restore Health        [br.lang.csv] "156152165","0","1","xxxxxxxx"
ZO_CreateStringId("DA_RVG_HEALTH",          "Devastar Saúde")                       -- Ravage Health         [br.lang.csv] "156152165","0","2","xxxxxxxx"
ZO_CreateStringId("DA_MAGICKA",             "Restaura Magicka")                     -- Restore Magicka       [br.lang.csv] "156152165","0","3","xxxxxxxx"
ZO_CreateStringId("DA_RVG_MAGICKA",         "Devastar Magicka")                     -- Ravage Magicka        [br.lang.csv] "156152165","0","4","xxxxxxxx"
ZO_CreateStringId("DA_STAMINA",             "Restaura Vigor")                       -- Restore Stamina       [br.lang.csv] "156152165","0","5","xxxxxxxx"
ZO_CreateStringId("DA_RVG_STAMINA",         "Devastar Vigor")                       -- Ravage Stamina        [br.lang.csv] "156152165","0","6","xxxxxxxx"
ZO_CreateStringId("DA_SPELL_RESIST",        "Aumenta a Resistência Mágica")         -- Increase Spell Resist [br.lang.csv] "156152165","0","7","xxxxxxxx"
ZO_CreateStringId("DA_BREACH",              "O Rift")                               -- Breach                [br.lang.csv] "156152165","0","8","xxxxxxxx"
ZO_CreateStringId("DA_ARMOR",               "Aumenta Armadura")                     -- Increase Armor        [br.lang.csv] "156152165","0","9","xxxxxxxx"
ZO_CreateStringId("DA_FRACTURE",            "Fracture")                             -- Fracture              [br.lang.csv] "156152165","0","10","xxxxxxxx"
ZO_CreateStringId("DA_SPELL_POWER",         "Aumenta a Potência dos Feitiços")      -- Increase Spell Power  [br.lang.csv] "156152165","0","11","xxxxxxxx"
ZO_CreateStringId("DA_COWARDICE",           "Covardia")                             -- Cowardice             [br.lang.csv] "156152165","0","12","xxxxxxxx"
ZO_CreateStringId("DA_WEAPON_POWER",        "Aumenta a Potência das Armas")         -- Increase Weapon Power [br.lang.csv] "156152165","0","13","xxxxxxxx"
ZO_CreateStringId("DA_MAIM",                "Mutilação")                            -- Maim                  [br.lang.csv] "156152165","0","14","xxxxxxxx"
ZO_CreateStringId("DA_SPELL_CRIT",          "Crítico de Feitiço")                   -- Spell Critical        [br.lang.csv] "156152165","0","15","xxxxxxxx"
ZO_CreateStringId("DA_UNCERTAINTY",         "Incerteza")                            -- Uncertainty           [br.lang.csv] "156152165","0","16","xxxxxxxx"
ZO_CreateStringId("DA_WEAPON_CRIT",         "Crítico de Armas")                     -- Weapon Critical       [br.lang.csv] "156152165","0","17","xxxxxxxx"
ZO_CreateStringId("DA_ENERVATE",            "Enervação")                            -- Enervation            [br.lang.csv] "156152165","0","18","xxxxxxxx"
ZO_CreateStringId("DA_UNSTOP",              "Implacável")                           -- Unstoppable           [br.lang.csv] "156152165","0","19","xxxxxxxx"
ZO_CreateStringId("DA_ENTRAPMENT",          "Capturar")                             -- Entrapment            [br.lang.csv] "156152165","0","20","xxxxxxxx"
ZO_CreateStringId("DA_DETECTION",           "Detecção")                             -- Detection             [br.lang.csv] "156152165","0","21","xxxxxxxx"
ZO_CreateStringId("DA_INVISIBLE",           "Invisível")                            -- Invisible             [br.lang.csv] "156152165","0","22","xxxxxxxx"
ZO_CreateStringId("DA_SPEED",               "Velocidade")                           -- Speed                 [br.lang.csv] "156152165","0","23","xxxxxxxx"
ZO_CreateStringId("DA_HINDRANCE",           "Obstáculo")                            -- Hindrance             [br.lang.csv] "156152165","0","24","xxxxxxxx"
ZO_CreateStringId("DA_PROTECTION",          "Protection")                           -- Protection            [br.lang.csv] "156152165","0","25","xxxxxxxx"
ZO_CreateStringId("DA_VULNERABILITY",       "Vulnerabilidade")                      -- Vulnerability         [br.lang.csv] "156152165","0","26","xxxxxxxx"
ZO_CreateStringId("DA_LGR_HEALTH",          "Saúde Prolongada")                     -- Lingering Health      [br.lang.csv] "156152165","0","27","xxxxxxxx"
ZO_CreateStringId("DA_GR_RVG_HEALTH",       "Redução Gradual de Saúde")             -- Gradual Ravage Health [br.lang.csv] "156152165","0","28","xxxxxxxx"
ZO_CreateStringId("DA_VITALITY",            "Vitalidade")                           -- Vitality              [br.lang.csv] "156152165","0","29","xxxxxxxx","Vigor" > "Vitalidade"
ZO_CreateStringId("DA_DEFILE",              "Corrupção")                            -- Defile                [br.lang.csv] "156152165","0","30","xxxxxxxx"
ZO_CreateStringId("DA_HEROISM",             "Heroísmo")                             -- Heroism               [br.lang.csv] "156152165","0","31","xxxxxxxx"
ZO_CreateStringId("DA_TIMIDITY",            "Timidez")                              -- Timidity              [br.lang.csv] "156152165","0","32","xxxxxxxx"




function DailyAlchemy:AcquireConditions()
    local list = {
        "Adquirir.*%[(.*)%]",
        "Adquirir%s(.*)",
        "Consiga%s(.*)",
        "Adquira%s(.*)",
    }
    return list
end

function DailyAlchemy:ConvertedItemNames(itemName)

    local list = {
        {"(\-)",     "(\-)"},
        {"\n\|.*",   ""},
        {" ",        " "},   -- code(0xA0) > space(0x20): HTML non-breaking space ?("0xC2 0xA0")
        {"%^.*",     ""}, 
        {" IX$",     " Ⅸ"},
        {" VIII$",   " Ⅷ"},
        {" VII$",    " Ⅶ"},
        {" VI$",     " Ⅵ"},
        {" IV$",     " Ⅳ"},
        {" V$",      " Ⅴ"},
        {" III$",    " Ⅲ"},
        {" II$",     " Ⅱ"},
        {" I$",      " Ⅰ"},
        {"Á",        "A"},
        {"á",        "a"},
        {"ã",        "a"},
        {"ç",        "c"},
        {"ú",        "u"},
        {"í",        "i"},
        {"ê",        "e"},
        {"é",        "e"},
        {"ô",        "o"},
    }
    for _, value in ipairs(list) do
        itemName = string.gsub(itemName, value[1], value[2])
    end
    itemName = string.lower(itemName)


    local list2 = {
        -- Solvent
        {"agua natural",        "natural water"},       -- [br.lang.csv] "7949764","0","43241","xxxxxxxx","Consigue agua natural."
        --{"pristine water",    "Agua de Pristina"},    -- [br.lang.csv] "242841733","0","4570","xxxxxxxx", "Água Impecável"
        --{"purified water",    "Agua Purificada"},     -- [br.lang.csv] "242841733","0","23267","xxxxxxxx","purified water"
        --{"Fog",               "Nevoa Nublada"},       -- [br.lang.csv] "242841733","0","23268","xxxxxxxx","cloud mist"

        -- Reagent
        --{"water hyacinth",           "agua de Hyacinth"}, -- [br.lang.csv] "242841733","0","30166","xxxxxxxx","water hyacinth"
        {"raiz de nirn", "nirnroot"},                       -- [br.lang.csv] "7949764","0","44965","xxxxxxxx","Adquira uma Nirnroot" > "Raiz de Nirn"

        --{"elixir de Ravage Magicka", "Elixir Devastador de Magicka"},
        --{"elixir de Magicka",        "elixir de Magia"},
        --{"Veneno de Drenar Saude",   "Pocao de Drenar Saude"},
        --{"de Devasta Saude",         "Devastadora de Saude"},
        --{"gole de Devasta Vigor",    "Gole Devastador de Vigor"},
        --{"de Devasta Vigor",         "Devastadora de Vigor"},
    }
    table.sort(list2, function(valueA, valueB)
        return string.len(valueA[1]) > string.len(valueB[1])
    end)

    for _, value in ipairs(list2) do
        if string.match(itemName, value[1]) then
            local convertedItemName = string.gsub(itemName, value[1], value[2])
            return {itemName, convertedItemName}
        end
    end
    return {itemName}
end

function DailyAlchemy:ConvertedJournalCondition(journalCondition)
    local list = {
        {" ",  " "},   -- code(0xA0) > space(0x20): HTML non-breaking space ?("0xC2 0xA0")
        {"	", ""},    -- code(0x09)
        {"%-", " "},
        {" IX$",         " Ⅸ"},
        {" VIII$",       " Ⅷ"},
        {" VII$",        " Ⅶ"},
        {" VI$",         " Ⅵ"},
        {" IV$",         " Ⅳ"},
        {" V$",          " Ⅴ"},
        {" III$",        " Ⅲ"},
        {" II$",         " Ⅱ"},
        {" I$",          " Ⅰ"},
        {" IX([:%s])",   " Ⅸ%1"},
        {" VIII([:%s])", " Ⅷ%1"},
        {" VII([:%s])",  " Ⅶ%1"},
        {" VI([:%s])",   " Ⅵ%1"},
        {" IV([:%s])",   " Ⅳ%1"},
        {" V([:%s])",    " Ⅴ%1"},
        {" III([:%s])",  " Ⅲ%1"},
        {" II([:%s])",   " Ⅱ%1"},
        {" I([:%s])",    " Ⅰ%1"},
        {"Á",            "A"},
        {"á",            "a"},
        {"ã",            "a"},
        {"ç",            "c"},
        {"ú",            "u"},
        {"í",            "i"},
        {"ê",            "e"},
        {"é",            "e"},
        {"ô",            "o"},

        -- Trait
        --{" Vigor,",       " Vitalidade,"}, -- [br.lang.csv] "156152165","0","29","xxxxxxxx","Vigor" > "Vitalidade"
    }
    for _, value in ipairs(list) do
        journalCondition = string.gsub(journalCondition, value[1], value[2])
    end
    journalCondition = string.lower(journalCondition)


    local list2 = {
        -- Master Writ
        {".*fabrique u%w+ (essencia de devastar vigor) com .* propriedades: (vigor), (.*), (.*)",       "Fabrique |c88AAFF[%1]|r|cFFFFFF...vitalidade, %3, %4|r"},
        {".*fabrique u%w+ (essencia de devastar vigor) com .* tracos:• (vigor)• (.*)• (.*)%c.*",        "Fabrique |c88AAFF[%1]|r|cFFFFFF...vitalidade, %3, %4|r"},
        {".*fabrique u%w+ (veneno devastador de vigor ⅸ) com .* propriedades: (vigor), (.*), (.*)",    "Fabrique |c88AAFF[%1]|r|cFFFFFF...vitalidade, %3, %4|r"},
        {".*fabrique u%w+ (veneno devastador de vigor ⅸ) com .* tracos:• (vigor)• (.*)• (.*)%c.*",     "Fabrique |c88AAFF[%1]|r|cFFFFFF...vitalidade, %3, %4|r"},
        {".*fabrique u%w+ (.*) com .* propriedades: (.*), (.*), (.*)",                                  "Fabrique |c88AAFF[%1]|r|cFFFFFF...%2, %3, %4|r"},
        {".*fabrique u%w+ (.*) com .* tracos:• (.*)• (.*)• (.*)%c.*",                                   "Fabrique |c88AAFF[%1]|r|cFFFFFF...%2, %3, %4|r"},

        -- Dayly
        {".*craft (.*):.*",         "Fabrique |c88AAFF[%1]|r"},
        {".*fabrique u%w+ (.*):.*", "Fabrique |c88AAFF[%1]|r"},
        {".*fabrique u%w+ (.*).*",  "Fabrique |c88AAFF[%1]|r"},
        {".*fabrique (.*)",         "Fabrique |c88AAFF[%1]|r"},
        {".*fabricar u%w+ (.*)",    "Fabrique |c88AAFF[%1]|r"},
        {".*fabricar (.*):.*",      "Fabrique |c88AAFF[%1]|r"},
        {".*fabricar (.*)",         "Fabrique |c88AAFF[%1]|r"},

        {".*adquirir  (.*):.*",     "Adquirir |c88AAFF[%1]|r"},
        {".*adquirir (.*):.*",      "Adquirir |c88AAFF[%1]|r"},
        {".*adquirir (.*)",         "Adquirir |c88AAFF[%1]|r"},
        {".*adquira uma (.*):.*",   "Adquirir |c88AAFF[%1]|r"},
        {".*adquira (.*):.*",       "Adquirir |c88AAFF[%1]|r"},
        {".*consiga (.*):.*",       "Adquirir |c88AAFF[%1]|r"},
        
    }
    for _, value in ipairs(list2) do
        if string.match(journalCondition, value[1]) then
            return string.gsub(journalCondition, value[1], value[2])
        end
    end
    return journalCondition
end

function DailyAlchemy:CraftingConditions()
    local list = {
        "[Ff]abrique",
        "[Ff]abricar",
    }
    return list
end

function DailyAlchemy:isPoison(conditionText)
    local list = {
        "Poison",
        "Veneno",
        "veneno",
    }
    for _, value in ipairs(list) do
        if string.match(conditionText, value) then
            return true
        end
    end
    return false
end

function DailyAlchemy:isAlchemy(journalCondition)
    local list = {
        "Fabrique u%w+ .* com os seguintes traços",             -- [br_client.str] SI_MASTER_WRIT_QUEST_ALCHEMY_FORMAT_STRING = "Fabrique <<1{um/uma}>> <<1>> com os seguintes traços:<<2>><<3>><<4>>\n• Progresso"
        "Comerciantes de Ferraria vendem este Diagrama",        -- [br.lang.csv] "7949764","0","61966","xxxxxxxx","Comerciantes de Ferraria vendem este Diagrama"
        "Comerciantes de costura vendem este Padrao",           -- [br.lang.csv] "7949764","0","61968","xxxxxxxx","Comerciantes de costura vendem este Padrão"
        "Os comerciantes do Carpintaria vendem este Esquema",   -- [br.lang.csv] "7949764","0","61970","xxxxxxxx","Os comerciantes do Carpintaria vendem este Esquema"
        "Carpenters sell this Diagram",                         -- [br.lang.csv] "7949764","0","68075","xxxxxxxx","Carpenters sell this Diagram"
    }
    return self:Contains(journalCondition, list)
end

