const fs = require('fs'); const path = require('path'); const i18nDir = path.join(__dirname, '../src/i18n'); const registryFile = path.join(__dirname, '../src/app/i18n-registry.ts'); if (!fs.existsSync(i18nDir)) { console.error(`i18n directory not found at ${i18nDir}`); process.exit(1); } const files = fs.readdirSync(i18nDir).filter((file) => file.endsWith('.json')); let importStatements = ''; let registryEntries = ''; files.forEach((file) => { const langCode = path.basename(file, '.json'); importStatements += `import ${langCode} from '../i18n/${file}';\n`; registryEntries += `\t${langCode}: ${langCode} as AppTranslations,\n`; }); const content = `// This file is auto-generated by scripts/generate-langs.js. Do not edit directly. import { AppTranslations } from './services/translation-service'; ${importStatements} export const translationsMap: Record = { ${registryEntries}}; export const availableLanguagesList: string[] = Object.keys(translationsMap); `; fs.writeFileSync(registryFile, content, 'utf8'); console.log(`Successfully generated i18n registry at ${registryFile} with ${files.length} languages.`);