local _, addonTable = ...

addonTable.localization = addonTable.localization or {
    msg =  {},
    tts =  {},
    chat = {},
}
local localization = addonTable.localization

-- Replica to Localized Text
MerfinLocalize = function(replica)
    local source = localization.msg[Merfin.GetLocale()] or localization.msg['enUS']
    return (source and source[replica]) or replica
end

-- Replica to localized Text and Text to Speech
MerfinChatMSG = function(message, chatType, ...)
    local locale = Merfin.GetLocale()
    local source = localization.chat[locale] or localization.chat['enUS']
    message = (source and source[message]) or message
    
    -- Форматирование сообщения с дополнительными аргументами, если они есть
    if ... then
        message = string.format(message, ...)
    end

    -- Проверка на наличие маркеров от {rt1} до {rt8} и замена их на локализованные значения, если локализация 'ruRU'
    if locale == 'ruRU' then
        message = message:gsub("({rt%d})", function(marker)
            -- Печать для отладки, чтобы видеть маркер перед заменой
            return addonTable.localization.chat['ruRU'][marker] or marker
        end)
        -- Печать для отладки, чтобы видеть итоговое сообщение
    end

    -- Отправка сообщения в чат
    SendChatMessage(message, chatType or 'SAY')
end