import json
import sys
from pathlib import Path
from generate_catalog import ENTRIES

header = """// =============================================================================
// FREEEXILE: 9-LANGUAGE MASTER LOCALIZATION CATALOG (DATA REPOSITORY)
// Theme: CỔ VÕ HOANG DÃ & HẮC ÁM LƯU ĐÀY (Grimdark Savage Primal Exile ARPG)
// Compliant with docs/standards/GLOBAL_LOCALIZATION_DICTIONARY.md
// Compact Horizontal Row Mapping (<= 700 lines hygiene compliance)
// =============================================================================

const I18N_CATALOG = {
  vi: {},
  en: {},
  zh: {},
  ja: {},
  ko: {},
  th: {},
  de: {},
  ru: {},
  es: {}
};

// Master Mapping Matrix: [key, vi, en, zh, ja, ko, th, de, ru, es]
const I18N_ENTRIES = [
"""

footer = """];

I18N_ENTRIES.forEach(([key, vi, en, zh, ja, ko, th, de, ru, es]) => {
  I18N_CATALOG.vi[key] = vi;
  I18N_CATALOG.en[key] = en;
  I18N_CATALOG.zh[key] = zh;
  I18N_CATALOG.ja[key] = ja;
  I18N_CATALOG.ko[key] = ko;
  I18N_CATALOG.th[key] = th;
  I18N_CATALOG.de[key] = de;
  I18N_CATALOG.ru[key] = ru;
  I18N_CATALOG.es[key] = es;
});

if (typeof window !== "undefined") {
  window.I18N_CATALOG = I18N_CATALOG;
}
"""

lines = [header]
for row in ENTRIES:
    # row is [key, vi, en, zh, ja, ko, th, de, ru, es]
    row_json = json.dumps(row, ensure_ascii=False)
    lines.append(f"  {row_json},\n")
lines.append(footer)

catalog_content = "".join(lines)

out_file = Path("c:/Projects/FreeExile/client/webapp/js/data/i18n_catalog.js")
out_file.write_text(catalog_content, encoding="utf-8")
print(f"Written {len(ENTRIES)} entries to {out_file}. Total lines: {len(catalog_content.splitlines())}")
