Add more ru comments

This commit is contained in:
Himickoff 2024-07-14 02:35:20 +07:00
parent 00350df82d
commit 378be40210
1 changed files with 20 additions and 8 deletions

View File

@ -76,40 +76,52 @@ router.post('/google', jsonParser, async (request, response) => {
} }
console.log('Input text:', text); console.log('Input text:', text);
console.log('----------'); //console.log('----------');
// Применяем форматирование только если язык перевода - русский // Применяем форматирование только если язык перевода - русский
if (lang === 'ru') { if (lang === 'ru') {
// Заменяем кавычки и звездочки на специальные маркеры перед переводом с пробелами
const openQuote = '__OPEN_QUOTE__ '; const openQuote = '__OPEN_QUOTE__ ';
const closeQuote = ' __CLOSE_QUOTE__'; const closeQuote = ' __CLOSE_QUOTE__';
const openStar = '__OPEN_STAR__ '; const openStar = '__OPEN_STAR__ ';
const closeStar = ' __CLOSE_STAR__'; const closeStar = ' __CLOSE_STAR__';
// Очень редкий случай, вызванный правилами русской граматики
const very_rare_execption = '__OPEN_STAR__, '; const very_rare_execption = '__OPEN_STAR__, ';
// Используем счетчики для чередования между открывающими и закрывающими маркерами
let quoteCounter = 0; let quoteCounter = 0;
let starCounter = 0; let starCounter = 0;
text = text.replace(/"/g, () => (quoteCounter++ % 2 === 0 ? openQuote : closeQuote)); text = text.replace(/"/g, () => (quoteCounter++ % 2 === 0 ? openQuote : closeQuote));
text = text.replace(/\*/g, () => (starCounter++ % 2 === 0 ? openStar : closeStar)); text = text.replace(/\*/g, () => (starCounter++ % 2 === 0 ? openStar : closeStar));
console.log('Pre-Input text:', text); //console.log('Pre-Input text:', text);
console.log('----------'); //console.log('----------');
} }
const url = generateRequestUrl(text, { to: lang }); const url = generateRequestUrl(text, { to: lang });
https.get(url, (resp) => { https.get(url, (resp) => {
let data = ''; let data = [];
resp.on('data', (chunk) => { resp.on('data', (chunk) => {
data += chunk; data.push(chunk);
}); });
resp.on('end', () => { resp.on('end', () => {
try { try {
const result = normaliseResponse(JSON.parse(data)); let result;
console.log('Pre-Translated text:', result.text); if (lang === 'ru') {
console.log('----------'); // Декодирование для русского языка
const decodedData = iconv.decode(Buffer.concat(data), 'utf-8');
result = normaliseResponse(JSON.parse(decodedData));
} else {
// Для других языков используем данные как есть
result = normaliseResponse(JSON.parse(Buffer.concat(data).toString()));
}
//console.log('Pre-Translated text:', result.text);
//console.log('----------');
let fixedText = result.text; let fixedText = result.text;