Scan and replace Chinese content in project files with English, preserving code logic and original formatting.
Translate and replace all Chinese characters (comments, strings, documentation, etc.) within specified files or project scope into English.
Before:
// This is an example function
function example() {
console.log("δ½ ε₯½οΌδΈη"); // Print greeting
}
After:
// This is an example function
function example() {
console.log("Hello, World"); // Print greeting
}
It is recommended to use a script to scan files after translation to ensure no residual Chinese characters remain.
import os
import re
def contains_chinese(text):
return re.search(r'[\u4e00-\u9fa5]', text)
def scan_files(directory, extensions=['.md', '.ts', '.js', '.py', '.java']):
print(f"Scanning directory: {directory} for extensions: {extensions}")
for root, dirs, files in os.walk(directory):
for file in files:
if any(file.endswith(ext) for ext in extensions):
path = os.path.join(root, file)
try:
with open(path, 'r', encoding='utf-8') as f:
content = f.read()
if contains_chinese(content):
print(f"[FOUND] Chinese characters in: {path}")
# Optional: Print specific lines
lines = content.split('\n')
for i, line in enumerate(lines):
if contains_chinese(line):
print(f" Line {i+1}: {line.strip()[:100]}...")
except Exception as e:
print(f"[ERROR] Reading {path}: {e}")
# Usage Example:
# scan_files('./src')
const fs = require('fs');
const path = require('path');
function containsChinese(text) {
return /[\u4e00-\u9fa5]/.test(text);
}
function scanFiles(dir, extensions = ['.md', '.ts', '.js', '.py', '.java']) {
console.log(`Scanning directory: ${dir} for extensions: ${extensions}`);
const files = fs.readdirSync(dir);
files.forEach(file => {
const filePath = path.join(dir, file);
const stats = fs.statSync(filePath);
if (stats.isDirectory()) {
scanFiles(filePath, extensions);
} else {
if (extensions.some(ext => filePath.endsWith(ext))) {
try {
const content = fs.readFileSync(filePath, 'utf-8');
if (containsChinese(content)) {
console.log(`[FOUND] Chinese characters in: ${filePath}`);
const lines = content.split('\n');
lines.forEach((line, index) => {
if (containsChinese(line)) {
console.log(` Line ${index + 1}: ${line.trim().substring(0, 100)}...`);
}
});
}
} catch (err) {
console.error(`[ERROR] Reading ${filePath}: ${err}`);
}
}
}
});
}
// Usage Example:
// scanFiles('./src');