The WebTranslateIt Blog

i18n news and Product Updates about WebTranslateIt

ICU MessageFormat: Translate with Confidence

By Edouard · April 15, 2026

If your app uses ICU MessageFormat for plurals, gender, or number formatting, you know how fragile these strings can be. A single misplaced brace or a translated keyword can break your UI at runtime — and these bugs are notoriously hard to catch before they reach users.

Two updates shipping today change that. First, the validation system catches ICU errors before they go live, and the machine translation system produces correct ICU translations from the start when using AI (Mistral or Gemini translators).

Catch mistakes instantly

Translation Validator now understands ICU MessageFormat syntax. When a translator submits a string like:

{count, pluriel, un {# article} autre {# articles}}

…the validator spots that pluriel, un, and autre are French translations of ICU keywords that must stay in English — and fixes them automatically:

{count, plural, one {# article} other {# articles}}

This autocorrect works across 12 languages, covering one of the most common ICU translation mistakes.

Beyond keyword translation, the validator catches missing arguments, syntax errors, type mismatches, and missing # references. If something is structurally wrong with an ICU string, you’ll know immediately.

Get the right plural forms for every language

English has two plural forms. Polish has four. Arabic has six. Getting this wrong means broken sentences for millions of users — and it’s nearly impossible to catch manually across dozens of locales.

Our validation system now checks that every translation includes exactly the plural categories its language requires. Missing few in Polish? You’ll see a clear warning. Unnecessary zero in English? Flagged.

When plural forms are missing, the issue is sent to your AI translation handler with full context so the gaps can be filled automatically.

Machine translation that gets ICU right

Machine translations using AI (Mistral or Gemini) brings the same ICU awareness to Gemini and Mistral translations. When you machine-translate an English source with two plural forms into Polish, the translator automatically expands it to four:

English source:

{count, plural, one {# message} other {# messages}}

Polish translation:

{count, plural, one {# wiadomość} few {# wiadomości} many {# wiadomości} other {# wiadomości}}

Nested patterns — like gender selection containing plurals — are handled correctly too. Variable names, keywords, and brace structure stay intact; only the human-readable text gets translated.

This works out of the box for Gemini and Mistral translators. No configuration needed.

The full picture

These two updates work together. The update to the machine translator produces structurally correct ICU translations, and the translation validator verifies them, giving you a safety net whether translations come from machines, human translators, or a mix of both.

Both updates are available now.

Read more in the Machine Translation documentation » or in the Translation Validations documentation »

Introducing the WebTranslateIt GitHub Action

By Edouard · March 30, 2026

Until now, keeping your translation files in sync between your GitHub repository and WebTranslateIt required running wti pull and wti push manually, or setting up custom CI scripts. Today, we’re releasing an official GitHub Action that automates the entire workflow.

What it does

The WebTranslateIt Sync Action (repo: https://github.com/webtranslateit/github-action) plugs directly into your existing setup. It reads the .wti configuration file you already have in your repository and uses the official wti CLI under the hood. No new config format to learn.

In a nutshell, the action:

  1. Pushes your source language files to WebTranslateIt so translators always work on the latest strings.
  2. Pulls the latest translations back into your repository.
  3. Opens a pull request with the updated translation files, ready for you to review and merge.

Setup in 5 minutes

Step 1: Store your API key as a GitHub secret

You’ll find your project API key in your WebTranslateIt project settings. Add it as a secret in your GitHub repository:

  1. Go to your repository on GitHub.
  2. Navigate to Settings → Secrets and variables → Actions.
  3. Click New repository secret.
  4. Name it WTI_API_KEY and paste your project API key.

Step 2: Make sure you have a .wti file

If you’ve been using the wti CLI locally, you already have one at the root of your repo (created by wti init). If not, install the gem and run:

gem install web_translate_it
wti init

You can safely remove the api_key line from the .wti file since the action will read it from the GitHub secret instead.

Step 3: Create the workflow file

Create .github/workflows/wti-sync.yml in your repository:

name: WTI Sync
on:
  push:
    branches: [main]

jobs:
  sync:
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - uses: webtranslateit/github-action@v1
        with:
          api_key: ${{ secrets.WTI_API_KEY }}
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

That’s it. Every time you push to main, the action will upload your source files and pull the latest translations. If anything changed, it opens a pull request on a dedicated l10n_wti_translations branch.

Common recipes

Upload source files only (no download)

Useful when you just want to keep WebTranslateIt up to date as your code changes:

- uses: webtranslateit/github-action@v1
  with:
    api_key: ${{ secrets.WTI_API_KEY }}
    upload_sources: true
    download_translations: false

Download translations on a schedule

Pull translations every 6 hours without waiting for a push:

on:
  schedule:
    - cron: '0 */6 * * *'
  workflow_dispatch:

Pull only specific locales

- uses: webtranslateit/github-action@v1
  with:
    api_key: ${{ secrets.WTI_API_KEY }}
    upload_sources: false
    pull_options: '--locale fr'

Safe push with merge

Avoid obsoleting keys that are missing from your source file:

- uses: webtranslateit/github-action@v1
  with:
    api_key: ${{ secrets.WTI_API_KEY }}
    push_options: '--merge --ignore-missing --minor'

How it works under the hood

The action runs inside a Docker container with the wti Ruby gem pre-installed. It reads your .wti config file — including any ignore_locales, needed_locales, or ignore_files settings — so behavior is identical to running wti on your local machine. Translation changes are committed on a dedicated branch and a pull request is created or updated automatically.

Your API key is masked in all logs and never appears in commits.

Get started

Check out the full documentation and more examples on GitHub. The action is available on the GitHub Marketplace — search for “WebTranslateIt Sync” or add webtranslateit/github-action@v1 to your workflow.

We’d love to hear your feedback. If you run into any issues, open an issue on GitHub.

Faster Translation Editing with Inline Editing

By Edouard · March 30, 2026

Speed matters when you’re translating thousands of strings. Every click, every modal, every page load adds up. That’s why we’ve been focused on making translation editing faster and more fluid than ever.

Edit Translations Directly in the Admin View

This is the big one. You can now click any cell in the all-locales view to edit it directly—no modal, no page navigation, just click, type, and save.

Screenshot 2026-03-18 at 16.40.22.png

The Admin view shows all your translations across languages in a table format. Previously, you had to click through to a detail view to make changes. Now, clicking a cell opens an inline editor right there. Make your change, hit Enter to save, and you’re on to the next one. The table stays put, your scroll position is preserved, and you can keep moving through translations at speed.

The header row stays sticky as you scroll, so you always know which language column you’re in. Opening a new editor automatically closes any other open editor, keeping the interface clean.

The same inline editing also works in the “This segment in all languages” modal. When reviewing a single segment across all your project languages, you can now click any translation to edit it in place—no need to close the modal and navigate to each language separately.

Screenshot 2026-03-18 at 16.43.28.png

Validation with Plural Forms Support

For languages with complex plural rules, validation now works properly across all plural forms. When you save a translation that has validation issues, the validation modal shows separate sections for each plural form—one, few, many, other—with highlighted issues for each.

Screenshot 2026-03-18 at 16.41.31.png

Hover over an issue and the corresponding text lights up in the right plural form. This makes it much easier to spot and fix problems in complex translations without losing context.

AI Translations Respect Character Limits

If you’ve set a max_length constraint on a string key, AI translations now respect it. When using AI translation—whether Gemini or Mistral—the generated translation will stay within your character limit. No more truncating or manually shortening AI suggestions.

This works for both individual translations and batch operations.

Autosave with Instant Feedback

Settings pages across WebTranslateIt—projects, user preferences, organization settings—now autosave as you make changes. Each field shows its own inline status: a subtle indicator appears when saving, then confirms success or shows an error.

No more hunting for a Save button or wondering if your changes were applied. Just make your change and move on.


These updates are live now. Whether you’re a translator working through a queue of strings or a project manager adjusting settings, everything should feel a little faster. Let us know what you think at support@webtranslateit.com.

AI-Powered Text Modification: Rewrite Translations in Any Style

By Edouard · March 20, 2026

We’re excited to introduce Text Modifications using AI — a new set of tools that let you rewrite your existing translations using AI, right from the translation interface.

Whether you need to make a translation more formal for a legal document, more casual for a marketing campaign, or shorter to fit a UI constraint, you can now do it in a couple of clicks.

Rewrite Tabs: AI Alternatives at Your Fingertips

When you open a segment for editing, you’ll notice a new row of tabs above the suggestions panel: Suggestions, Formal, Casual, Technical, Shorter, Elaborate, and Other.

Click any preset tab and WebTranslateIt queries all your enabled AI engines (Gemini, Mistral) in parallel, giving you multiple alternative rewrites to choose from. Each result shows which engine produced it — just click one to paste it into your translation.

rewrite_tabs.png

Results are cached as you work, so switching between tabs is instant. If you edit the translation text, the cache clears automatically and fresh results load when you return to a rewrite tab.

Custom Prompts You Can Save and Reuse

The Other tab opens a dropdown with your saved custom prompts. Choose Custom… to open a dialog where you can describe exactly how you want the text transformed — for example, “Use the informal ‘tu’ form instead of ‘vous’” or “Rephrase as a question.”

You can optionally save any custom prompt with a name. Saved prompts appear in both the Other dropdown and the right-click context menu, making them easy to reuse across segments.

AI Transform from the Context Menu

You don’t need to open a segment to transform it. Right-click on any segment and select AI Transform from the context menu, then pick a preset or enter a custom instruction.

ai_transform_menu.png

Batch AI Transform

Need to adjust the tone of an entire file? AI Transform is available as a batch operation. Select your segments, choose AI Transform as the operation, pick a preset (or write a custom instruction), select the target language, and run it — all matching translations will be rewritten at once.

batch_ai_transform.png

Available Presets

Preset What it does
Formal Rewrites in a more formal register
Casual Makes text more conversational and relaxed
Technical Adjusts for a technical audience
Shorter Condenses while preserving meaning
Elaborate Expands with more detail
Custom Your own transformation instruction

Getting Started

AI Text Modification is available to all users with Gemini or Mistral AI engines enabled. To enable an AI engine, visit your user settings and toggle the engines you’d like to use. The feature is included on all plans at no extra cost.

For more details, see the Machine Translation documentation.

A Refreshed, More Productive Interface

By Edouard · March 19, 2026

A Refreshed, More Productive Interface

We’ve been hard at work improving the WebTranslateIt interface to make it faster and more enjoyable to use. This update brings a visual refresh alongside new power-user features that will speed up your daily workflow.

A Cleaner, More Modern Look

The first thing you’ll notice is our refreshed visual design. The interface is now fully fluid, adapting seamlessly to any screen size—whether you’re on a widescreen monitor or a laptop. We’ve also introduced a subtle frosted glass effect on the header that adds depth while keeping the focus on your content. Settings pages and panels now use a clean card-based layout that makes information easier to scan and actions easier to find.

Screenshot 2026-03-18 at 16.28.33.png

These changes aren’t just cosmetic—they improve readability, reduce visual clutter, and make better use of your screen real estate, especially during long translation sessions.

Keyboard Shortcuts for Power Users

For those who prefer to keep their hands on the keyboard, we’ve added two new shortcuts:

  • O — Open the batch operations panel
  • N — Create a new segment

These join our existing keyboard shortcuts and are now displayed directly on buttons throughout the interface, so you can learn them as you work. Press ? at any time to see the full list of available shortcuts.

Screenshot 2026-03-18 at 16.29.40.png

GitHub-Style Markdown Editor

Writing comments, descriptions, and notes just got better. Our new markdown editor features Write and Preview tabs, similar to what you’d find on GitHub. Draft your content in the Write tab using markdown syntax, then switch to Preview to see exactly how it will appear—all without leaving the page.

Screenshot 2026-03-18 at 16.30.25.png

Drag-and-Drop File Uploads

Need to attach a screenshot or reference document? Simply drag and drop files onto any text area. Whether you’re adding context to a translation, attaching a file to a comment, or uploading a reference image, it now works the same way everywhere.


These improvements are available now for all users. We hope they make your time in WebTranslateIt more productive and pleasant. As always, we’d love to hear your feedback—drop us a line at support@webtranslateit.com.

Smarter Translation Validation: Highlighted Errors and AutoCorrect

By Edouard · March 9, 2026

We’ve completely redesigned how WebTranslateIt handles translation validation errors. Instead of a simple error message, you now get a rich, interactive modal that shows you exactly what’s wrong — and can fix it for you.

validation_example.png

See Exactly What’s Wrong

When you save a translation that has issues, a new validation modal appears with two key elements:

  • A color-coded text preview showing your translation with problematic sections highlighted. Each issue gets its own color, so you can instantly see where the problems are.
  • A list of specific issues with colored indicators matching the highlights in the text.

The highlights are interactive: hover over an issue in the list to see the corresponding text light up in the preview, or hover over a highlighted section to see which issue it refers to. No more guessing which error applies to which part of your translation.

AutoCorrect: Fix Errors Instantly

The biggest addition is AutoCorrect. When errors are detected, you now have three options right in the modal:

  • Ignore (⌘I) — Save the translation as-is if you’re sure it’s correct despite the warnings.
  • Correct Manually (Esc) — Go back to the editor to fix things yourself.
  • AutoCorrect (Enter) — Let WebTranslateIt fix all issues automatically.

AutoCorrect works in two stages. First, it applies deterministic corrections for straightforward issues — a missing ellipsis, incorrect variable placeholders, mismatched spaces. Then, for issues that need contextual understanding, it uses AI (via the AI translation engine configured in your toolbar) to make intelligent corrections while preserving your translation’s meaning.

Keyboard Shortcuts for Speed

Every action in the validation modal has a keyboard shortcut, so you never need to reach for the mouse. Press Enter to autocorrect, Esc to go back and edit, or ⌘I to ignore and save anyway.

Getting Started

The new validation modal is available immediately for all users. AutoCorrect’s AI-powered corrections require Machine Translation to be enabled on your project — if you’re already using Gemini AI or Mistral, you’re all set.

Learn more about validations in our documentation →

Added Support for 4 New Subtitle Formats

By Edouard · February 23, 2026

We’re excited to announce that WebTranslateIt now supports four additional subtitle formats, making it easier than ever to localize your video content for global audiences.

Why Subtitle Localization Matters

Video content is exploding across platforms—from YouTube and streaming services to corporate training and e-learning. But video without localized subtitles leaves a significant portion of your audience behind. Studies show that:

  • 80% of viewers are more likely to watch a video to completion when subtitles are available
  • Subtitles improve comprehension even for native speakers
  • Localized subtitles dramatically increase engagement in international markets

With these new formats, WebTranslateIt now supports the most widely-used subtitle standards across web, broadcast, and entertainment industries.

New Formats

WebVTT (.vtt)

WebVTT (Web Video Text Tracks) is the native subtitle format for HTML5 video and the standard for modern web browsers. If you’re publishing video content on the web, chances are you need WebVTT.

Key features we support:

  • WEBVTT header with optional descriptions
  • STYLE blocks for CSS-based styling
  • REGION blocks for precise positioning
  • NOTE blocks for translator comments
  • Cue identifiers and settings (position, line, align, vertical)

SAMI (.smi, .sami)

SAMI (Synchronized Accessible Media Interchange) is Microsoft’s caption format, commonly used in Windows Media Player and corporate environments.

What makes SAMI unique:

  • HTML-like structure that’s familiar to web developers
  • Built-in multi-language support via CSS classes
  • Rich styling through embedded CSS
  • Timestamps in milliseconds for precise sync

ASS/SSA (.ass, .ssa)

Advanced SubStation Alpha is the format of choice for anime fan-subbing and any video requiring advanced typography. If you’ve ever seen subtitles with custom fonts, colors, or karaoke effects, it was probably ASS.

Powerful features:

  • Multiple named styles with full font control
  • Precise positioning and rotation
  • Override tags for inline formatting
  • Layer support for complex compositions
  • Effects and animations

TTML/DFXP (.ttml, .dfxp)

TTML (Timed Text Markup Language) is a W3C standard widely used in broadcast television and streaming services like Netflix and Amazon Prime Video. DFXP (Distribution Format Exchange Profile) is a subset of TTML.

Enterprise-grade features:

  • Well-formed XML structure
  • Reusable styles and regions
  • Flexible timing with begin, end, or duration
  • Extensive positioning and layout control
  • Strong industry adoption

How to Get Started

Translating these formats in WebTranslateIt is straightforward:

  1. Upload your source subtitle file in the File Manager
  2. Translate using our Translation Interface
  3. Download the localized file in the same format

All our translation tools work seamlessly with these formats:

Complete Subtitle Format Support

With these additions, WebTranslateIt now supports 8 subtitle formats:

Format Extensions Best For
SubRip .srt Universal compatibility
YouTube .sbv YouTube uploads
WebVTT .vtt HTML5 video, web browsers
SAMI .smi, .sami Windows Media, corporate
ASS/SSA .ass, .ssa Anime, advanced styling
TTML/DFXP .ttml, .dfxp Broadcast, streaming services
MicroDVD .sub Legacy media players
SubViewer .sub Media players

Start Localizing Today

Whether you’re subtitling a YouTube series, preparing content for Netflix, or creating accessible corporate training videos, WebTranslateIt has you covered.

Create a free account and upload your first subtitle file today.


Questions about subtitle localization? Contact our support team—we’re happy to help.

Visual Context: Screenshot Annotations with Auto-Detect

By Edouard · February 16, 2026

The Challenge

Screenshots are invaluable for translators—they show exactly where and how text appears in your application. But annotating screenshots by manually drawing rectangles around each piece of text and searching for the corresponding segment? That’s tedious, especially for screens packed with UI elements.

The Solution: Auto-Detect Segments

Our new auto-detection feature uses OCR (Optical Character Recognition) to automatically find text in your screenshots and create draft annotations. Here’s how it works:

Full Screenshot Detection

Click the Auto-detect Segments button in the sidebar to scan the entire screenshot at once. The system identifies text elements and creates draft annotations for each one—with the detected text pre-filled in the search box.

Region-Based Detection

For more control, draw a selection on the image first. The button changes to Detect text in selection, scanning only the area you’ve selected. This is perfect for focusing on a specific part of a busy interface.

Smart Text Grouping

The detection intelligently groups related text together based on visual proximity. Side-by-side UI elements like “Settings · Profile” are recognized as separate items, each getting their own annotation.

The Workflow

  1. Upload your screenshot
  2. Click Auto-detect Segments or draw a selection first for targeted detection
  3. Review the draft annotations (shown with dashed purple borders)
  4. Click each draft to open a search dropdown pre-filled with the detected text
  5. Select the matching segment to convert the draft into a linked annotation
  6. Dismiss any drafts you don’t need with a single click

What used to take minutes of careful drawing and searching now takes seconds.

Best Practices

  • Focus on translatable text: Skip user-generated content like usernames, dates, or dynamic data that isn’t in your translation files
  • Use region selection: For complex screens, select specific areas to get more accurate results
  • Review before linking: Auto-detection does the heavy lifting, but a quick review ensures accuracy

Try It Today

Visual Context with auto-detection is available now for all projects. Head to your project’s File Manager → Visual Context tab, upload a screenshot, and experience the faster way to provide visual context for your translators.

Learn more in our Visual Context documentation.

Introducing Mistral AI for Machine Translation

By Edouard · February 9, 2026

We’re excited to announce that Mistral AI is now available as a machine translation provider in WebTranslateIt!

What is Mistral AI?

Mistral AI is a French artificial intelligence company that has quickly become one of the leading providers of large language models in Europe. Their models are known for being fast, efficient, and particularly strong at understanding context and nuance in translations.

Why Mistral AI for Translation?

Like our existing Gemini AI integration, Mistral AI goes beyond simple word-for-word translation. It understands:

  • Translation Instructions: Project-level guidelines that help maintain consistent terminology and tone across all translations
  • Translation Terms (Glossary): Your custom terminology is automatically applied to ensure brand consistency
  • Context: Mistral considers the full context of your content, producing more natural-sounding translations

How to Enable Mistral AI

  1. Go to your User SettingsTranslation Suggestions
  2. Select Mistral AI from the available machine translation providers
  3. Start translating!

You can also use Mistral AI for Batch Operations to machine translate multiple segments at once:

  1. Open your project’s Batch Operations page
  2. Select “Machine translate” as the operation
  3. Choose Mistral AI as your provider
  4. Select the target languages and run the operation

Pricing

Mistral AI translations are billed based on character count, similar to our other AI translation services. You can monitor your usage in Organization SettingsAPI Usage.

Get Started Today

Mistral AI is available now for all WebTranslateIt users. Give it a try and let us know what you think!


Have questions about Mistral AI or any of our machine translation options? Contact our support team at support@webtranslateit.com — we’re happy to help!

Introducing Machine Translation Quotas and Transparent Usage Billing

By Edouard · February 3, 2026

We’re excited to announce new features that give you better visibility and control over your machine translation usage on WebTranslateIt.

What’s New

Included Machine Translation Quota

All WebTranslateIt plans now include a generous machine translation character quota:

  • Starter & Premium: 500,000 characters/month
  • Enterprise: 2,000,000 characters/month

This quota covers all machine translation services including Google Translate, Microsoft Translator, and our new Gemini AI integration.

Usage Dashboard with Visual Progress

We’ve redesigned the API Usage page (found under Organization → Billing → API Usage) to give you clear visibility into your machine translation consumption:

  • Progress bar showing your current billing period usage against your quota
  • Color-coded status: Green when usage is healthy, yellow when approaching the limit, red when over quota
  • Monthly breakdown with the ability to click into any month for daily usage details
  • Service-level visibility showing exactly how many characters were translated by each provider

Transparent Overuse Billing

If you exceed your included quota, additional usage is billed at a simple, predictable rate of €30 per million characters. This is automatically calculated at the end of each billing cycle.

No surprises—you can always see your current usage and any projected overuse charges on the billing page.

Why These Changes?

Machine translation has become an essential tool for localization teams. These changes ensure:

  1. Predictability: Know exactly what’s included in your plan
  2. Transparency: See your usage at a glance with visual progress indicators
  3. Flexibility: Go over your quota when needed without service interruption
  4. Fairness: Pay only for what you use beyond your included quota

Getting Started

Visit your Organization’s Billing page and click on “API Usage” to see your current machine translation consumption. The new dashboard shows your billing period usage, quota, and historical trends.

Questions about your quota or usage? Reply to any WebTranslateIt email or contact us at support@webtranslateit.com.

Introducing AI-Powered Translation Suggestions

By Edouard · January 22, 2026

We’re excited to announce a major update to WebTranslateIt’s translation workflow: AI-Powered Translation Suggestions. This release brings together machine translation and translation memory into a unified, intelligent experience.

New: Gemini AI Translation

We’ve added Google’s Gemini AI as a translation option in WebTranslateIt. Gemini brings a fresh approach to machine translation, leveraging large language models to produce more natural, context-aware translations.

Unlike traditional neural machine translation, Gemini can better understand nuance, idiomatic expressions, and maintain consistency across longer texts. It’s particularly effective for creative content, marketing copy, and user interface strings where tone matters.

Plural form support: Gemini AI can machine translate plural forms—something traditional MT engines like Google Translate and Microsoft Translator can’t do. When translating a segment with plural forms, Gemini generates all the plural categories required by the target language automatically.

Unified Translation Suggestions

The new Translation Suggestions panel in the translation toolbar combines all your translation resources in one place:

  • Google Translate - Fast, reliable machine translation
  • Microsoft Translator - Alternative MT engine for comparison
  • Gemini AI - Google’s latest AI model for natural, context-aware translations
  • Translation Memory - Your existing translations for consistency

Simply toggle on the services you want to use, and WebTranslateIt will fetch suggestions from all enabled sources as you translate.

Per-User Preferences

Each team member can now configure their own preferred translation services. Enable Google Translate, Microsoft Translator, Gemini AI—or all of them at once. Your preferences are saved and applied automatically, and you’ll see suggestions from all your enabled services side by side.

Enhanced Batch Operations

You can now choose which machine translation to run directly in batch operations. Select your segments, choose your preferred MT engine (Google, Microsoft, or Gemini), and translate hundreds of segments at once.

Smarter Plural Form Handling

When batch translating plural forms with Gemini AI, WebTranslateIt now properly generates all plural categories required by the target language. For example, when translating to Polish (which has one, few, many, and other forms), the system creates the appropriate structure automatically.

Improved Toolbar Experience

We’ve refreshed the toolbar dropdown menus with a cleaner, more intuitive design:

Translation Memory Fuzziness Control

Fine-tune your translation memory matches with the new fuzziness slider. Choose between:

  • Fuzzy matches - See more suggestions, even partial matches
  • Exact matches only - Strict matching for maximum consistency

Getting Started

The new features are available now in your translation interface. Open any project, click on a segment to translate, and look for the Translation Suggestions button in the toolbar.


We’re committed to making translation faster and easier. These AI-powered features are just the beginning—stay tuned for more updates!

Questions or feedback? Contact our support team.

wti v.3.2.0 released with new `wti diff` command

By Edouard · January 21, 2026

Ever wondered what changed between your local translation files and what’s on WebTranslateIt? Now you can find out instantly.

Introducing wti diff

Version 3.2.0 of the wti gem introduces a new command: wti diff. It lets you compare your local translation files with the versions hosted on WebTranslateIt, right from your terminal.

Why is this useful?

Before pushing or pulling files, you might want to know:
- What local changes haven’t been pushed yet?
- Did someone update the remote file since your last pull?
- Are there any conflicts to be aware of?

Now you can answer these questions before committing to a sync.

How to use it

Compare all your source language files:

wti diff

Or compare a specific file:

wti diff config/locales/en.yml

The output shows a standard diff between the remote version (on WebTranslateIt) and your local file.

Installation

Update to the latest version:

gem install web_translate_it

Or if you’re using Bundler, update your Gemfile and run bundle update web_translate_it.


Thanks to @vpolozov for this contribution!

Navigate Translation Suggestions with Keyboard Shortcuts

By Edouard · October 7, 2025

Speed is everything when you’re translating hundreds of segments. We’re thrilled to introduce a new keyboard navigation system that lets you select translation suggestions without ever touching your mouse.

What’s New?

You can now navigate through translation memory suggestions and machine translation results using arrow keys and apply them with a simple Enter press. This enhancement makes the translation workflow significantly faster for power users who prefer keyboard-driven interfaces.

How It Works

Opening a Segment

When you open a segment for translation (press Enter or click the edit icon), WebTranslateIt automatically loads suggestions from:

  • Your Project Translation Memory: Translations from your current and connected projects
  • Global Translation Memory: Over 24 million translations from the community
  • Machine Translation: Results from Google Translate, Microsoft Translator, DeepL, etc. (if configured)

Navigating Suggestions

Once suggestions load, you can navigate them using your keyboard:

  1. From the textarea: Press (Down arrow) when your cursor is at the end of the text
  2. First suggestion: Automatically highlighted and focused
  3. Move between suggestions: Use (Down) and (Up) arrows
  4. Apply suggestion: Press Enter to paste it into the translation field
  5. Return to textarea: The focus automatically returns to your translation

Visual Feedback

As you navigate with arrow keys, the currently selected suggestion is visually highlighted, making it easy to see which one you’re about to apply.

Complete Translation Keyboard Shortcuts

Here’s a refresher on all available keyboard shortcuts in the translation interface:

Navigation

  • or J — Select next segment
  • or K — Select previous segment
  • Enter — Open selected segment for editing
  • / — Focus on search field
  • H — Display keyboard shortcuts help

In an Open Segment

  • Esc — Close segment without saving
  • Tab — Save and move to next segment
  • Shift + Tab — Save and move to previous segment
  • Cmd/Ctrl + Enter — Save current translation
  • — Navigate to suggestions (when cursor at end of text)
  • / — Navigate between suggestions
  • Enter — Apply selected suggestion

Segment Actions

  • P — Mark segment as proofread
  • F — Flag segment as “to verify”
  • V — Copy source text to target
  • C — Open comments
  • D — Open segment details
  • I — View instructions
  • L — View all translations for segment
  • — Go to segment history
  • — Return to segment list

Real-World Example

Let’s say you’re translating a software interface from English to French:

  1. Navigate to the next untranslated segment with
  2. Open the segment with Enter
  3. The translation memory loads and shows several French suggestions
  4. Review suggestions using to scroll through them
  5. Select the best match with Enter to paste it
  6. Edit if needed (maybe just a small terminology adjustment)
  7. Save and continue with Tab to move to the next segment

All of this without touching your mouse!

Why This Matters

Speed

Keyboard navigation is significantly faster than mouse clicking. For professional translators working on large projects, this can mean:

  • 30-50% faster suggestion selection
  • Reduced context switching between keyboard and mouse
  • Better flow state during translation sessions

Ergonomics

Keeping your hands on the keyboard reduces repetitive strain from constantly moving between keyboard and mouse. This is especially important for translators who work long hours.

Precision

Sometimes with a mouse, you might accidentally click the wrong suggestion, especially when they’re visually similar. Keyboard navigation gives you precise control with clear visual feedback.

Translation Memory Reminder

Not familiar with WebTranslateIt’s Translation Memory? Here’s a quick overview:

Project Translation Memory learns from translations in your current project and connected projects. The more you translate, the better it gets.

Global Translation Memory contains over 24 million translations from projects that choose to contribute. You can opt in or out in your project settings.

Translation Memory automatically provides:

  • Complete Matches (100%): Exact matches from previous translations
  • Partial Matches: Similar segments with varying match percentages
  • Context awareness: Prioritizes suggestions from your own projects

You can adjust suggestion quality using the matching level selector at the bottom of the screen (4, 7, 10, or Complete Match).

Learn more in our Translation Memory Documentation.

Machine Translation Support

This keyboard navigation also works with machine translation suggestions! If you’ve configured machine translation engines (Google Translate, Microsoft Translator, DeepL, etc.), their results appear in the suggestions list alongside translation memory matches.

Navigate and apply them the same way—with arrow keys and Enter.

Pro Tips

  1. Combine with other shortcuts: Use V to copy source text, then to check suggestions, then Tab to save and continue
  2. Adjust match quality: Use higher quality settings (10 or Complete Match) to see only the best suggestions
  3. Learn the flow: Practice the rhythm of EnterEnterTab for maximum speed
  4. Use search: Press / to quickly jump to specific segments using keyword search

Getting Started

This feature is available immediately for all users on all plans. No configuration needed—just open the translation interface and start using arrow keys to navigate suggestions!

Press H in the translation interface to view all available keyboard shortcuts.

We’d Love Your Feedback

We’re constantly working to improve the translation experience. If you have ideas for additional keyboard shortcuts or workflow improvements, please let us know at support@webtranslateit.com.

Happy translating! ⌨️🚀


Additional Resources:

Filter Segments with OR Logic Using the Label API

By Edouard · October 3, 2025

We’re excited to announce a powerful enhancement to our API label filtering system that makes it easier than ever to work with segments across multiple categories.

What’s New?

You can now use OR logic when filtering segments by labels in the WebTranslateIt API. This means you can retrieve segments that match any of the specified labels, not just those that match all of them.

How It Works

The Syntax

Use the |[label1,label2,label3] syntax to filter segments with OR logic:

GET /api/projects/:project_api_key/strings.json?filters[label]=|[bug-fix,new-feature]

This returns all segments labeled with either “bug-fix” OR “new-feature”.

Real-World Example

Let’s say you’re managing a large localization project and you want to export all segments that need urgent attention. You’ve been using labels to categorize your work:

  • high-priority for critical segments
  • bug-fix for corrections
  • release-blocker for segments that must be translated before launch

Previously, you would need to make three separate API calls to fetch each category. Now, you can get them all in one request:

curl "https://webtranslateit.com/api/projects/YOUR_API_KEY/strings.json?filters[label]=|[high-priority,bug-fix,release-blocker]"

Complete Label Filtering Options

WebTranslateIt now supports three different label filtering modes:

1. Single Label Match (default)

filters[label]=urgent

Returns segments with the “urgent” label.

2. OR Logic (any of the labels)

filters[label]=|[label1,label2,label3]

Returns segments with any of the specified labels.

3. AND Logic (all of the labels)

filters[label]=[label1,label2,label3]

Returns segments with all of the specified labels.

4. Negative Matching (exclude a label)

filters[label]=!unwanted

Returns segments that do not have the “unwanted” label.

5. No Labels

filters[label]=none

Returns segments with no labels at all.

URL Encoding

Remember to URL-encode your labels when making API requests. Spaces should be encoded as + or %20, and special characters must be properly escaped:

filters[label]=|[new+feature,bug+fix,ui+improvement]

Use Cases

This feature is particularly useful for:

  • Batch exports: Download all segments from multiple related categories at once
  • Priority filtering: Combine different priority levels (critical, high, medium) in one query
  • Feature-based filtering: Get all segments related to multiple features (checkout, payments, shipping)
  • Status tracking: Filter by multiple workflow states (needs-review, needs-context, needs-screenshot)
  • Release management: Gather segments for multiple upcoming releases

Integration with Existing Workflows

This enhancement works seamlessly with all other API filters. You can combine OR logic with:

  • Status filters (filters[status]=to_translate)
  • File filters (filters[file]=123)
  • Category filters (filters[category]=mobile)
  • Date range filters (filters[created_at]=2025-10-01)
  • Type filters (filters[type]=string)

Example combining multiple filters:

curl "https://webtranslateit.com/api/projects/YOUR_API_KEY/strings.json?filters[label]=|[urgent,high-priority]&filters[status]=to_translate&filters[locale]=fr"

This returns all French segments that are untranslated and marked as either “urgent” OR “high-priority”.

Documentation

For complete API documentation, including all available filters and parameters, visit:

API String Documentation

You can also learn more about label filtering in our FAQ:

Searching for segments with multiple labels

Getting Started

This feature is available immediately in the API for all WebTranslateIt plans. No changes are required to your existing integrations—OR logic is a new syntax option that works alongside your current label filtering.

Try it out and let us know how it improves your workflow! If you have questions or feedback, reach out to us at support@webtranslateit.com.


Technical Details:

  • Label matching is case-sensitive
  • You can include as many labels as needed in the array
  • The feature is available in both the read-only and read-write API endpoints

wti v.3.0.0 released

By Edouard · September 20, 2023

We released the version 3.0.0 of our synchronization tool wti. This is mostly a code refactoring release and it removes one dependency. Here’s the changelog:

  • Remove dependency on multipart_post gem
  • Don’t rescue SSL Errors.
  • Move ArrayUtil#to_columns to StringUtil
  • Replace custom ArrayUtil#chunks with native ruby method each_slice
  • Autocorrect frozen strings comments offences

See the complete wti changelog.

The update to the gem is also available as a docker package, which is running the latest Alpine linux with ruby 3.2.2.

New in WebTranslateIt: Free Machine Translations

By Edouard · May 30, 2023

We’ve released an update to WebTranslateIt where all organization on the plans including Machine Translation (all plans excluding the Starter plan) get access to free machine translations using Google Translate or Bing Translator.

In your project settings you can now select if you want suggestions to run with Google Translate or Microsoft Translator. You won’t have to input your own API key anymore, we’re using our own API key and take care of the bill.

We hope you will like this improvement. Thank you for using WebTranslateIt!

Planned maintenance window on May 20th 2023, 07:00 CEST

By Edouard · May 19, 2023

In order to maintain WebTranslateIt’s service we will take the service down for a hardware maintenance.

We’re upgrading our servers to more powerful and energy saving hardware.

In order to do this upgrade we will need to be unavailable on Saturday, May 20th 2023, 07:00 CEST (Paris Time) as we migrate the data to our new servers. We expect the downtime to not exceed 2 hours. The website will be unavailable from Saturday, May 20th 2023, 07:00 CEST to Saturday, May 20th 2023, 09:00 CEST.

As always, we’ll keep you updated on this blog post and we’ll also post live updates on @webtranslateit on Twitter.

We apologize for this planned downtime.

What’s new in WebTranslateIt — An October and November recap

By Edouard · November 15, 2022

Hi! I hope you’re having a productive week so far. We’ve been shipping several important updates to WebTranslateIt in the past month. We focussed our attention to code refactoring, improvements to existing features and performance improvements.

We have also released a new category on our blog: The Changelog, where you can see the nitty gritty details about the updates that we make. You can subscribe through the changelog’s atom feed. You can also read the changelog on the dashboard when you’re signed in. It’s a quick and easy way to keep you informed about our latest changes.

Here’s what has changed, by order of importance.

Faster Translation Suggestions

We’ve released an update to the Translation Suggestions system to make them load much faster. They are so fast actually, that we’ve simplified and removed all the loading system that used to work via background jobs. Enjoy a much better user experience when using translation suggestions.

More information: Faster Translation Suggestions

Faster File Updates

We released another round of improvements to our file generation system to make them much faster.

More information: Faster File Updates

Updated our YAML handler

Our YAML files are now generated with a new handler using libyaml. The file output will be different. Here is an example of the differences between our current YAMLer and the new YAMLer.

More information: Updated our YAML handler

Update to the word and character count system using Unicode’s text segmentation standard

This is a very deep change on how words and characters are counted in WebTranslateIt. The new system is more accurate, especially when counting words or characters in CJK language.

You can read more information:
- in our documentation about word counting
- or in the changelog entry.

Translation suggestions system improved

We improved the translation suggestions system for projects using Gettext PO files. Due to the nature of PO files, the source text is often blank and is populated by the key name, and this wasn’t picked up by the suggestions system. We updated our translation memory so that it also uses the text from the key names.

More information: Translation suggestions system improved

API Authentication Update

We’ve refactored how the API Authentication system works internally. The project and organization API keys are now prefixed with proj_readwrite and proj_readonly, for example. There is no need to update your integration.

More information: API Authentication Update

Project image charts updated

We replaced the charts system using the long deprecated Google Image Charts with one provided by quickcharts.io.

More information: Translation Charts Update

Removed low-priority import mode

It used to be possible to push a language file and set the import as a low priority. This was a nice thing to do in the early ages of WebTranslateIt when importing many files used to clog our import queue, but it doesn’t matter anymore so we removed that option and deprecated the command options on the wti client.

More information: Removed low-priority import mode

web_translate_it rubygem v2.7.0 released

By Edouard · October 25, 2022

We have released a new version of the web_translate_it gem, the open-source synchronization Command Line Interface tool for Web Translate It.

This new version brings a few improvements:

wti synchronization tool


Install or Upgrade

To install web_translate_it, please refer to the gem documentation.

As usual, upgrade web_translate_it to its latest version by typing in a terminal: gem install web_translate_it.

Follow us on Twitter, LinkedIn & Facebook for instant updates.

What’s new in WebTranslateIt? A 2022 Recap

By Edouard · October 11, 2022

We’ve been busy working on the app. Here’s an update of what we’ve been up to.

A large infrastructure update

We have spent a few months working on upgrading our app framework Ruby on Rails to the latest version 7. We also upgraded ruby to the latest version 3.1.

While doing so, we also worked on increasing our test code coverage. We also ran tools such as rubocop to standardize our code.

We also upgraded our translation serialization system which previously relied on a custom serializer using YAML to use native Postgres JSONB fields. It looks like nothing, but migrating close to 90 million translations took us over a week!

Overall these upgrades were a lot of work, but were worth it, as they helped us increase our software quality, standardize the way we write code and increased the website performance while lowering our resources usage.

We have replaced our Translation Memory engine

We have been using Sphinx Search for almost 10 years (we’re not getting any younger are we? 😳) and it has served us well. However our database server PostgreSQL now integrates a great full-text search engine, and it is easier to maintain it than having both PostgreSQL and Sphinx running side by side. So we simplified our stack and now use PostgreSQL to run our translation memory.

We have also set up a series of tests and benchmarks to maintain and improve the translation memory speed and relevance, and we will keep improving on it.

All our infrastructure and providers are now in the European Union & GDPR compliant 🇪🇺

We hired a GDPR specialist and revised our Data Processing Agreement and improved our GDPR support.

We were also advised to make some changes on the providers we use (namely Amazon S3 hosted in the US and Mailchimp) to use similar services hosted in the European Union. Our Amazon S3 assets are now hosted in Germany and our newsletter by MailJet. You can see a list of all our providers on our Privacy page.

We value our users’ privacy so we’re now proudly made and hosted in the EU, and we’re also Carbon Neutral since 2017.

New homepage

We have a new homepage! You can see it when you are signed out of WebTranslateIt. The new homepage uses a new responsive design and includes a lot of new illustrations.

Auto-Translate

We’ve released a new feature for the organisations on the Enterprise plan: Auto-Translate.

Auto-Translate is a feature that lets you use the translations hosted on the different projects on your organization and automatically apply them to your projects right when a new translation candidate appears.

For instance if you add segments to a project and some of these new segments’ text have already been translated elsewhere (on your project or on another project hosted on your organization) it will use the other translations and apply them to your new segments.

It also works if a translator translates a segment on a project and if another similar segment exists elsewhere on your organization: as the first segment gets translated, the similar segments will get translated automatically.

New versions of the wti CLI tool

We’ve released several versions of our synchronisation tool wti. The latest changes include compatibility with ruby 3.1 and we’ve just added a new subcommand wti status path/to/file to see the translation statistics about a file.

If you don’t know about wti, you should try it it’s a great command-line tool to easily sync your language files with WebTranslateIt.

We also now have a docker package for wti.

Update to the Translation Interface

We’ve updated the Translation Interface with a brand new search bar which integrates case-sensitive and regex search. We hope you like these changes.

Follow us on Facebook, Twitter and LinkedIn for instant updates.