/**
 * Script to convert TypeScript translations to JSON for next-intl
 * Run with: node scripts/convert-translations.js
 */

import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

const locales = ['de', 'en', 'sr'];

async function convertTranslations() {
  for (const locale of locales) {
    console.log(`Converting ${locale} translations...`);

    try {
      // Dynamically import the translations
      const translations = await import(`../src/i18n/locales/${locale}/index.ts`);
      const data = translations.default || translations;

      // Output directory
      const outputDir = path.join(__dirname, '..', 'src', 'messages');
      if (!fs.existsSync(outputDir)) {
        fs.mkdirSync(outputDir, { recursive: true });
      }

      // Write JSON file
      const outputPath = path.join(outputDir, `${locale}.json`);
      fs.writeFileSync(outputPath, JSON.stringify(data, null, 2), 'utf-8');

      console.log(`  ✓ Saved to ${outputPath}`);
    } catch (error) {
      console.error(`  ✗ Error converting ${locale}:`, error.message);
    }
  }

  console.log('\nConversion complete!');
}

convertTranslations();
