diff --git a/src/translation.js b/src/translation.js index 7d41d7e..602bf3c 100644 --- a/src/translation.js +++ b/src/translation.js @@ -84,6 +84,13 @@ export function preserveSpecialContent(text) { let preservedText = text; // HTML code elements (most important in HTML context) + preservedText = preservedText.replace(//gi, (match) => { + const index = preservations.length; + const placeholder = `__CODE_${index}__`; + preservations.push({ type: 'CODE', content: match, placeholder }); + return placeholder; + }); + preservedText = preservedText.replace(//gi, (match) => { const index = preservations.length; const placeholder = `__CODE_${index}__`; @@ -238,8 +245,8 @@ export function extractPageContent() { for (const selector of contentSelectors) { const element = document.querySelector(selector); if (element) { - // Get text content but preserve some structure - content = element.innerText || element.textContent; + // Get HTML content to preserve structure for translation + content = element.innerHTML; break; } } @@ -259,7 +266,7 @@ export async function translateCurrentPage(targetLanguage) { } // Limit content length to avoid overwhelming the AI - const maxLength = 8000; + const maxLength = 15000; // Increased limit for better coverage const contentToTranslate = pageContent.length > maxLength ? pageContent.substring(0, maxLength) + '...' : pageContent;