48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
const fs = require('fs').promises;
|
|
const { spawn } = require('child_process');
|
|
const path = require('path');
|
|
|
|
const languagesDir = path.join(__dirname, '../languages/');
|
|
|
|
async function translateFiles() {
|
|
try {
|
|
const files = await fs.readdir(languagesDir);
|
|
for (const file of files) {
|
|
if (path.extname(file) === '.json' && file !== 'en_CA.json') {
|
|
const languageCode = path.basename(file, '.json');
|
|
await translateLanguageFile('en_CA', 'en', languageCode);
|
|
}
|
|
}
|
|
} catch (err) {
|
|
console.error('Error reading language files:', err);
|
|
}
|
|
}
|
|
|
|
function translateLanguageFile(sourceLang, targetLang, languageCode) {
|
|
return new Promise((resolve, reject) => {
|
|
const command = 'node';
|
|
const args = [`${__dirname}/translateLanguageFile.js`, sourceLang, targetLang, languageCode];
|
|
const process = spawn(command, args);
|
|
|
|
process.stdout.on('data', (data) => {
|
|
console.log(`stdout: ${data}`);
|
|
});
|
|
|
|
process.stderr.on('data', (data) => {
|
|
console.error(`stderr: ${data}`);
|
|
});
|
|
|
|
process.on('close', (code) => {
|
|
if (code === 0) {
|
|
console.log(`Successfully translated ${languageCode}`);
|
|
resolve();
|
|
} else {
|
|
console.error(`Translation process for ${languageCode} exited with code ${code}`);
|
|
reject(new Error(`Process exited with code ${code}`));
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
translateFiles();
|