#!/usr/bin/env python3.12
"""恢复韩文文件的 platform 字段为中文媒体名（用中文源文件覆盖）

背景（2026-09-23）：
  keepfile `translate_word.md:194,199,204` 明确规定「中国媒体名（网易/头条/易车等）
  → 不翻译，保留中文」。0921~0923 的 ko 文件 platform 均为中文（汽车之家/IT之家/广告门）。
  0924 的 Dify 韩译把 platform 一并拉丁化（汽车之家→Autohome、IT之家→IT Home、
  广告门→Adquan、雷锋网→Leiphone、腾讯新闻→Tencent News …），违反 keepfile。

策略：
  platform 以中文源文件为准，逐条按同板块同索引覆盖。
  - 中文源值为中文媒体名 → 覆盖（恢复中文）
  - 中文源值本身是拉丁（如 SocialBeta）→ 同样覆盖（等价，幂等）

用法：
  python3.12 scripts/restore_platform_names.py <ko_json> <cn_json>
"""
import json
import sys

SECTIONS = [
    'brand_hotspots',
    'vehicle_hotspots',
    'social_hotspots',
    'hyundai_buzz_topics_domestic',
    'hyundai_buzz_topics_international',
]


def main():
    if len(sys.argv) < 3:
        print('用法: python3.12 scripts/restore_platform_names.py <ko_json> <cn_json>')
        return 1
    ko_path, cn_path = sys.argv[1], sys.argv[2]
    ko = json.load(open(ko_path, encoding='utf-8'))
    cn = json.load(open(cn_path, encoding='utf-8'))

    fixed = 0
    for key in SECTIONS:
        for i, (a, b) in enumerate(zip(cn.get(key, []), ko.get(key, []))):
            cp, kp = a.get('platform'), b.get('platform')
            if cp and cp != kp:
                b['platform'] = cp
                fixed += 1
                print(f'  {key}[{i}] {kp!r} -> {cp!r}')

    json.dump(ko, open(ko_path, 'w', encoding='utf-8'), ensure_ascii=False, indent=2)
    print(f'✅ 已处理: {ko_path}')
    print(f'   共恢复 {fixed} 处')
    return 0


if __name__ == '__main__':
    sys.exit(main())
