| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 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);
|