#include "platform/i18n.hpp"

#include <string_view>
#include <unordered_map>

namespace poe2::platform {

namespace {

struct TranslationEntry {
    std::string_view vi;
    std::string_view en;
};

const std::unordered_map<std::string_view, TranslationEntry> TRANSLATION_TABLE = {
    {"app_title", {
        "Poe2VisualTool — Bang Dieu Khien Hinh Anh QoL 2026",
        "Poe2VisualTool — Visual QoL Control Center 2026"
    }},
    {"status_attached", {
        "Da gan ket vao Path of Exile 2 [AN TOAN]",
        "Attached to Path of Exile 2 [ACTIVE SAFE]"
    }},
    {"status_detached", {
        "Dang tim tien trinh Path of Exile 2...",
        "Waiting for Path of Exile 2 process..."
    }},
    {"status_panic", {
        "Da hoan nguyen toan bo bo nho ve byte goc (Panic 1-Frame)",
        "Emergency panic restore triggered (1-Frame clean state)"
    }},
    {"license_lifetime", {
        "BAN QUYEN VINH VIEN (LIFETIME)",
        "LIFETIME COMMERCIAL LICENSE"
    }},
    {"license_subscription", {
        "THUE BAO CON HAN",
        "ACTIVE SUBSCRIPTION"
    }},
    {"license_trial", {
        "DUNG THU",
        "TRIAL PERIOD"
    }},
    {"license_unregistered", {
        "CHUA KICH HOAT BAN QUYEN",
        "UNREGISTERED / EXPIRED"
    }},
    {"chk_zoom", {
        "Bat Zoom Tran & Bu Culling zFar (Ctrl + Lan chuot)",
        "Enable Camera Zoom Hack & Dynamic zFar Culling Fix"
    }},
    {"chk_fog", {
        "Xoa Suong Mu The Tich & Ban Do (Tang 15-20% FPS)",
        "Disable Volumetric & Map Fog (+15-20% FPS Boost)"
    }},
    {"chk_minimap", {
        "Tu Dong Mo Sang Toan Bo Minimap & Xoa Vien Xanh",
        "Minimap Full Reveal & Wireframe Shader Patch"
    }},
    {"chk_inspector", {
        "Bat Soi Do & Canh Bao Waystone Brick (Re chuot 180ms)",
        "Item Inspector & Waystone Brick Alert (180ms Hover)"
    }},
    {"chk_streamer", {
        "Che Do Streamer (An khoi OBS & Discord)",
        "Streamer Mode (Exclude Overlay from OBS & Discord)"
    }},
    {"chk_radar", {
        "Bat Radar Dinh Vi POI (Boss, Ruong, Den tho)",
        "Enable POI Radar (Boss, Strongbox, Shrine)"
    }},
    {"chk_colorizer", {
        "Bat To Mau Chi So Trang Bi (Affix Colorizer)",
        "Enable Affix Mod Colorizer"
    }},
    {"chk_particle", {
        "Bat Giam Hieu Ung Hat & Thoi Tiet",
        "Enable Particle & Weather Reducer"
    }},
    {"btn_panic", {
        "⚡ HOAN NGUYEN KHAN CAP (F12)",
        "⚡ PANIC RESTORE (F12)"
    }},
    {"btn_launch", {
        "🚀 Khoi dong Visual Engine",
        "🚀 Launch Visual Engine"
    }},
    {"mod_brick", {
        "NGUY HIEM CHET NGUOI (BRICK)",
        "DEADLY BRICK MOD"
    }},
    {"mod_dangerous", {
        "CANH BAO RUI RO (DANGEROUS)",
        "DANGEROUS MOD"
    }},
    {"mod_reward", {
        "PHAN THUONG GIA TRI (REWARD)",
        "HIGH VALUE REWARD"
    }},
    {"mod_normal", {
        "CHI SO BINH THUONG",
        "NORMAL MOD"
    }},
    {"item_open_prefix", {
        "Prefix con trong",
        "Open Prefixes"
    }},
    {"item_open_suffix", {
        "Suffix con trong",
        "Open Suffixes"
    }},
    {"item_brick_warning", {
        "CANH BAO: Ban do co chua dong chi so gay chet tuc thi!",
        "WARNING: Waystone contains fatal brick modifiers!"
    }},
    {"hwid_label", {
        "Ma phan cung (HWID):",
        "Hardware ID (HWID):"
    }},
    {"key_label", {
        "Ma kich hoat (License Key):",
        "License Key:"
    }}
};

} // namespace

std::string_view I18n::Translate(std::string_view key) const {
    auto it = TRANSLATION_TABLE.find(key);
    if (it != TRANSLATION_TABLE.end()) {
        return (currentLang_ == Language::English) ? it->second.en : it->second.vi;
    }
    return key;
}

} // namespace poe2::platform
