0a9588abb7
- Add pagination support to findAll (page, limit query params) - Add findByTemplateId method to service - Add GET /by-template/:templateId endpoint to controller - Service already includes CRUD for QuestionBank and QuestionBankItem
44 lines
1.6 KiB
JavaScript
44 lines
1.6 KiB
JavaScript
const fs = require('fs');
|
|
|
|
const files = require('./files_to_translate.json');
|
|
const translationMap = require('./translation_map.json');
|
|
|
|
let totalReplaced = 0;
|
|
|
|
files.forEach(file => {
|
|
let content = fs.readFileSync(file, 'utf8');
|
|
let originalContent = content;
|
|
|
|
// Replace simple strings
|
|
const simpleStringRegex = /((?:console|logger|Logger|this\.logger)\.(?:log|error|warn|info|debug|verbose)\(\s*)(['"])(.*?[\u4e00-\u9fa5]+.*?)\2/g;
|
|
content = content.replace(simpleStringRegex, (match, prefix, quote, innerString) => {
|
|
if (translationMap[innerString]) {
|
|
totalReplaced++;
|
|
return prefix + quote + translationMap[innerString] + quote;
|
|
}
|
|
return match;
|
|
});
|
|
|
|
// Replace template literals
|
|
const templateRegex = /((?:console|logger|Logger|this\.logger)\.(?:log|error|warn|info|debug|verbose)\(\s*)\`([\s\S]*?)\`/g;
|
|
content = content.replace(templateRegex, (match, prefix, innerString) => {
|
|
if (/[\\u4e00-\\u9fa5]/.test(innerString) && translationMap[innerString]) {
|
|
totalReplaced++;
|
|
return prefix + '`' + translationMap[innerString] + '`';
|
|
}
|
|
// If no direct match, check if there's an exact match in the map
|
|
if (translationMap[innerString]) {
|
|
totalReplaced++;
|
|
return prefix + '`' + translationMap[innerString] + '`';
|
|
}
|
|
return match;
|
|
});
|
|
|
|
if (content !== originalContent) {
|
|
fs.writeFileSync(file, content, 'utf8');
|
|
console.log('Updated ' + file);
|
|
}
|
|
});
|
|
|
|
console.log('Total replacements made: ' + totalReplaced);
|