const fs = require('fs');
const path = require('path');

const filePath = path.join(__dirname, '../src/controllers/api/v1/auth/forgot-password/confirm-reset.ts');

let content = fs.readFileSync(filePath, 'utf8');

// Each garbled sequence is UTF-8 bytes misinterpreted as Latin-1, then re-encoded as UTF-8.
// Strategy: replace each garbled literal string with correct Vietnamese.
const replacements = [
	['Email khÃ´ng tá»\u201cn táº¡i', 'Email không tồn tại'],
	['MÃ£ xÃ¡c thá»\xb1c khÃ´ng há»£p lá»\x87', 'Mã xác thực không hợp lệ'],
	['MÃ£ xÃ¡c thá»\xb1c Ä\x91Ã£ Ä\x91\xc6°á»£c sá»\xad dá»¥ng', 'Mã xác thực đã được sử dụng'],
	['MÃ£ xÃ¡c thá»\xb1c Ä\x91Ã£ háº¿t háº¡n', 'Mã xác thực đã hết hạn'],
	['MÃ£ OTP khÃ´ng Ä\x91Ã\xbang', 'Mã OTP không đúng'],
	['KhÃ´ng tÃ¬m tháº\xa5y thÃ´ng tin xÃ¡c thá»\xb1c ngÆ°á»\x9di dÃ¹ng', 'Không tìm thấy thông tin xác thực người dùng'],
	['Máº\xaft kháº©u Ä\x91Ã£ Ä\x91\xc6°á»£c thay Ä\x91á»\x95i', 'Mật khẩu đã được thay đổi'],
	[
		'Máº\xaft kháº©u cá»§a báº¡n vá»«a Ä\x91\xc6°á»£c Ä\x91áº\xb7t láº¡i. Náº¿u khÃ´ng pháº£i báº¡n, hÃ£y liÃªn há»\x87 há»\x97 trá»£.',
		'Mật khẩu của bạn vừa được đặt lại. Nếu không phải bạn, hãy liên hệ hỗ trợ.',
	],
	['Äº\xb7t láº¡i máº\xaft kháº©u thÃ\xa0nh cÃ´ng', 'Đặt lại mật khẩu thành công'],
];

let count = 0;
for (const [garbled, correct] of replacements) {
	if (content.includes(garbled)) {
		content = content.replace(garbled, correct);
		count++;
		console.log('Replaced:', JSON.stringify(garbled).substring(0, 40), '->', correct);
	} else {
		console.log('NOT FOUND:', JSON.stringify(garbled).substring(0, 40));
	}
}

fs.writeFileSync(filePath, content, 'utf8');
console.log(`Done. ${count} replacements made.`);
