<?php
require_once __DIR__ . '/../helpers/Env.php';
require_once __DIR__ . '/../config/database.php';

// Common translations for variant types
$translations = [
    'Regular' => [
        'sr' => 'Regularna serija',
        'de' => 'Reguläre Ausgabe',
        'es' => 'Serie regular',
        'fr' => 'Série régulière',
        'it' => 'Serie regolare',
        'pt' => 'Série regular',
        'nl' => 'Reguliere uitgave',
        'pl' => 'Seria regularna',
        'ru' => 'Регулярный выпуск',
        'tr' => 'Düzenli seri',
        'cs' => 'Běžná série',
        'el' => 'Κανονική σειρά',
        'hu' => 'Szabályos sorozat',
        'ro' => 'Serie regulată',
        'sv' => 'Vanlig utgåva',
        'no' => 'Vanlig utgave',
        'jp' => '通常シリーズ',
        'cn' => '常规系列',
        'il' => 'סדרה רגילה'
    ],
    'Counterfeit' => [
        'sr' => 'Lažna novčanica',
        'de' => 'Fälschung',
        'es' => 'Falsificación',
        'fr' => 'Contrefaçon',
        'it' => 'Falsificazione',
        'pt' => 'Falsificação',
        'nl' => 'Vervalsing',
        'pl' => 'Fałszerstwo',
        'ru' => 'Подделка',
        'tr' => 'Sahte',
        'cs' => 'Falzifikát',
        'el' => 'Πλαστογραφία',
        'hu' => 'Hamisítás',
        'ro' => 'Falsificare',
        'sv' => 'Förfalskning',
        'no' => 'Forfalskning',
        'jp' => '偽造',
        'cn' => '伪造',
        'il' => 'זיוף'
    ],
    'Proof' => [
        'sr' => 'Proof',
        'de' => 'Prägung',
        'es' => 'Prueba',
        'fr' => 'Épreuve',
        'it' => 'Prova',
        'pt' => 'Prova',
        'nl' => 'Proef',
        'pl' => 'Próba',
        'ru' => 'Пруф',
        'tr' => 'Proof',
        'cs' => 'Zkušební',
        'el' => 'Δοκιμαστικό',
        'hu' => 'Próba',
        'ro' => 'Probă',
        'sv' => 'Prov',
        'no' => 'Prøve',
        'jp' => 'プルーフ',
        'cn' => '样币',
        'il' => 'הוכחה'
    ],
    'Specimen' => [
        'sr' => 'Specimen',
        'de' => 'Muster',
        'es' => 'Espécimen',
        'fr' => 'Spécimen',
        'it' => 'Specimen',
        'pt' => 'Espécime',
        'nl' => 'Specimen',
        'pl' => 'Egzemplarz',
        'ru' => 'Образец',
        'tr' => 'Numune',
        'cs' => 'Vzorek',
        'el' => 'Δείγμα',
        'hu' => 'Minta',
        'ro' => 'Specimen',
        'sv' => 'Provexemplar',
        'no' => 'Prøveeksemplar',
        'jp' => '見本',
        'cn' => '标本',
        'il' => 'דגימה'
    ],
    'Commemorative' => [
        'sr' => 'Komemorativna',
        'de' => 'Gedenkausgabe',
        'es' => 'Conmemorativa',
        'fr' => 'Commemorative',
        'it' => 'Commemorativa',
        'pt' => 'Comemorativa',
        'nl' => 'Herdenkingsuitgave',
        'pl' => 'Pamiątkowa',
        'ru' => 'Памятная',
        'tr' => 'Anma',
        'cs' => 'Pamětní',
        'el' => 'Επετεειακή',
        'hu' => 'Emlékérme',
        'ro' => 'Comemorativă',
        'sv' => 'Minnesutgåva',
        'no' => 'Minneutgave',
        'jp' => '記念',
        'cn' => '纪念',
        'il' => 'הנצחה'
    ],
    'Error' => [
        'sr' => 'Greška',
        'de' => 'Fehlerdruck',
        'es' => 'Error',
        'fr' => 'Erreur',
        'it' => 'Errore',
        'pt' => 'Erro',
        'nl' => 'Foutdruk',
        'pl' => 'Błąd',
        'ru' => 'Ошибка',
        'tr' => 'Hata',
        'cs' => 'Chyba',
        'el' => 'Σφάλμα',
        'hu' => 'Hiba',
        'ro' => 'Eroare',
        'sv' => 'Feltryck',
        'no' => 'Feiltrykk',
        'jp' => 'エラー',
        'cn' => '错误',
        'il' => 'שגיאה'
    ],
    'Replacement' => [
        'sr' => 'Zamena',
        'de' => 'Ersatzdruck',
        'es' => 'Reemplazo',
        'fr' => 'Remplacement',
        'it' => 'Sostituzione',
        'pt' => 'Substituição',
        'nl' => 'Vervanging',
        'pl' => 'Zamiennik',
        'ru' => 'Замена',
        'tr' => 'Yedek',
        'cs' => 'Náhrada',
        'el' => 'Αντικατάσταση',
        'hu' => 'Csere',
        'ro' => 'Înlocuire',
        'sv' => 'Ersättning',
        'no' => 'Erstatning',
        'jp' => '代替',
        'cn' => '替换',
        'il' => 'החלפה'
    ],
    'Trial' => [
        'sr' => 'Probna',
        'de' => 'Probdruck',
        'es' => 'Prueba',
        'fr' => 'Essai',
        'it' => 'Prova',
        'pt' => 'Ensaio',
        'nl' => 'Proef',
        'pl' => 'Próba',
        'ru' => 'Пробный',
        'tr' => 'Deneme',
        'cs' => 'Zkušební',
        'el' => 'Δοκιμαστικό',
        'hu' => 'Próba',
        'ro' => 'Încercare',
        'sv' => 'Provtryck',
        'no' => 'Prøvetrykk',
        'jp' => '試作',
        'cn' => '试验',
        'il' => 'ניסוי'
    ],
    'Cancelled' => [
        'sr' => 'Otkazana',
        'de' => 'Annulliert',
        'es' => 'Cancelada',
        'fr' => 'Annulée',
        'it' => 'Annullata',
        'pt' => 'Cancelada',
        'nl' => 'Geannuleerd',
        'pl' => 'Anulowana',
        'ru' => 'Аннулирована',
        'tr' => 'İptal',
        'cs' => 'Zrušena',
        'el' => 'Ακυρωμένη',
        'hu' => 'Törölt',
        'ro' => 'Anulată',
        'sv' => 'Annullerad',
        'no' => 'Annulert',
        'jp' => 'キャンセル済み',
        'cn' => '已取消',
        'il' => 'בוטלה'
    ],
    'Hologram' => [
        'sr' => 'Hologram',
        'de' => 'Hologramm',
        'es' => 'Holograma',
        'fr' => 'Hologramme',
        'it' => 'Ologramma',
        'pt' => 'Holograma',
        'nl' => 'Hologram',
        'pl' => 'Hologram',
        'ru' => 'Голография',
        'tr' => 'Hologram',
        'cs' => 'Hologram',
        'el' => 'Ολογράφημα',
        'hu' => 'Hologram',
        'ro' => 'Hologramă',
        'sv' => 'Hologram',
        'no' => 'Hologram',
        'jp' => 'ホログラム',
        'cn' => '全息图',
        'il' => 'הולוגרמה'
    ]
];

