UNPKG

json-translated-ai

Version:

AI-powered translation tool supporting OpenAI GPT, Anthropic Claude, and Google Gemini models

91 lines (77 loc) โ€ข 3.04 kB
#!/usr/bin/env node import { loadLanguageStructures } from './file-processor.js'; import { validateLanguageStructures } from './folder-structure-utils.js'; const TEST_LOCALES_DIR = './test-4letter'; async function test4LetterSupport() { console.log('๐Ÿงช Testing 4-Letter Language Code Support\n'); try { // Test 1: Discover language structures with 4-letter codes console.log('1๏ธโƒฃ Testing 4-letter language structure discovery...'); const { languageStructures, templateStructure } = loadLanguageStructures(TEST_LOCALES_DIR); console.log('๐Ÿ“ Discovered language structures:'); Object.entries(languageStructures).forEach(([lang, structure]) => { console.log(` ${lang}: ${structure.files.length} files`); structure.files.forEach((file) => { console.log(` - ${file.relativePath}`); }); }); console.log('\n๐Ÿ“„ Template structure:'); console.log( ` ${templateStructure.files[0]?.baseName || 'en-GB'}: ${ templateStructure.files.length } files` ); templateStructure.files.forEach((file) => { console.log(` - ${file.relativePath}`); }); // Test 2: Validate structures console.log('\n2๏ธโƒฃ Testing structure validation...'); const validation = validateLanguageStructures( languageStructures, templateStructure ); if (validation.valid) { console.log('โœ… Language structure validation passed'); } else { console.log('โŒ Language structure validation failed:'); validation.errors.forEach((error) => console.log(` ${error}`)); return; } // Test 3: Verify 4-letter codes are properly detected console.log('\n3๏ธโƒฃ Testing 4-letter language code detection...'); const detectedLanguages = Object.keys(languageStructures); const fourLetterCodes = detectedLanguages.filter((lang) => lang.includes('-') ); console.log(` Detected languages: ${detectedLanguages.join(', ')}`); console.log(` 4-letter codes: ${fourLetterCodes.join(', ')}`); if (fourLetterCodes.length > 0) { console.log('โœ… 4-letter language codes detected successfully'); } else { console.log('โš ๏ธ No 4-letter language codes detected'); } console.log( '\nโœ… 4-letter language code support test completed successfully!' ); console.log('\n๐Ÿ“‹ Summary:'); console.log(` - Template files: ${templateStructure.files.length}`); console.log( ` - Target languages: ${Object.keys(languageStructures).length - 1}` ); console.log(` - 4-letter codes: ${fourLetterCodes.length}`); console.log( ` - Total files to process: ${ Object.values(languageStructures).reduce( (sum, lang) => sum + lang.files.length, 0 ) - templateStructure.files.length }` ); } catch (error) { console.error('โŒ Test failed:', error.message); console.error(error.stack); } } // Run the test test4LetterSupport().catch(console.error);