test-arabic-metadata.jsā¢2.87 kB
#!/usr/bin/env node
/**
* Test with Arabic content to demonstrate language detection
*/
import fs from 'fs';
import { SRTTranslationMCPServer } from './dist/mcp/server.js';
async function testArabicMetadataDetection() {
console.log('Testing detect_conversations with Arabic content...\n');
try {
// Read the Arabic SRT file
const srtContent = fs.readFileSync('/home/omd/Documents/Mix/SRT-MCP/Arabic_Rephrased_Full.srt', 'utf8');
// Create server instance
const server = new SRTTranslationMCPServer();
// Test the detect conversations function directly
const result = await server.handleDetectConversations({ content: srtContent });
if (result && result.content && result.content[0]) {
const metadata = JSON.parse(result.content[0].text);
console.log('š ARABIC FILE METADATA SUMMARY:');
console.log(`Total chunks: ${metadata.chunkCount}`);
console.log(`Total duration: ${(metadata.totalDuration / 1000 / 60).toFixed(2)} minutes`);
console.log(`Language distribution:`, metadata.languageDistribution);
console.log(`Speaker distribution:`, metadata.speakerDistribution);
console.log('\nš CHUNK DETAILS (first 5 chunks):');
metadata.chunks.slice(0, 5).forEach((chunk, index) => {
console.log(`\nChunk ${index + 1}:`);
console.log(` ID: ${chunk.id}`);
console.log(` Time: ${chunk.startTime} - ${chunk.endTime} (${(chunk.duration / 1000).toFixed(2)}s)`);
console.log(` Subtitles: ${chunk.subtitleCount}`);
console.log(` Speaker: ${chunk.speaker || 'none'}`);
console.log(` Language: ${chunk.languageInfo.primary} (confidence: ${chunk.languageInfo.confidence})`);
console.log(` Content type: ${chunk.contentType}`);
console.log(` Complexity: ${chunk.complexity}`);
console.log(` Priority: ${chunk.translationPriority}`);
console.log(` Topic keywords: ${chunk.topicKeywords.join(', ')}`);
console.log(` Language indicators: ${chunk.languageInfo.indicators.join(', ')}`);
});
console.log('\nā
SUCCESS: Function correctly detects Arabic content and returns metadata only!');
console.log(' AI can now make informed translation decisions based on:');
console.log(' - Language detection (Arabic vs English)');
console.log(' - Content complexity assessment');
console.log(' - Translation priority ranking');
console.log(' - Topic keywords for context');
console.log(' - Speaker information');
console.log(' - Timing and duration data');
} else {
console.log('ā Error: No valid response received');
}
} catch (error) {
console.error('ā Test failed:', error.message);
console.error(error.stack);
}
}
// Run the test
testArabicMetadataDetection();