Website Translator logo
Website Translator Free

Translate your website with proxy translation technology

Get

Requires Crowdin account

Website Translator: Translate Website with No Code Changes

Copy link

Website translator is a tool that localizes websites with automatic synchronization between your site content and a translation management system. Our app eliminates the need for manual content extraction. This allows you to translate entire websites faster and easier, without the need for technical expertise or code changes.

The Website Translator app seamlessly integrates with leading Digital Experience Platforms (DXPs) and CMS solutions. Easily localize your content across a wide range of supported services, including:

Service Name Category
UserVoice Customer Feedback
DeveloperHub.io Documentation
Framer Design & Prototyping
Typedream Website Builder
Ghost.org CMS & Publishing
Tumblr Microblogging
Unbounce Landing Pages
Readme.io API Documentation
Pagewiz Landing Pages
Webflow Website Builder
Status.io Status Pages
Squarespace Website Builder
Leadpages Landing Pages
Instapage Landing Pages
Lander Landing Pages
WooCommerce E-commerce
BigCommerce E-commerce
StatusPage.io Status Pages
Tilda Website Builder
Weebly Website Builder

Website Translator Overview

Copy link

Features

Copy link
  • Source and translated content synchronization - Detect, extract, and sync your website content with Crowdin project
  • SEO-friendly translations - Translate meta titles and descriptions
  • Scheduled synchronization - Automatic sync and publishing scheduling
  • Instant translations - Use machine translation (DeepL) for new content instant translation
  • In-context preview - Preview translations on your website
  • Application modes - Server-side, client-side, or hybrid scanning
  • Advanced filtering - Configure CSS selectors and path filters for precise content control
  • Variable patterns - Create reusable translation patterns with placeholders
  • Review system - Review and approve new content before translation

How the Website Translator Works

Copy link
  1. Setup: Input your website URL and translation preferences
  2. Scanning: The app crawls your website and extracts all translatable texts
  3. Import: You select pages that are then imported into your Crowdin project as translation files
  4. Content Translation
  5. Publishing Translations
  6. Integration: Add a JavaScript snippet to enable the language switcher for visitors

Translation Configuration

Copy link

Choose the way to scan your website content:

  • Server-side (Default): Crowdin crawls your website and looks for new content to translate
  • Client-side: Untranslated text that is detected when visitors open pages is sent for translation
  • Server & Client-side: Combines both methods

CSS Selectors to Ignore

Copy link

Specify CSS selectors for HTML elements whose content should not be imported. Use IDs (e.g., #header-nav) or classes (e.g., .no-translate), separate with commas.

Paths Filter

Copy link

Control which pages are crawled. Use pattern matching:

  • /about - Exact page /about
  • /page/** - All pages starting with /page/
  • /article/* - One level above /article/
  • /**/comments - Pages which end with /comments
  • !/admin - Excludes the /admin page

Website translator settings

Instant Translations

Copy link

Set up DeepL API integration for instant translation of new content in client-side mode. This allows users see translated content before it's imported into Crowdin.

Website Translation Automation

Copy link

Set up auto synchronization and publishing schedules:

  • Source sync schedule: Choose manual, daily, or weekly synchronization
  • Publishing schedule: Select to publish manually, hourly, daily, or weekly

Language Routing Method

Copy link

Choose how languages are specified in your website URLs:

  • Query Parameter (test-site.com?lng=en)
  • Subdomain (en.test-site.com)
  • Subdirectory (test-site.com/en)

Variables

Copy link

Create reusable translation patterns with placeholders to replace similar strings. For example, "Hello Antony!" and "Hello Mary!" can be replaced with "Hello {{name}}!". Changes are applied after reimporting your website.

Variables tab

Review Strings

Copy link

In client-side mode, review and manage texts that were missed during scanning. These appear when visitors use your site and can be imported to Crowdin for translation or deleted if not needed.

Review tab

URLs Management

Copy link

View and manage all URLs that were detected by the scan:

  • Scan website - Discover new pages to translate
  • Re-import - Update existing pages with new content
  • Delete - Remove pages from your Crowdin project
  • Filter and sort - Organize pages by path, import date, or string count

URLs tab

Note

Website scanning is limited to a crawl depth of 5. This means the crawler will follow links up to 5 pages deep from your starting URL. Pages beyond this depth threshold won't be discovered during the scanning.

In-Context Preview

Copy link

Preview translations on your website and see how they look in context. Requirement: enabled in-context translation for your Crowdin project.

Code Snippet

Copy link

After publishing translations, add this JavaScript snippet to your website to enable the language switcher:

<style>.js-proxy-blur {filter: blur(5px);}</style>
<script>
  // Generated script with your project configuration
  // Includes language switcher and translation functionality
</script>

Also add the js-proxy-blur class to your <body> tag:

<body class="js-proxy-blur">

Next Steps

Copy link
  1. Choose translation strategy
  2. Publish translations
  3. Monitor and maintain

Q&A

Copy link

Q: Some texts on my website (such as newly added elements, dynamic content, or pop-ups) remain untranslated on the live site, even though the publishing logs show no errors. How can I fix this?

A: This might happen in any application mode when new text appears on your website but hasn't been scanned and imported into your Crowdin project yet. The steps to resolve this depend on the Application mode you are currently using:

If you use Server-side mode:

  1. Open your Crowdin project and go to the Integrations tab.
  2. Open the Website Translator app and navigate to the URLs tab.
  3. Select the pages containing the missing translations and click Re-import. Alternatively, wait for your automated Source sync schedule to run.
  4. Translate and approve the newly imported strings in your Crowdin project.
  5. Go to the Home tab and click Publish Now to update your live website's distribution.

If you use Client-side mode:

  1. Open your Crowdin project and go to the Integrations tab.
  2. Open the Website Translator app and navigate to the Review tab.
  3. Select the pending strings (which were detected whenever visitors opened a page with untranslated text) and import them into your project.
  4. Translate and approve the newly imported strings.
  5. Return to the Home tab and click Publish Now.

If you use Server & Client-side mode: You can use either of the methods described above, depending on whether the text was crawled by the server or detected by a visitor's browser.

Note

Certain types of text (e.g., dynamic content, pop-ups, or pages hidden behind an authorization or login screen) cannot be reached by the Server-side crawler. To translate these text elements, you must use the Client-side or Server & Client-side mode so the app can detect them as users browse the live site and send them to the Review tab.

Localize your product with Crowdin
Automate content updates, boost team collaboration, and reach new markets faster.
Crowdin

Crowdin is a platform that helps you manage and translate content into different languages. Integrate Crowdin with your repo, CMS, or other systems. Source content is always up to date for your translators, and translated content is returned automatically.

Learn More
Works with
  • Crowdin Enterprise
  • crowdin.com
Details

Released on Jun 17, 2025

Updated on Mar 2, 2026

Published by Crowdin

Identifier:website-translator

All product and company names are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.