import json
import re
import sys
from pathlib import Path

# All 143 keys and translations:
# format: [key, vi, en, zh, ja, ko, th, de, ru, es]
ENTRIES = [
    # 1. Identity & Player (3 keys)
    ["char_name", "Lưu Đày", "Exile", "流放者", "流刑者", "유배자", "ผู้เนรเทศ", "Verbannter", "Изгнанник", "Exiliado"],
    ["char_status_tooltip_title", "Lưu Đày", "Exile", "流放者", "流刑者", "유배자", "ผู้เนรเทศ", "Verbannter", "Изгнанник", "Exiliado"],
    ["char_status_tooltip_desc", "Trạng thái sinh mệnh và nội lực của nhân vật.", "Current health, mana, and survivor attributes.", "显示当前生命、内力与角色生存属性。", "現在の生命力、内力、生存ステータス。", "현재 생명력, 마나 및 생존 속성입니다.", "แสดงพลังชีวิต มานา และสถานะการเอาชีวิตรอด", "Zeigt aktuelle Lebenskraft, Mana und Werte.", "Текущее здоровье, мана и боевые показатели.", "Muestra salud, maná y atributos de supervivencia."],

    # 2. Canonical NPCs (24 keys)
    ["npc_van_gioi_thuong_nhan_name", "Cẩu Khấu", "Kou", "苟寇", "コウ", "구구", "เกาเคา", "Kou", "Коу", "Kou"],
    ["npc_van_gioi_thuong_nhan_title", "Hắc Thị", "Scavenger", "黑市商", "闇商人", "암시장상", "พ่อค้ามืด", "Plünderer", "Торгаш", "Traficante"],
    ["npc_van_gioi_thuong_nhan_service", "Hắc Thị", "Bazaar", "黑市", "闇市", "암시장", "ตลาดมืด", "Basar", "Базар", "Bazar"],

    ["npc_thiet_tuong_au_da_tu_name", "Huyết Đồ", "Blood Smith", "血徒", "血徒", "혈도", "ช่างโลหิต", "Blutschmied", "Кровокузнец", "Herrero Sangre"],
    ["npc_thiet_tuong_au_da_tu_title", "Thợ Rèn", "Bone Smith", "骨铁匠", "骨鍛冶", "골철장인", "ช่างกระดูก", "Knochenschmied", "Кузнец", "Herrero Hueso"],
    ["npc_thiet_tuong_au_da_tu_service", "Lò Rèn", "Forging", "锻造", "鍛造", "제련", "หลอมเหล็ก", "Schmiede", "Ковка", "Forja"],

    ["npc_chan_vo_truyen_thua_name", "Huyết Vu", "Bloodwitch", "血巫", "血巫", "혈무", "แม่มดโลหิต", "Bluthexe", "Кровавая Ведьма", "Bruja Sangre"],
    ["npc_chan_vo_truyen_thua_title", "Tế Cốt", "Bone Priest", "祭骨长", "骨祭長", "골제장로", "ผู้อาวุโส", "Knochenpriester", "Жрец Костей", "Sacerdote Hueso"],
    ["npc_chan_vo_truyen_thua_service", "Ma Đồ", "Bone Matrix", "魔图", "魔図", "마도", "แผนภูมิมาร", "Knochenmatrix", "Матрица", "Matriz Hueso"],

    ["npc_doc_co_tan_kiem_name", "Độc Cốt", "Poison Bone", "毒骨", "毒骨", "독골", "กระดูกพิษ", "Giftbein", "Ядокост", "Hueso Venenoso"],
    ["npc_doc_co_tan_kiem_title", "Gọt Xương", "Bonecarver", "削骨客", "骨削師", "뼈깎이", "ช่างกระดูก", "Knochenschnitzer", "Косторез", "Tallador Huesos"],
    ["npc_doc_co_tan_kiem_service", "Khế Ước", "Covenant", "契约", "契約", "서약", "พันธสัญญา", "Bund", "Пакт", "Pacto"],

    ["npc_sa_mac_du_than_name", "Cuồng Nhân", "Zealot", "狂人", "狂人", "광인", "คนคลั่ง", "Sandsturm-Eremit", "Фанатик", "Zelote"],
    ["npc_sa_mac_du_than_title", "Ẩn Sĩ", "Hermit", "隐士", "隠者", "은둔자", "ฤๅษี", "Eremit", "Отшельник", "Ermitaño"],
    ["npc_sa_mac_du_than_service", "Kỳ Duyên", "Serendipity", "奇缘", "奇縁", "기연", "วาสนา", "Fügung", "Провидение", "Serendipia"],

    ["npc_hideout_merchant_name", "Cẩu Khấu", "Kou", "苟寇", "コウ", "구구", "เกาเคา", "Kou", "Коу", "Kou"],
    ["npc_hideout_merchant_title", "Ký Gửi", "Vault Keeper", "寄售使", "委託人", "위탁상", "ผู้รับฝาก", "Kommissionär", "Хранитель", "Guardián"],
    ["npc_hideout_merchant_service", "Ký Gửi", "Consignment", "寄售", "委託", "위탁", "ฝากขาย", "Kommission", "Комиссия", "Consignación"],

    ["npc_bach_hieu_sinh_name", "Hiểu Sinh", "Informant", "晓生", "情報通", "효생", "ผู้รู้แจ้ง", "Informant", "Осведомитель", "Informante"],
    ["npc_bach_hieu_sinh_title", "Săn Tin", "Scout", "斥候", "斥候", "척후", "สายสืบ", "Kundschafter", "Разведчик", "Explorador"],
    ["npc_bach_hieu_sinh_service", "Tin Tức", "Intel", "情报", "情報", "정보", "ข่าวสาร", "Nachrichten", "Разведка", "Informes"],

    ["npc_tieu_dau_lao_ma_name", "Lão Mã", "Old Ma", "老马", "老馬", "노마", "ม้าเฒ่า", "Alter Ma", "Старый Ма", "Viejo Ma"],
    ["npc_tieu_dau_lao_ma_title", "Trinh Sát", "Tracker", "向导", "案内人", "안내인", "พรานป่า", "Fährtenleser", "Следопыт", "Rastreador"],
    ["npc_tieu_dau_lao_ma_service", "Dẫn Đường", "Guidance", "引路", "案内", "안내", "นำทาง", "Wegführung", "Проводник", "Guía"],

    # 3. Monster Entities (2 keys)
    ["mob_bone_hound", "Thi Cẩu", "Bone Hound", "尸狗", "屍犬", "시구", "สุนัขกระดูก", "Knochenhund", "Костяной Пес", "Sabueso Óseo"],
    ["hound_elite", "[Lv.85] Thi Cẩu", "[Lv.85] Bone Hound", "[Lv.85] 尸狗", "[Lv.85] 屍犬", "[Lv.85] 시구", "[Lv.85] สุนัขกระดูก", "[Lv.85] Knochenhund", "[Lv.85] Костяной Пес", "[Lv.85] Sabueso Óseo"],

    # 4. Interactions & World Waygates (8 keys)
    ["interaction_step_through_portal", "Qua Cổng", "Enter Portal", "进门", "潜る", "입장", "เข้าประตู", "Portal betreten", "Войти", "Entrar"],
    ["interaction_dialogue", "Đối Thoại", "Dialogue", "对话", "対話", "대화", "สนทนา", "Dialog", "Диалог", "Diálogo"],
    ["interaction_f_prompt", "[F] {name} - {service}", "[F] {name} - {service}", "[F] {name} - {service}", "[F] {name} - {service}", "[F] {name} - {service}", "[F] {name} - {service}", "[F] {name} - {service}", "[F] {name} - {service}", "[F] {name} - {service}"],
    ["interaction_too_far", "Quá xa!", "Too far!", "距离太远！", "遠すぎます！", "너무 멉니다!", "ไกลเกินไป!", "Zu weit!", "Слишком далеко!", "¡Demasiado lejos!"],
    ["portal_map_device_active", "Vào Tàn Đồ [{count}/6]", "Enter Atlas [{count}/6]", "进入残图 [{count}/6]", "残図入場 [{count}/6]", "아틀라스 입장 [{count}/6]", "เข้าแผนภูมิ [{count}/6]", "Atlas betreten [{count}/6]", "Вход в атлас [{count}/6]", "Entrar atlas [{count}/6]"],
    ["portal_map_device_idle", "Kích Hoạt", "Activate Device", "激活设备", "起動する", "장치 가동", "เปิดอุปกรณ์", "Gerät aktivieren", "Активировать", "Activar artilugio"],
    ["portal_world_gate", "Giới Môn: {zone}", "Waygate: {zone}", "界门: {zone}", "界門: {zone}", "차원문: {zone}", "ประตูมิติ: {zone}", "Tor: {zone}", "Врата: {zone}", "Portal: {zone}"],
    ["portal_quest_gate", "Bí Cảnh: {quest}", "Chamber: {quest}", "秘境: {quest}", "秘境: {quest}", "비경: {quest}", "ห้องลับ: {quest}", "Kammer: {quest}", "Палата: {quest}", "Cámara: {quest}"],
    ["portal_wilderness_return", "Doanh Trại", "Return Encampment", "回营地", "陣営帰還", "진영 복귀", "กลับค่าย", "Lager zurück", "В лагерь", "Volver campamento"],

    # 5. Combat & Action Controls (12 keys)
    ["dodge", "NÉ", "DODGE", "闪避", "回避", "회피", "หลบ", "AUSWEICHEN", "УКЛОНЕНИЕ", "ESQUIVAR"],
    ["skill_fire", "Tà Hỏa", "Infernal Slash", "邪火", "邪火", "사화", "เพลิงมาร", "Höllenhieb", "Пламя", "Tajo Fuego"],
    ["skill_thunder", "Huyết Lôi", "Blood Lightning", "血雷", "血雷", "혈뢰", "สายฟ้าเลือด", "Blutblitz", "Молния", "Rayo Sangre"],
    ["skill_frost", "Hàn Băng", "Glacial Freeze", "寒冰", "寒氷", "한빙", "น้ำแข็ง", "Gletscherfrost", "Лед", "Hielo Glacial"],
    ["tooltip_skill_q_title", "Liệt Huyết", "Blood Cleave", "烈血斩", "烈血斬", "열혈참", "เฉือนเลือด", "Bluthieb", "Кровавый Разрез", "Tajo Sangriento"],
    ["tooltip_skill_q_desc", "Trảm hỏa diện rộng, gây sát thương Hỏa và thiêu đốt.", "Area fire slash dealing heavy Fire damage and burning.", "大范围火焰斩击，造成火焰伤害并附加燃烧。", "広範囲の炎斬撃で火炎ダメージと火傷を付与。", "광범위 화염 참격으로 화염 피해 및 연소 부여.", "ฟันไฟเป็นวงกว้าง สร้างดาเมจไฟและเผาไหม้", "Flächen-Feuerhieb mit Feuerschaden und Brennen.", "Удар огнем по площади с уроном и поджогом.", "Corte de fuego en área que inflige daño y quemadura."],
    ["tooltip_skill_w_title", "Huyết Lôi", "Blood Lightning", "血雷击", "血雷撃", "혈뢰격", "สายฟ้าเลือด", "Blutblitz", "Кровавая Молния", "Rayo Sangriento"],
    ["tooltip_skill_w_desc", "Phóng tia Huyết Lôi xuyên thấu, gây sát thương và làm choáng.", "Piercing blood lightning dealing damage and stunning foes.", "穿透性血雷射线，造成巨额伤害并眩晕敌人。", "貫通血雷を放ち、ダメージと気絶を与える。", "관통 혈뢰를 발사해 피해를 주고 기절시킵니다.", "ยิงสายฟ้าแทงทะลุ สร้างดาเมจและทำให้ศัตรูมึน", "Durchdringender Blutblitz mit Schaden und Betäubung.", "Пронзающая кровавая молния с оглушением врагов.", "Rayo perforante que causa daño y aturde enemigos."],
    ["tooltip_skill_e_title", "Hủ Cốt", "Glacial Frost", "腐骨寒", "腐骨寒", "부골한", "กระดูกเย็น", "Gletscherfrost", "Ледяной Холод", "Escarcha Glacial"],
    ["tooltip_skill_e_desc", "Băng tỏa diện rộng, gây sát thương Hàn và làm chậm.", "Area frost wave dealing Cold damage and slowing enemies.", "大范围寒冰波动，造成冰霜伤害并减速敌人。", "広範囲の氷結波で冷気ダメージと減速を付与。", "광범위 한빙 파동으로 냉기 피해 및 감속 부여.", "คลื่นน้ำแข็งกว้าง สร้างดาเมจเย็นและทำให้ช้า", "Flächen-Frostwelle mit Kälteschaden und Verlangsamung.", "Ледяная волна по области с уроном холодом и замедлением.", "Ola de frío en área que inflige daño y ralentiza."],
    ["tooltip_skill_dodge_title", "Báo Bộ", "Savage Evasion", "豹步", "豹歩", "표보", "ก้าวเสือดาว", "Ausweichrolle", "Кувырок", "Evasión Feral"],
    ["tooltip_skill_dodge_desc", "Lướt né tức thì, nhận 0.25s bất hoại tránh mọi đòn đánh.", "Quick evasion roll granting 0.25s invulnerability frames.", "瞬时翻滚回避，获得0.25秒无敌帧躲避所有攻击。", "瞬時回避を行い0.25秒の無敵フレームで全攻撃を回避。", "즉시 구르기 회피로 0.25초간 무적 상태가 됩니다.", "กลิ้งหลบทันที รับสถานะอมตะ 0.25 วินาที", "Schnelle Ausweichrolle mit 0.25s Unverwundbarkeit.", "Быстрый кувырок с 0.25с неуязвимости от всех атак.", "Rueda evasiva rápida con 0.25s de invulnerabilidad."],

    # 6. HUD Header Tooltips (30 keys)
    ["tooltip_hideout_title", "Động Thiên", "Hideout", "洞天", "隠れ家", "은신처", "ที่ซ่อน", "Versteck", "Убежище", "Guarida"],
    ["tooltip_hideout_desc", "Vùng an toàn, mở Tinh Đồ Nghi và cổng dịch chuyển.", "Safe refuge housing 6-portal Map Device and wayposts.", "安全避难所，配备六门星图仪与传送道标。", "安全な隠れ家に6ポータル地図装置と転移門を配置。", "안전 지대로 6포털 지도 장치와 포털을 엽니다.", "ที่หลบภัย ปลอดภัย พร้อมอุปกรณ์แผนที่ 6 ประตู", "Sichere Zuflucht mit 6-Portal-Kartenapparat.", "Безопасное убежище с прибором карт на 6 порталов.", "Refugio seguro con artilugio de mapas de 6 portales."],

    ["tooltip_worldmap_title", "Bản Đồ", "World Map", "地图", "地図", "지도", "แผนที่", "Weltkarte", "Карта", "Mapa"],
    ["tooltip_worldmap_desc", "Xem bản đồ các phân khu và dịch chuyển tức thời.", "Display world zones and fast travel across wayposts.", "查看大世界分区全貌并通过道标即时传送。", "ワールド全域を表示し、道標で瞬時に転移。", "전체 월드 구역을 확인하고 거점으로 순간이동.", "ดูแผนที่โซนและเดินทางข้ามจุดวาปทันที", "Zonen der Weltkarte anzeigen und Schnellreise nutzen.", "Просмотр зон мира и быстрое перемещение.", "Muestra zonas del mundo y viaje rápido por portales."],

    ["tooltip_atlas_title", "Tàn Đồ", "Atlas", "残图", "地図帳", "아틀라스", "แผนภูมิ", "Atlas", "Атлас", "Atlas"],
    ["tooltip_atlas_desc", "Hệ thống tàn đồ vô hạn với cơ chế phân nhánh ngẫu nhiên.", "Infinite procedural endgame map tree with depth scaling.", "无限深度程序化终局地图树与随机机制。", "深度に応じて分岐する無限エンドゲーム地図樹。", "심도에 따라 분기하는 무한 엔드게임 지도 트리.", "ระบบแผนที่ไม่มีที่สิ้นสุดพร้อมกลไกสุ่ม", "Unendlicher prozeduraler Endgame-Kartenbaum.", "Бесконечное древо карт эндгейма со случайными механиками.", "Árbol procedural infinito de mapas de final del juego."],

    ["tooltip_war_fog_title", "Sương Mù", "War Fog", "迷雾", "戦場の霧", "전장의 안개", "หมอกสงคราม", "Kriegsnebel", "Туман Войны", "Niebla Guerra"],
    ["tooltip_war_fog_desc", "Mê cung sương mù ngẫu nhiên với cơ chế tầm nhìn thực.", "Procedural maze featuring authoritative line-of-sight.", "动态迷宫与服务端真实现野阻挡机制。", "視界判定を備えた動的プロシージャル迷路。", "시야 차단 판정을 갖춘 무작위 미궁 탐험.", "เขาวงกตหมอกสุ่มพร้อมระบบการมองเห็นจริง", "Prozedurales Labyrinth mit Sichtlinien-Mechanik.", "Случайный лабиринт с механикой прямой видимости.", "Laberinto procedural con línea de visión del servidor."],

    ["tooltip_dungeon_title", "Phó Bản", "Dungeon", "副本", "地下牢", "던전", "ดันเจี้ยน", "Gewölbe", "Подземелье", "Mazmorra"],
    ["tooltip_dungeon_desc", "Khiêu chiến 50 tầng tháp ngục và mật thất trùm.", "50-floor challenge dungeon and hidden boss chambers.", "挑战50层封魔高塔与远古首领密室。", "50層の試練ダンジョンと隠しボス玄室に挑戦。", "50층 도전 던전과 숨겨진 보스 밀실에 도전.", "ท้าทายดันเจี้ยน 50 ชั้นและห้องบอสลับ", "50-Ebenen-Prüfungsgewölbe und geheime Bosskammern.", "Испытание 50 этажей подземелья и секретные боссы.", "Desafío de mazmorra de 50 pisos y salas de jefes."],

    ["tooltip_quests_title", "Nhiệm Vụ", "Quests", "任务", "任務", "퀘스트", "เควสต์", "Quests", "Задания", "Misiones"],
    ["tooltip_quests_desc", "Theo dõi tiến độ cốt truyện, khế ước và mốc thưởng.", "Track campaign story progression and bounty rewards.", "追踪主线剧情章节进度、赏金契约与里程碑。", "メインシナリオ進捗、懸賞契約、報酬を確認。", "캠페인 스토리 진행 상황과 현상금 서약 추적.", "ติดตามความคืบหน้าเนื้อเรื่องและรางวัลสัญญา", "Kampagnenfortschritt, Kopfgelder und Meilensteine.", "Отслеживание сюжета, охотничьих контрактов и наград.", "Sigue el progreso de la historia y recompensas."],

    ["tooltip_weapon_swap_title", "Song Binh", "Weapon Swap", "换武", "武器切替", "무기교체", "สลับอาวุธ", "Waffenwechsel", "Смена Оружия", "Cambiar Armas"],
    ["tooltip_weapon_swap_desc", "Chuyển đổi tức thì giữa vũ khí chính và phụ.", "Instantly switch between primary and secondary weapons.", "瞬间切换主手与副手武器配置。", "メイン武器とサブ武器を瞬時に切り替え。", "주 무기와 보조 무기를 즉시 교체합니다.", "สลับอาวุธหลักและอาวุธรองทันที", "Sofortiger Wechsel zwischen Primär- und Sekundärwaffe.", "Быстрое переключение между основным и запасным оружием.", "Cambia al instante entre armas primarias y secundarias."],

    ["tooltip_meridian_title", "Ma Đồ", "Bone Matrix", "魔图", "魔図", "마도", "แผนภูมิมาร", "Passivmatrix", "Матрица", "Matriz"],
    ["tooltip_meridian_desc", "Bảng thiên phú 1.500 nút bổ trợ chỉ số và nội tại.", "Passive tree with 1,500 stat and attribute nodes.", "蕴含1500个属性节点与体魄专精的被动星图。", "1500個の属性・能力ノードを持つパッシブツリー。", "1,500개의 능력치 및 특성 노드를 가진 패시브 트리.", "ตารางพรสวรรค์ 1,500 โหนดเพิ่มสเตตัสและติดตัว", "Passiver Talentbaum mit 1.500 Eigenschaftsknoten.", "Пассивное древо с 1500 узлами характеристик.", "Árbol pasivo con 1.500 nodos de atributos y mejoras."],

    ["tooltip_vault_title", "Rương Đồ", "Vault", "宝库", "保管庫", "보관함", "คลังเก็บของ", "Truhe", "Хранилище", "Bóveda"],
    ["tooltip_vault_desc", "Kho lưu trữ vật phẩm cá nhân và chia sẻ bang hội.", "Personal storage vault and shared guild stash tabs.", "个人仓储空间与公会共享防复制保险库。", "個人倉庫および複製防止ギルド共有保管庫。", "개인 창고 및 복사 방지 길드 공유 보관함.", "คลังเก็บของส่วนตัวและแชร์ร่วมกับกิลด์", "Persönlicher Tresor und geteilte Gildentruhe.", "Личное хранилище и общие вкладки гильдии.", "Almacén personal y pestañas compartidas de gremio."],

    ["tooltip_agent_orb_title", "Chiến Hồn", "War Soul", "战魂", "戦魂", "전혼", "วิญญาณศึก", "Kriegsseele", "Боевая Душа", "Alma Guerra"],
    ["tooltip_agent_orb_desc", "Cơ chế tự hành hỗ trợ di chuyển, chiến đấu và nhặt đồ.", "Autonomous delegation for combat and loot salvage.", "自动化野性战斗委托、走位与资源拾取。", "自律戦闘、回避、ドロップ品回収の委託機能。", "전투, 회피, 전리품 회수를 수행하는 자율 위임.", "ระบบอัตโนมัติช่วยเดิน ต่อสู้ และเก็บไอเทม", "Autonome Delegation für Kampf und Beutesammeln.", "Автономное управление для боя и сбора добычи.", "Delegación autónoma para combate y recogida de botín."],

    ["tooltip_season_title", "Mùa Giải", "Season", "赛季", "シーズン", "시즌", "ซีซัน", "Saison", "Сезон", "Temporada"],
    ["tooltip_season_desc", "Thông tin mùa giải xếp hạng và cơ chế rương Chỉ Rút.", "Seasonal league status and remove-only stash rules.", "天梯赛季状态与赛季末只取不存仓库规则。", "シーズンリーグ状況と引き出し専用倉庫のルール。", "시즌 리그 현황 및 인출 전용 보관함 규칙 안내.", "ข้อมูลซีซันจัดอันดับและกฎคลังถอนออกเท่านั้น", "Saisonliga-Status und Nur-Herausnehmen-Truhenregeln.", "Статус сезона и правила вкладок только для извлечения.", "Estado de liga de temporada y reglas de solo retirar."],

    ["tooltip_megashop_title", "Hắc Thị", "Bazaar", "黑市", "闇市", "암시장", "ตลาดมืด", "Basar", "Базар", "Bazar"],
    ["tooltip_megashop_desc", "Cửa hàng ngoại trang và tiện ích, tuyệt đối không P2W.", "Cosmetics and utility bazaar with strictly zero pay-to-win.", "外观饰品与便利集市，严守零氪金数值原则。", "外見装備や便利品を扱いPay-to-Win要素は完全排除。", "외형 및 편의 아이템 상점, P2W 요소 절대 배제.", "ร้านค้าสกินและสิ่งอำนวยความสะดวก ไม่เติมเพื่อชนะ", "Kosmetik- und Komfortbasar, strikt ohne Pay-to-Win.", "Косметика и удобства, строго без преимуществ за деньги.", "Bazar de cosméticos y utilidad, sin ventajas de pago."],

    ["tooltip_account_title", "Tài Khoản", "Account", "账号", "アカウント", "계정", "บัญชี", "Konto", "Аккаунт", "Cuenta"],
    ["tooltip_account_desc", "Quản lý hồ sơ nhân vật, bảo mật và tài khoản.", "Manage character profile, credentials, and security.", "管理角色档案、安全凭证与账号权限。", "キャラクター情報、認証情報、セキュリティ管理。", "캐릭터 프로필, 인증 정보 및 보안 설정 관리.", "จัดการโปรไฟล์ตัวละคร ความปลอดภัย และบัญชี", "Charakterprofil, Zugangsdaten und Sicherheit verwalten.", "Управление профилем персонажа и безопасностью аккаунта.", "Gestiona el perfil de personaje y seguridad de cuenta."],

    ["tooltip_settings_title", "Cài Đặt", "Settings", "设置", "設定", "설정", "ตั้งค่า", "Optionen", "Настройки", "Ajustes"],
    ["tooltip_settings_desc", "Tùy chỉnh đồ họa 120 FPS, âm thanh và gửi góp ý.", "Configure 120 FPS visuals, audio, and feedback.", "调节120帧画面表现、音量大小及提交反馈。", "120FPS画質、音量設定、不具合報告やご意見の送信。", "120 FPS 그래픽, 오디오 설정 및 피드백 전송.", "ปรับกราฟิก 120 FPS เสียง และส่งข้อเสนอแนะ", "120 FPS Grafik, Audio anpassen und Feedback senden.", "Настройка графики 120 FPS, звука и отправка отзывов.", "Configura gráficos a 120 FPS, audio y comentarios."],

    ["tooltip_lang_title", "Ngôn Ngữ", "Language", "语言", "言語", "언어", "ภาษา", "Sprache", "Язык", "Idioma"],
    ["tooltip_lang_desc", "Lựa chọn ngôn ngữ hiển thị hệ thống.", "Select display language for the game interface.", "选择游戏客户端系统界面的显示语言。", "ゲーム内の表示言語を切り替えます。", "게임 인터페이스에 표시할 언어를 선택합니다.", "เลือกภาษาที่ใช้แสดงผลในเกม", "Wählen Sie die Anzeigesprache der Benutzeroberfläche.", "Выберите язык интерфейса игры.", "Selecciona el idioma de la interfaz del juego."],

    # 7. 6 Restored HUD Keys (6 keys)
    ["tooltip_divine_vault_title", "Bảo Giám", "Relic Vault", "宝鉴", "宝鑑", "보감", "คลังสมบัติ", "Reliquientruhe", "Реликвии", "Reliquias"],
    ["tooltip_divine_vault_desc", "Tra cứu thần binh cổ truyền và đá huyết chế tác.", "Browse divine weapons and crafting bloodstones.", "查阅传世神兵与核心打造血石图鉴。", "古代神器と鍛造血石の図鑑を閲覧。", "전설 신기와 제작 혈석 도감을 확인합니다.", "ดูข้อมูลอาวุธเทวะและหินเลือดสร้างของ", "Göttliche Waffen und Handwerks-Blutsteine einsehen.", "Просмотр древнего оружия и камней крови для крафта.", "Explora armas divinas y piedras de sangre de forja."],

    ["tooltip_character_title", "Nhân Vật", "Character", "角色", "キャラクター", "캐릭터", "ตัวละคร", "Charakter", "Персонаж", "Personaje"],
    ["tooltip_character_desc", "Quản lý trang bị trên người và chỉ số thuộc tính.", "Manage equipped gear and core character attributes.", "管理身上佩戴装备与角色核心属性面板。", "装備スロットとコア属性ステータスを管理。", "착용 장비와 캐릭터 핵심 능력치를 관리합니다.", "จัดการอุปกรณ์ที่สวมใส่และสเตตัสหลัก", "Ausrüstung und Kernwerte des Charakters verwalten.", "Управление экипировкой и параметрами персонажа.", "Gestiona el equipo puesto y atributos del personaje."],

    ["tooltip_bag_title", "Hành Trang", "Backpack", "背包", "バッグ", "가방", "กระเป๋า", "Rucksack", "Рюкзак", "Mochila"],
    ["tooltip_bag_desc", "Quản lý 40 ô vật phẩm trong hành trang sinh tồn.", "Manage 40 inventory slots in the survival backpack.", "管理生存背包内的40格物品栏空间。", "40スロットのサバイバルインベントリを管理。", "생존 가방 내 40칸의 인벤토리를 관리합니다.", "จัดการไอเทม 40 ช่องในกระเป๋าเอาชีวิตรอด", "40 Gegenstandsplätze im Überlebensrucksack verwalten.", "Управление 40 ячейками походного рюкзака.", "Gestiona 40 casillas de objetos en la mochila."],

    # 8. Telemetry & Agent Stance (4 keys)
    ["telemetry_agent_orb", "Chiến Hồn", "War Soul", "战魂", "戦魂", "전혼", "วิญญาณศึก", "Kriegsseele", "Боевая Душа", "Alma Guerra"],
    ["agent_stance_combat", "Chiến Đấu", "Combat", "战斗", "戦闘", "전투", "ต่อสู้", "Kampf", "Бой", "Combate"],
    ["agent_stance_salvage", "Thu Hoạch", "Salvage", "搜集", "収集", "수집", "เก็บของ", "Sammeln", "Сбор", "Recolección"],
    ["agent_btn_revoke", "Thu Hồi", "Recall", "召回", "撤回", "회수", "เรียกคืน", "Rückruf", "Отозвать", "Retirar"],

    # 9. Modals (Titles & Subtitles) (14 keys)
    ["modal_meridian_title", "Ma Đồ", "Bone Matrix", "魔图", "魔図", "마도", "แผนภูมิมาร", "Knochenmatrix", "Матрица", "Matriz"],
    ["modal_vault_title", "Hắc Thị", "Bazaar", "黑市", "闇市", "암시장", "ตลาดมืด", "Basar", "Базар", "Bazar"],
    ["modal_forge_title", "Lò Rèn", "Forge", "熔炉", "炉", "용광로", "เตาหลอม", "Schmiede", "Кузница", "Forja"],
    ["modal_hideout_title", "Động Thiên", "Hideout", "洞天", "隠れ家", "은신처", "ที่ซ่อน", "Versteck", "Убежище", "Guarida"],
    ["modal_worldmap_title", "Bản Đồ", "World Map", "地图", "地図", "지도", "แผนที่", "Weltkarte", "Карта", "Mapa"],
    ["modal_dungeon_title", "Phó Bản", "Dungeon", "副本", "地下牢", "던전", "ดันเจี้ยน", "Gewölbe", "Подземелье", "Mazmorra"],
    ["modal_quests_title", "Nhiệm Vụ", "Quests", "任务", "任務", "퀘스트", "เควสต์", "Quests", "Задания", "Misiones"],
    ["modal_season_title", "Mùa Giải", "Season", "赛季", "シーズン", "시즌", "ซีซัน", "Saison", "Сезон", "Temporada"],
    ["modal_megashop_title", "Hắc Thị", "Bazaar", "黑市", "闇市", "암시장", "ตลาดมืด", "Basar", "Базар", "Bazar"],
    ["modal_megashop_subtitle", "Thương Trạm • Zero P2W", "Bazaar • Zero P2W", "集市 • 零氪金", "交易所 • P2Wなし", "교역소 • 무과금", "ตลาดค้า • ไร้ P2W", "Basar • Kein P2W", "Базар • Без P2W", "Bazar • Sin P2W"],
    ["modal_settings_title", "Cài Đặt", "Settings", "设置", "設定", "설정", "ตั้งค่า", "Optionen", "Настройки", "Ajustes"],
    ["modal_feedback_title", "Góp Ý", "Feedback", "反馈", "意見", "피드백", "ข้อเสนอแนะ", "Feedback", "Отзыв", "Comentarios"],
    ["modal_account_title", "Tài Khoản", "Account", "账号", "アカウント", "계정", "บัญชี", "Konto", "Аккаунт", "Cuenta"],
    ["modal_dialogue_title", "Đối Thoại", "Dialogue", "对话", "対話", "대화", "สนทนา", "Dialog", "Диалог", "Diálogo"],

    # 10. Buttons & Tabs & Buyout (12 keys)
    ["buyout", "Mua Ngay", "Buyout", "秒杀", "即時購入", "즉시구매", "ซื้อทันที", "Sofortkauf", "Выкуп", "Compra Rápida"],
    ["dialogue_btn_close", "Đóng", "Close", "关闭", "閉じる", "닫기", "ปิด", "Schließen", "Закрыть", "Cerrar"],
    ["dialogue_btn_leave", "Rời đi", "Leave", "离开", "立ち去る", "떠나기", "ออกไป", "Verlassen", "Уйти", "Salir"],
    ["vault_tab_market", "🏛️ Kỳ Trân", "🏛️ Market", "🏛️ 奇珍", "🏛️ 奇珍", "🏛️ 기진", "🏛️ ตลาด", "🏛️ Markt", "🏛️ Рынок", "🏛️ Mercado"],
    ["vault_tab_guild", "🛡️ Bang Hội", "🛡️ Guild", "🛡️ 帮派", "🛡️ ギルド", "🛡️ 길드", "🛡️ กิลด์", "🛡️ Gilde", "🛡️ Гильдия", "🛡️ Gremio"],
    ["vault_tab_stats", "📜 Tu Vi", "📜 Stats", "📜 修为", "📜 修練", "📜 수련", "📜 สถานะ", "📜 Status", "📜 Статы", "📜 Atributos"],
    ["shop_tab_coins", "🪙 Huyết Tệ", "🪙 Coins", "🪙 血币", "🪙 血貨", "🪙 혈화", "🪙 เหรียญเลือด", "🪙 Münzen", "🪙 Монеты", "🪙 Monedas"],
    ["shop_tab_skins", "⚔️ Ngoại Trang", "⚔️ Skins", "⚔️ 外观", "⚔️ 外見", "⚔️ 외형", "⚔️ สกิน", "⚔️ Skins", "⚔️ Облики", "⚔️ Diseños"],
    ["shop_tab_chests", "📦 Cốt Hạp", "📦 Chests", "📦 骨匣", "📦 骨箱", "📦 골함", "📦 กล่องกระดูก", "📦 Truhen", "📦 Сундуки", "📦 Cofres"],
    ["shop_tab_items", "🎒 Sinh Tồn", "🎒 Bundles", "🎒 生存", "🎒 生存", "🎒 생존", "🎒 รอดชีวิต", "🎒 Pakete", "🎒 Наборы", "🎒 Paquetes"],
    ["shop_tab_passes", "📜 Chiến Lệnh", "📜 Battle Pass", "📜 战令", "📜 戦令", "📜 배틀패스", "📜 แบทเทิลพาส", "📜 Kampfpass", "📜 Боевой Пропуск", "📜 Pase Batalla"],
    ["dialogue_select", "Chọn ↵", "Select ↵", "选择 ↵", "選択 ↵", "선택 ↵", "เลือก ↵", "Wählen ↵", "Выбрать ↵", "Elegir ↵"],

    # 11. System Notices (4 keys)
    ["notice_forge_active", "Lò rèn đã nóng rực, sẵn sàng khảm đúc trang bị.", "The forge is blazing and ready for crafting.", "熔炉已点燃，随时可以进行装备锻造。", "炉が激しく燃え盛り、装備鍛造の準備完了。", "용광로가 타올라 장비 제작 준비가 되었습니다.", "เตาหลอมร้อนแรง พร้อมสำหรับการสร้างอุปกรณ์", "Die Schmiede brennt und ist bereit.", "Кузница пылает и готова к ковке снаряжения.", "La forja arde y está lista para crear equipo."],
    ["notice_quest_doc_co", "Đã nhận khế ước săn diệt bầy Thi Cẩu.", "Accepted covenant to hunt the Bone Hounds.", "已接下猎杀腐骨尸狗群的血誓契约。", "腐食屍犬の群れを討伐する契約を受諾。", "시구 무리 토벌 서약을 수락했습니다.", "รับพันธสัญญาล่าฝูงสุนัขกระดูกแล้ว", "Bund zur Jagd auf Knochenhunde angenommen.", "Принят контракт на охоту за костяными псами.", "Aceptado el pacto para cazar sabuesos óseos."],
    ["notice_secret_hint", "Đã kích hoạt manh mối ẩn tại Cổ Kiếm Trũng.", "Unlocked secret clue at Ancient Sword Abyss.", "已触发古剑冢隐藏遗迹线索。", "古剣塚の隠し手掛かりを発見。", "고검총 숨겨진 단서를 발견했습니다.", "เปิดเบาะแสลับในหุบเหวกระบี่โบราณแล้ว", "Geheimer Hinweis in Schwertschlucht entdeckt.", "Открыта секретная зацепка в древней бездне.", "Pista secreta descubierta en fosa de espadas."],
    ["notice_wine_delivered", "Đã dâng Hỗn Nguyên Huyết Tửu, dị tượng mở lối.", "Offered Blood Wine, parting the dust storm.", "已奉上混元血酒，异象风暴辟出通路。", "混元血酒を捧げ、砂嵐の道が開かれた。", "혼원혈주를 바쳐 모래폭풍 길을 열었습니다.", "มอบสุราเลือดแล้ว พายุทรายเปิดทางให้", "Blutwein dargebracht, Sandsturm teilt sich.", "Вино крови поднесено, буря расступилась.", "Vino de sangre ofrecido, la tormenta se abre."],

    # 12. Dialogue NPC Lore & Choice Nodes (23 keys)
    ["dialogue_node_doc_co_intro_text", "Ngươi vừa rơi xuống vực này? Cầm lấy đao mẻ mà tự cướp đường sống.", "Cast into this pit? Take this notched cleaver and carve a way out.", "刚被扔下这片剑冢绝壁？拿上这把残刀，自己杀出一条活路。", "この谷に落とされたか。刃こぼれの刀を取り、自力で生き残れ。", "이 절벽으로 떨어졌나? 이 칼을 쥐고 스스로 살길을 찾아라.", "ตกลงมาในหุบเหวนี้รึ? จงหยิบมีดบิ่นนี้ไปฟันฝ่าเอาชีวิตรอด", "In diese Schlucht gestürzt? Nimm die Klinge und kämpfe dich frei.", "Сброшен в эту бездну? Возьми зазубренный тесак и проруби путь.", "¿Caíste a este abismo? Toma esta hoja mellada y ábrete paso."],
    ["dialogue_choice_node_doc_co_intro_0", "Cánh tay trái của ngươi làm bằng xương thú?", "Why is your left arm grafted with bone?", "你的左臂为何接驳着兽骨？", "左腕が獣の骨で接がれている理由は？", "왼팔이 왜 짐승 뼈로 이어져 있소?", "เหตุใดแขนซ้ายของเจ้าจึงต่อด้วยกระดูกสัตว์?", "Warum ist dein linker Arm aus Knochen?", "Почему твоя левая рука из кости зверя?", "¿Por qué tu brazo izquierdo es de hueso?"],
    ["dialogue_choice_node_doc_co_intro_1", "Đưa đao đây, ta nhận khế ước săn mồi.", "Give me the blade, I accept the hunt.", "把刀给我，我接下这项猎杀契约。", "刀を寄越せ。狩猟の契約を受けよう。", "칼을 주시오, 사냥 서약을 받겠소.", "ส่งดาบมา ข้ารับพันธสัญญาล่านี้", "Gib mir die Klinge, ich nehme die Jagd an.", "Дай клинок, я принимаю контракт охоты.", "Dame la hoja, acepto el contrato de caza."],
    ["dialogue_choice_node_doc_co_intro_2", "Ta ngửi thấy mùi tàn tích cổ ma trong gió.", "I smell ancient demonic ruins on the wind.", "我嗅到了狂风中传来的古魔遗迹气息。", "風の合間に古魔の遺構の気配を感じる。", "바람결에서 고대 마족 유적의 기운이 느껴진다.", "ข้าได้กลิ่นซากมารโบราณลอยมาตามสายลม", "Ich rieche uralte dämonische Ruinen im Wind.", "Я чую запах древних демонических руин на ветру.", "Huelo antiguas ruinas demoníacas en el viento."],

    ["dialogue_node_doc_co_lore_text", "Ở đây không có thần phật cứu ngươi, chỉ bản năng khát máu mới giữ được mạng.", "No gods will save you here—only feral instinct keeps you alive.", "这里没有任何神佛能拯救你，唯有野性嗜血本能方能求生。", "神仏の救いはない。血に飢えた野生の本能だけが命を繋ぐ。", "여기서 신은 구원하지 않는다. 오직 야성의 본능만이 살길이다.", "ไม่มีเทพเจ้าช่วยเจ้าที่นี่ มีเพียงสัญชาตญาณสัตว์ป่าที่รอด", "Kein Gott rettet dich hier—nur Instinkt hält dich am Leben.", "Здесь боги не помогут—лишь дикий инстинкт сохранит жизнь.", "Ningún dios te salvará aquí, solo el instinto te mantiene vivo."],
    ["dialogue_choice_node_doc_co_lore_0", "Ta hiểu rồi, kẻ yếu sẽ làm mồi cho dã thú.", "Understood, the weak become prey for beasts.", "我明白了，弱者终将沦为野兽的食粮。", "理解した。弱者は野獣の餌になるだけだ。", "알겠소. 약자는 짐승의 먹이가 될 뿐이지.", "ข้าเข้าใจแล้ว ผู้ที่อ่อนแอย่อมตกเป็นเหยื่อ", "Verstanden, die Schwachen dienen als Beute.", "Понятно, слабые становятся добычей зверей.", "Entendido, los débiles son presa de las bestias."],

    ["dialogue_node_doc_co_quest_offer_text", "Đi về gò đá bắc, tiêu diệt bầy Thi Cẩu và đoạt lấy Huyết Tủy về đây.", "Head north, crush the Bone Hounds, and bring back their marrow.", "前往北面乱石滩，斩灭腐骨尸狗并带回其血髓。", "北の岩場へ向かい、屍犬の群れを殲滅して血髄を持ち帰れ。", "북쪽 바위로 가 시구 무리를 베고 골수를 가져오라.", "มุ่งหน้าไปทางเหนือ กำจัดฝูงสุนัขกระดูกและนำไขกระดูกกลับมา", "Gehe nach Norden, zerschmettere die Hunde und bring ihr Mark.", "Иди на север, разбей костяных псов и принеси их костный мозг.", "Ve al norte, destruye a los sabuesos y trae su médula."],
    ["dialogue_choice_node_doc_co_quest_offer_0", "Chờ xem ta xé xác chúng rồi quay lại.", "I will tear them apart and return.", "看我将它们撕碎后回来。", "奴らを八つ裂きにして戻る。", "그놈들을 찢어발기고 돌아오겠소.", "รอดูข้าฉีกพวกมันเป็นชิ้นๆ แล้วจะกลับมา", "Ich werde sie zerschmettern und wiederkehren.", "Я разорву их и вернусь.", "Los haré pedazos y regresaré."],

    ["dialogue_node_doc_co_secret_hint_text", "Dưới đáy Cổ Kiếm Trũng có hố tàn binh, ai sống sót sẽ đoạt Ma Võ Tàn Cốt.", "At the abyss bottom lies a warrior pit holding rare Bone Relics.", "古剑冢深渊之下埋葬着古战场，生还者可获魔武残骨。", "古剣塚の底に戦士の穴がある。生還者は魔武残骨を得る。", "고검총 심연 밑바닥에 전사들의 구덩이가 있고 마무유골이 있다.", "ก้นเหวกระบี่โบราณมีหลุมศพนักรบ ผู้รอดชีวิตจะได้กระดูกมาร", "Im Abgrund liegt eine Kriegergrube mit seltenen Knochenrelikten.", "На дне бездны лежит яма воинов с редкими костяными реликвиями.", "En el abismo yace una fosa de guerreros con reliquias de hueso."],
    ["dialogue_choice_node_doc_co_secret_hint_0", "Manh mối đáng giá, ta đi ngay.", "A valuable lead, I am moving out.", "极有价值的线索，我即刻启程。", "貴重な手掛かりだ、すぐに向かおう。", "귀중한 단서로군, 즉시 출발하겠소.", "เบาะแสล้ำค่า ข้าจะไปเดี๋ยวนี้", "Wertvolle Spur, ich breche auf.", "Ценная зацепка, я отправляюсь.", "Una pista valiosa, me pongo en marcha."],

    ["dialogue_node_merchant_intro_text", "Ở đây chỉ nhận Huyết Hồn Thạch và Cốt Đinh, ngươi cần đổi hàng gì?", "We only take Blood Stones and Bone Nails here. What do you need?", "这里只认血魂石与骨钉，你想换取什么利刃或存货？", "ここでは血魂石と骨釘しか通じぬ。何が必要だ？", "여기선 혈혼석과 골정만 받소. 무엇이 필요한가?", "ที่นี่รับเฉพาะหินเลือดและตะปูกระดูก เจ้าต้องการอะไร?", "Wir nehmen nur Blutsteine und Knochennägel. Was brauchst du?", "Здесь принимают только камни крови и костяные гвозди. Что нужно?", "Aquí solo aceptamos piedras de sangre y clavos. ¿Qué necesitas?"],
    ["dialogue_choice_node_merchant_intro_0", "Mở Rương Hắc Thị an toàn.", "Open Bazaar Consignment Vault.", "开启黑市寄售安全宝库。", "闇市委託の安全保管庫を開く。", "암시장 위탁 안전 보관함을 연다.", "เปิดคลังรับฝากตลาดมืด", "Sichere Basar-Kommission öffnen.", "Открыть хранилище комиссионного базара.", "Abrir bóveda segura de consignación."],
    ["dialogue_choice_node_merchant_intro_1", "Mở Chợ Đen Hoang Vực trao đổi.", "Open Outcast Bazaar for barter.", "开启流放黑市物资换购。", "流刑闇市の物資物々交換を開く。", "물물교환용 유배 암시장을 연다.", "เปิดตลาดมืดแลกเปลี่ยนสิ่งของ", "Öffne den Basar für Tauschhandel.", "Открыть базар изгоев для обмена.", "Abrir bazar de trueque de exiliados."],
    ["dialogue_choice_node_merchant_intro_2", "Rời đi.", "Leave.", "离开。", "立ち去る。", "떠나기.", "ออกไป", "Verlassen.", "Уйти.", "Salir."],

    ["dialogue_node_smith_intro_text", "Đem xương quái và sắt vụn lại đây, lửa lò của ta sẽ đúc ra Tà Đao bén ngót.", "Bring monster bone and scrap, my forge burns to craft keen demon blades.", "带来兽骨与铁料，我的炉火将熔铸出削铁如泥的利刃。", "獣骨と鉄屑を持て。我が炉火が業物を鍛造してやる。", "괴물 뼈와 고철을 가져오면 날카로운 마도를 벼려주마.", "นำกระดูกสัตว์และเศษเหล็กมา เตาไฟข้าจะหลอมดาบมารคมกริบ", "Bring Knochen und Schrott, meine Esse schmiedet scharfe Klingen.", "Неси кости и лом, моя печь выкует острейшие клинки.", "Trae huesos y chatarra, mi forja creará hojas demoníacas."],
    ["dialogue_choice_node_smith_intro_0", "Khảm Cổ Cốt Ấn và đúc U Minh Cốt Đinh.", "Socket Bone Glyphs and craft Spikes.", "镶嵌骨印并熔铸幽冥骨钉。", "骨印を装着し幽冥骨釘を鍛造する。", "골인을 장착하고 유명골정을 제련한다.", "สลักยันต์กระดูกและหลอมตะปูกระดูก", "Knochensiegel einsetzen und Nägel schmieden.", "Вставить руны кости и выковать шипы.", "Engarzar sellos de hueso y forjar clavos."],
    ["dialogue_choice_node_smith_intro_1", "Rời đi.", "Leave.", "离开。", "立ち去る。", "떠나기.", "ออกไป", "Verlassen.", "Уйти.", "Salir."],

    ["dialogue_node_huyet_vu_intro_text", "Ngươi muốn khơi thông 1.500 mắt xích Ma Đồ hay thức tỉnh Thú Tính?", "Do you seek to unlock the 1,500 bone matrix nodes or awaken feral instinct?", "你想要打通1500处魔图经络，还是唤醒嗜血野性？", "1500の魔図経路を開放するか、野生を覚醒させるか？", "1,500개의 마도 경락을 뚫을 텐가, 야성을 깨울 텐가?", "เจ้าต้องการเปิดชีพจรแผนภูมิมาร 1,500 จุดหรือปลุกสัญชาตญาณสัตว์ป่า?", "Willst du 1.500 Knochenknoten lösen oder Instinkte wecken?", "Хочешь открыть 1500 узлов матрицы или пробудить инстинкт?", "¿Deseas desbloquear los 1.500 nodos o despertar el instinto?"],
    ["dialogue_choice_node_huyet_vu_intro_0", "Mở Huyết Cốt Ma Đồ bồi dưỡng.", "Open Savage Bone Matrix.", "开启血骨魔图修练。", "血骨魔図を開く。", "혈골 마도를 연다.", "เปิดแผนภูมิมารกระดูกเลือด", "Öffne die Knochenmatrix.", "Открыть костяную матрицу.", "Abrir la matriz de hueso."],
    ["dialogue_choice_node_huyet_vu_intro_1", "Rời đi.", "Leave.", "离开。", "立ち去る。", "떠나기.", "ออกไป", "Verlassen.", "Уйти.", "Salir."],

    ["dialogue_node_hermit_intro_text", "Gió cát báo hiệu ma triều sắp đến, ngươi có mang Huyết Tửu đổi phương thuốc không?", "The howling storm heralds the scourge. Did you bring Blood Wine to trade?", "风沙呼啸预示魔潮将至，你可带有血酒换取异变古方？", "砂嵐が魔潮の接近を告げる。血酒を持参したか？", "모래폭풍이 마의 조수를 예고하네. 혈주를 가져왔는가?", "พายุทรายเตือนว่าภัยร้ายกำลังมา เจ้ามีสุราเลือดมาแลกหรือไม่?", "Der Sturm kündet Verderben. Hast du Blutwein zum Tausch?", "Буря возвещает приход бедствия. Ты принес вино крови?", "La tormenta anuncia el azote. ¿Trajiste vino de sangre?"],
    ["dialogue_choice_node_hermit_intro_0", "Dâng Hỗn Nguyên Huyết Tửu đổi phương thuốc.", "Offer Blood Wine to trade formulas.", "奉上混元血酒换取古方。", "混元血酒を捧げて処方を得る。", "혼원혈주를 바치고 비방을 얻는다.", "มอบสุราเลือดเพื่อแลกสูตรยา", "Biete Blutwein für alte Rezeptur.", "Поднести вино крови в обмен на рецепты.", "Ofrecer vino de sangre a cambio de fórmulas."],
    ["dialogue_choice_node_hermit_intro_1", "Rời đi.", "Leave.", "离开。", "立ち去る。", "떠나기.", "ออกไป", "Verlassen.", "Уйти.", "Salir."],
]

print(f"Total entries: {len(ENTRIES)}")
keys = [e[0] for e in ENTRIES]
duplicates = set([k for k in keys if keys.count(k) > 1])
if duplicates:
    print(f"ERROR: Duplicate keys: {duplicates}")
    sys.exit(1)

# Check all entries have 10 elements
for e in ENTRIES:
    if len(e) != 10:
        print(f"ERROR: Entry {e[0]} has length {len(e)} != 10")
        sys.exit(1)

print("Validation passed!")
