mirror of
https://github.com/xxnuo/MTranServer.git
synced 2026-05-07 05:56:12 +08:00
52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
import { MTran } from 'mtranserver';
|
|
|
|
async function main() {
|
|
console.log('--- MTranServer Library Usage Example ---');
|
|
|
|
// 1. Initialize MTran instance
|
|
// You can pass configuration options here.
|
|
const mtran = new MTran();
|
|
|
|
try {
|
|
// 2. Initialize (loads records, prepares environment)
|
|
console.log('Initializing MTran...');
|
|
await mtran.init();
|
|
|
|
const fromLang = 'en';
|
|
const toLang = 'zh';
|
|
const text = 'Hello world! This is a library test.';
|
|
|
|
// 3. (Optional) Ensure the model is downloaded.
|
|
// .translate() will error if the model is missing in offline mode,
|
|
// or attempt to download it if online (default).
|
|
// Calling downloadModel explicitly is good for pre-warming.
|
|
console.log(`Checking model for ${fromLang} -> ${toLang}...`);
|
|
await mtran.downloadModel(fromLang, toLang);
|
|
|
|
// 4. Perform Translation
|
|
console.log(`
|
|
Translating: "${text}"`);
|
|
const start = performance.now();
|
|
|
|
const result = await mtran.translate(fromLang, toLang, text);
|
|
|
|
const end = performance.now();
|
|
console.log(`Translation Result: "${result}"`);
|
|
console.log(`Time taken: ${(end - start).toFixed(2)}ms`);
|
|
|
|
// 5. Language Detection
|
|
console.log('\nDetecting language for: "Bonjour tout le monde"');
|
|
const detected = await mtran.detect("Bonjour tout le monde");
|
|
console.log(`Detected: ${detected}`);
|
|
|
|
} catch (error) {
|
|
console.error('An error occurred:', error);
|
|
} finally {
|
|
// 6. Cleanup
|
|
// Important: Stops background worker threads to allow process to exit cleanly
|
|
console.log('\nCleaning up...');
|
|
await mtran.close();
|
|
}
|
|
}
|
|
|
|
main(); |