Blingo - Blog HTML Translator with AI
Pricing
Pay per usage
Blingo - Blog HTML Translator with AI
Scrapes blog pages and translates visible text content to multiple target languages using lingo.dev AI-powered localization, preserving HTML structure.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Lofomachines
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
11 days ago
Last modified
Categories
Share
Blog HTML Translator
An Apify Actor that scrapes blog pages and translates all visible text content to multiple target languages using AI-powered localization, while preserving the original HTML structure.
🌟 Features
- Multi-language support: Translate to 30+ languages simultaneously
- HTML structure preservation: Keeps all HTML tags, attributes, and formatting intact
- Smart text extraction: Only translates visible user-facing text (ignores scripts, styles, hidden elements)
- Translation dictionary: Optionally outputs a JSON mapping of original texts to translations
- Auto language detection: Automatically detect source language or specify manually
- Concurrent processing: Fast translation with parallel API calls
- Detailed logging: Track progress and debug issues easily
📥 Input
| Field | Type | Required | Description |
|---|---|---|---|
blog_urls | Array | Yes | URLs of blog pages to translate |
source_language | String | No | Source language code or "auto" for detection |
target_languages | Array | Yes | Target language codes (e.g., ["es", "fr", "de"]) |
lingo_api_key | String | Yes | Your Lingo.dev API key |
include_translation_dictionary | Boolean | No | Include original→translated text mapping |
max_concurrent_pages | Integer | No | Max pages to process concurrently (1-10) |
request_timeout_secs | Integer | No | Timeout per page request (10-120 seconds) |
proxy_configuration | Object | No | Optional proxy settings |
Example Input
{"blog_urls": [{ "url": "https://blog.example.com/my-article" },{ "url": "https://blog.example.com/another-post" }],"source_language": "auto","target_languages": ["es", "fr", "de", "it"],"lingo_api_key": "your-api-key-here","include_translation_dictionary": true,"max_concurrent_pages": 3}
📤 Output
Dataset
Each translation produces a dataset item with:
{"url": "https://blog.example.com/my-article","page_title": "My Amazing Article","source_language": "en","target_language": "es","target_language_name": "Spanish","html_key": "html-my-article-a1b2c3d4_es","texts_extracted": 45,"texts_translated": 45,"word_count": 1250,"processing_time_ms": 3420,"status": "success","timestamp": "2024-01-15T10:30:00Z","translation_dictionary": {"Hello World": "Hola Mundo","Read more": "Leer más"}}
Key-Value Store
Translated HTML files are stored in the key-value store with keys like:
html-{url_slug}_{language_code}- Individual translated HTML filesSUMMARY- JSON summary of all translations
🌍 Supported Languages
| Code | Language | Code | Language |
|---|---|---|---|
| en | English | pl | Polish |
| es | Spanish | ru | Russian |
| fr | French | uk | Ukrainian |
| de | German | ja | Japanese |
| it | Italian | zh | Chinese |
| pt | Portuguese | ko | Korean |
| nl | Dutch | ar | Arabic |
| tr | Turkish | sv | Swedish |
| da | Danish | no | Norwegian |
| fi | Finnish | cs | Czech |
| hu | Hungarian | ro | Romanian |
| el | Greek | th | Thai |
| vi | Vietnamese | id | Indonesian |
| ms | Malay | hi | Hindi |
| bn | Bengali | ta | Tamil |
| te | Telugu | he | Hebrew |
| fa | Persian |
🔧 How It Works
- Scraping Phase: Uses Playwright to render JavaScript-heavy pages and extract full HTML
- Text Extraction: Parses HTML and extracts only visible text nodes (excluding scripts, styles, hidden elements)
- Translation: Sends text batches to AI localization engine for translation
- HTML Reconstruction: Replaces original texts with translations while preserving all HTML structure
- Output: Saves translated HTMLs to key-value store and metadata to dataset
⚡ Performance Tips
- Use
max_concurrent_pages: 1for rate-limited APIs - Set appropriate
request_timeout_secsfor slow-loading pages - Enable proxy if scraping sites with geo-restrictions
- Use auto language detection only when source language varies
🔑 Getting Your API Key
- Visit lingo.dev
- Create an account
- Navigate to Projects → API Key
- Copy your API key
📝 Use Cases
- Content localization: Translate blog posts for international audiences
- Website migration: Prepare content for multi-language CMS
- SEO expansion: Create localized versions for different markets
- Content analysis: Extract translation dictionaries for terminology management
⚠️ Limitations
- Large pages with many text nodes may take longer to process
- Some dynamically loaded content may not be captured
- Translation quality depends on the AI localization service
🐛 Troubleshooting
"Translation failed" errors: Check your API key is valid and has sufficient credits
Missing translations: Some text may be in elements not captured (try adjusting page load time)
Empty results: Ensure the URLs are accessible and contain visible text content