try {
    $db = Database::getInstance();
    
    echo "Fetching current variant type options...\n";
    $stmt = $db->query('SELECT * FROM variant_type_options');
    $options = $stmt->fetchAll();
    
    echo "Found " . count($options) . " variant type options.\n\n";
    
    foreach ($options as $opt) {
        $englishLabel = $opt['label_en'] ?? '';
        
        if (empty($englishLabel)) {
            echo "Skipping ID {$opt['id']} - no English translation found.\n";
            continue;
        }
        
        echo "Processing ID {$opt['id']}: {$englishLabel}\n";
        
        // Check if we have a translation for this term
        if (isset($translations[$englishLabel])) {
            $langTranslations = $translations[$englishLabel];
            
            $updateFields = [];
            $updateValues = [];
            
            foreach ($langTranslations as $lang => $translation) {
                $field = 'label_' . $lang;
                $updateFields[] = "$field = ?";
                $updateValues[] = $translation;
                echo "  {$lang}: {$translation}\n";
            }
            
            $updateValues[] = $opt['id'];
            
            if (!empty($updateFields)) {
                $sql = 'UPDATE variant_type_options SET ' . implode(', ', $updateFields) . ' WHERE id = ?';
                $stmt = $db->prepare($sql);
                $stmt->execute($updateValues);
                echo "  ✓ Updated\n\n";
            }
        } else {
            echo "  ⚠ No translation found for '{$englishLabel}'\n";
            echo "  You'll need to translate this manually in the admin panel.\n\n";
        }
    }
    
    echo "Translation update completed!\n";
    
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage() . "\n";
    exit(1);
}
