SDLXLIFF Refiner

0,00 

Tag-safe search & replace and full-document LLM workflows for your SDLXLIFF bilingual files.

Category:

Description

A standalone editor for SDL Trados SDLXLIFF bilingual files – designed for translators who work with LLM Chatbots… and a few useful tag features!

What is it?

SDLXLIFF Refiner is a Windows desktop application that lets you open, edit, and save SDLXLIFF bilingual files without needing Trados Studio’s editor. It’s built specifically for translators who want to leverage Large Language Models (like ChatGPT, Gemini, Claude, or DeepSeek for example) as part of their translation workflow, but it works just as well as a lightweight standalone editor for quick fixes and bulk operations.

I built this because working with LLMs and Trados Studio bilingual files shouldn’t be painful. Copy your source text out with row numbers and a customisable prompt, paste it into your LLM of choice, then paste the translation straight back – and SDLXLIFF Refiner handles the alignment, the tags, and the formatting for you.

The application also supports working with a CLI (Command Line Interface) and this enables the ability to work with multifariousMCP if you are a user of Claude Desktop.

Key Features

Trados Studio Project Integration

SDLXLIFF Refiner reads your Trados Studio project infrastructure directly. Point it at your projects.xml file and you get a built-in project browser – navigate projects, language pairs, and bilingual files without leaving the application. No Studio API dependency, no plugins to install.

Visual Tag Editing

Inline tags are resolved from the SDLXLIFF header and displayed as colour-coded placeholders with WYSIWYG formatting previews. You can see at a glance what {cf1 bold} actually means, and the tag inventory panel gives you a complete overview of every tag type in the file with styled samples and occurrence counts.

Tracked Change Support

If your source documents contain tracked changes, SDLXLIFF Refiner displays them with familiar styling red strikethrough for deletions, blue underline for insertions. The built-in LLM prompt includes specific guidance for handling tracked changes, so your LLM knows to translate the accepted version while preserving the revision markup. Also solves a long-standing question of how do you translate tracked changes… now you can.

In-Cell Editing

Sometimes you just need to fix a typo or tweak a phrase without going through a full clipboard round-trip. Double-click any target cell to edit it directly – you’re working with the plain text and tag placeholders, so what you see is what you get. This is handy for quick corrections after an LLM pass, but it’s not a substitute for translating in Trados Studio. There’s no fuzzy match leverage, no termbases, no QA checks – it’s a lightweight editor for targeted fixes when needed. This is not the purpose of this tool.

LLM Clipboard Workflow

This is the heart of the application. The clipboard workflow is designed to make LLM-assisted translation as smooth as possible:

  • Copy Source (Numbered) – copies source text with row numbers for alignment
  • Copy Source (with Prompt) – prepends your customisable LLM prompt with language-specific instructions
  • Paste Target – smart paste that matches translations back by row number, converts line-break markers, and skips locked segments
  • Automatic chunking – large files are automatically split into LLM-friendly chunks under your configured word limit, with a visual dialog tracking which chunks have been copied and pasted

Per-Project LLM Prompts

Each Trados Studio project can have its own LLM prompt. The default prompt covers row alignment, tag preservation, line-break handling, and tracked change rules – but you can customise it per project for domain-specific instructions. Template variables [SOURCE] and [TARGET] are automatically resolved to the actual language names.

Search & Replace

Three modes to cover different needs, providing good search & replace operations for text and also tags:

  • Plain text – with tag protection enabled by default so you can’t accidentally corrupt formatting markup
  • Regex – full .NET regex support with capture groups
  • Tag pair operations – remove or replace specific formatting tag types across the entire file, with optional text filtering and WYSIWYG previews

Now it’s possible to search and replace tags easily, add tags to translatable content (as long as they are already used in the document format), remove specific tags etc.

Command-Line Interface

For batch processing and scripting, SDLXLIFF Refiner includes a companion CLI tool (sdlxliff-refiner.exe). It exposes the same search and replace engine, tag removal, and tag replacement operations from the command line – so you can standardise terminology across an entire project, strip review highlighting from all German files, or chain operations in a PowerShell script. Version 3.0.0 adds a translate command that sends segments directly to OpenAI, Anthropic, or Google Gemini and writes the results back into the file, using the same numbered-chunk format and project prompts as the GUI clipboard workflow – no manual copy-paste required. Additional commands cover:

  • segment inspection (list-segments),
  • direct target editing (set-target),
  • project browsing (list-projects), and
  • prompt management (prompt).

Every command supports --dry-run for safe previewing and --json for structured output, making the CLI suitable for AI agent workflows as well as scripting. The CLI is a self-contained portable executable with no installation required.

LLM Provider Configuration

To use the translate command – whether you’re running it directly from the command line or via multifariousMCP in Claude Desktop – you need to connect SDLXLIFF Refiner to at least one LLM provider. The Settings window has an API Keys tab for this.

You can store keys for OpenAI, Anthropic, and Google Gemini directly in the application. They’re encrypted using Windows DPAPI so they’re only accessible under your own Windows user account. Once saved, the CLI picks them up automatically – no need to pass --api-key on the command line every time, and no risk of keys ending up in your shell history or scripts.

Beyond the three built-in providers, you can define named provider profiles. A profile combines a name, a provider type, a model identifier, and – if you’re using a custom endpoint like Azure OpenAI – an API URL. Each profile can have its own stored key. Instead of spelling out --provider openai --model gpt-4o every time, you save a profile called something like gpt4o and reference it by name.

This is where multifariousMCP fits in. multifariousMCP is a companion MCP server that exposes the SDLXLIFF Refiner CLI as tools that Claude can call directly within a Claude Desktop session. Claude can inspect your files, read segment content, apply terminology fixes, run translations via your configured provider, and verify the results – all within a normal conversation, without you switching between applications or typing commands manually. The API keys and provider profiles you set up here are the same ones multifariousMCP uses when it drives the CLI on your behalf, so there’s nothing extra to configure.

SDL Review Comments

The CLI now supports reading and writing SDL review comments directly in SDLXLIFF files. You can list all comments with their row numbers, add comments to specific segments, delete individual comments by ID, or strip all comments from a file or an entire project in one pass. Useful for bulk comment cleanup before delivery, or for AI agent workflows that need to flag segments for human review.

Locked Segment Handling

Segments locked in Trados Studio are visually marked, cannot be edited, and are automatically skipped during paste operations. You’ll always know which segments are locked and you won’t accidentally overwrite them.

Two-Tier Backup System

Every save creates a .bak rolling backup. On top of that, a permanent “original backup” preserves the file exactly as it was when you first opened it. If someone else edits the file in Trados Studio while you’re working on it, SDLXLIFF Refiner detects the external change and gives you options. You can restore any file to its original state at any time.

Merged Document Support

SDLXLIFF files based on merged documents are notoriously tricky – many external tools struggle with them. SDLXLIFF Refiner handles both within-paragraph merges and cross-paragraph merges correctly, filtering out ghost placeholder segments that would otherwise clutter your view.

Light & Dark Themes

Full light and dark theme support with customisable colours. The dark theme is VS Code-inspired and easy on the eyes for long editing sessions.

What’s in the Download?

The download zip contains three files:

  • SdlxliffRefinerSetup-2.6.0.exe – installer for the desktop application (includes Start Menu and optional desktop shortcuts)
  • sdlxliff-refiner.exe – the CLI tool as a standalone portable executable (no installation needed – just put it wherever you like)
  • CLI-User-Guide.docx – command reference for the CLI tool

The sdlxliff-refiner.exe is used within the multifariousMCP.

Silent Installation

The installer supports Inno Setup’s silent install switches for automated deployment:

SdlxliffRefinerSetup-2.6.0.exe /VERYSILENT /SUPPRESSMSGBOXES
SdlxliffRefinerSetup-2.6.0.exe /VERYSILENT /SUPPRESSMSGBOXES /DesktopIcon=1

/SILENT shows a progress bar but no prompts. /VERYSILENT runs with no UI at all. Add /DesktopIcon=1 to create a desktop shortcut during silent install.

Requirements

  • Windows with .NET 8 runtime (desktop application) or any 64-bit Windows (CLI – self-contained, no runtime needed)
  • No Trados Studio installation required (but reads Studio project files if available)
  • No third-party dependencies

Who is it for?

SDLXLIFF Refiner is for professional translators who use Trados Studio and want to incorporate LLM technology into their workflow without using the APIs and being able to use the full context of the file. It’s also useful if you simply need a quick way to view or edit SDLXLIFF files outside of Studio – for batch text replacements, tag cleanup, or reviewing translations. If you manage multiple projects or language pairs and need to apply consistent changes at scale, the CLI tool lets you script those operations without opening the desktop application.

If you’ve ever tried copying segments out of Trados Studio into an LLM and then struggled to get the translations back in with the right alignment and tags intact, this tool was built for exactly that problem.

Version History

Version 3.2.0 Current

Released: March 9, 2026

New features

SDL review comment support (CLI)

A new comment command allows reading and writing SDL review comments in SDLXLIFF files directly from the command line.

  • --list - reads all comment definitions from the file and reports their text, severity, author, date, and the row numbers of all segments they appear on.
  • --add --row --text - wraps the entire target segment content in a new comment marker and creates the corresponding cmt-def entry. Supports --severity (low/medium/high, default medium) and --author.
  • --delete --id - removes a comment definition and unwraps all associated inline markers, preserving the wrapped text.
  • --delete-all - removes all comment definitions and markers in one pass; supports project batch mode.

All operations support --file/--project/--language, --dry-run, --no-backup, and --json. Locked segments and segments with no target text are skipped by --add. Dry-run reports what would be changed without writing to disk.

New Core component: CommentManager

CommentManager (SdlxliffRefiner.Core/Core/CommentManager.cs) handles all comment XML operations against XDocument instances using XLinq throughout. It operates independently of SdlxliffWriter to avoid any interaction between the comment XML layer and the segment tag serialisation layer.

Supports the full SDLXLIFF comment structure: entries in linked to markers in target segments. The same UUID may appear across multiple segments when a comment spans a segment boundary.

New data model: SegmentComment

SegmentComment (SdlxliffRefiner.Core/Models/SegmentComment.cs) represents a single comment definition with its Id, Text, Severity, Author, Date, and a Usages list of (TuId, SegId) pairs. A RowNumbers list is populated by the CLI layer after resolving segments via FileProcessor.

Notes

 

  • Comment markers wrap entire segment content only. Sub-word selection as in Trados Studio is not available via the CLI.
  • The WPF desktop application does not currently expose comment editing; comments are a CLI-only feature in this release.

Version 3.0.0

Released: March 8, 2026

New — CLI: translate command

Automated translation of source segments via LLM providers, writing results directly back into target segments. No manual clipboard steps required.

  • Providers: OpenAI (openai) and Anthropic (anthropic)

  • Sends segments to the provider in numbered, word-limited chunks using the same format as the GUI clipboard workflow

  • Supports all three prompt sources: --prompt-project (project's stored LLM prompt), --prompt-file, and inline --prompt

  • --empty-only to skip segments that already have a target

  • --chunk-limit to override the word limit per chunk

  • --temperature for LLM temperature control

  • --dry-run outputs chunk breakdown (row range, segment count, word count, prompt preview) without calling the provider

  • API keys resolved in order: --api-key flag, environment variable (SDLXLIFF_OPENAI_KEY, SDLXLIFF_ANTHROPIC_KEY), stored key via the desktop application's API Keys settings

  • Full --json support including dry-run chunk previews

New — CLI: list-projects command

Lists Trados Studio projects and their bilingual files without requiring a file argument.

  • Without --project: lists all projects from projects.xml with name, status, and source language

  • With --project : lists bilingual files grouped by target language, with missing-file indicators

  • projects.xml resolved using the same three-step priority as project mode (flag → settings → default Trados Studio 2024 path)

  • Full --json support

New — CLI: set-target command

Sets target segment text directly, without going through an LLM provider.

  • Mode A (--row --text ): update a single segment by row number

  • Mode B (--from-json ): bulk-apply targets from a JSON file - accepts list-segments --json output directly, or a bare [{row, target}] array, enabling a natural round-trip with external tools and AI agents

  • Mode C (--clear [--status empty|draft|translated]): clear target text from matching unlocked segments

  • Full --dry-run and --json support across all modes

New — CLI: prompt command

Manage per-project LLM prompts from the command line - the same prompts used by the GUI's "Copy Source (with Prompt)" workflow.

  • --show: display the current prompt for a project

  • --set with --prompt-file or --prompt: save a custom prompt

  • --reset: remove custom prompt, restoring the built-in default

  • --list: list all projects that have a custom prompt file

New — Core: shared text processing library

Logic previously embedded in the WPF application has been extracted into the shared Core library, making it available to both the GUI and the CLI translate command.

  • TextUtilities.cs - word counting that strips tag placeholders before counting

  • ChunkData.cs - immutable chunk descriptor (row range, segment count, word count)

  • ChunkBuilder.cs - splits a segment list into word-limited chunks

  • NumberedTextFormatter.cs - builds numbered tab-delimited text from segments, with optional prompt prepended per chunk

  • NumberedTextParser.cs - parses numbered LLM responses and applies them to segments by row number; handles [BR] markers and unlocked-only filtering

CopyChunkDialog in the WPF application now delegates its chunking and word-count logic to these Core classes rather than maintaining its own implementation.

New — Core: ApiKeyManager

Encrypted storage of LLM provider API keys using Windows DPAPI (per-user scope). Keys are stored in %AppData%/SdlxliffRefiner/apikeys.dat as an encrypted JSON blob, readable only by the user who stored them. Supports OpenAI and Anthropic keys with GetKey, SetKey, HasKey, and InvalidateCache methods.

New — Desktop: API Keys settings tab

New tab in the Settings window for storing LLM provider API keys. Each provider (OpenAI, Anthropic) has a password box (toggleable to show), a status indicator, and a Save action. Keys stored here are used by the CLI translate command when no --api-key flag or environment variable is present.

Fixed — CLI: markdown code fence stripping in NumberedTextParser

Some LLM providers (notably GPT-4o) wrap their response in markdown code fences (e.g. ```plaintext). The parser now strips these before checking the numbered format, preventing a failure where the first line was not recognised as a row number and the entire translation was discarded.

Version 2.6.0

Released: February 26, 2026

SDLXLIFF Refiner - Changelog

Version 2.6.0 - 26 February 2026

New: Command-Line Interface (CLI)

A new companion CLI tool (sdlxliff-refiner.exe) provides command-line access to search and replace, tag manipulation, and file inspection. Designed for scripting, batch processing, and integration with other tools.

Five commands are available:

  • replace - find and replace text in target segments (plain text or regex)
  • remove-tag - remove tag pairs from target segments, preserving wrapped text
  • replace-tag - swap one tag type for another in target segments
  • list-tags - display the tag inventory for one or more files
  • info - show segment counts, confirmation levels, and lock status

The CLI supports both single-file and project-wide batch operations. Project mode resolves files from Trados Studio's projects.xml, with automatic fallback to the desktop application's settings or the default Trados Studio 2024 path. All commands support --dry-run for safe previewing.

The published CLI executable is fully self-contained and requires no prerequisites on 64-bit Windows.

New: Multi-Project Solution Architecture

The solution has been restructured from a single WPF project into three projects:

  • SdlxliffRefiner.Core - shared class library containing all parsing, processing, and data model code
  • SdlxliffTranslator - WPF desktop application (references Core)
  • SdlxliffRefiner.Cli - CLI tool (references Core)

All parsing, writing, search/replace, tag processing, settings, prompt management, backup management, and project resolution code has been extracted into the Core library. The WPF project retains only UI-specific code (ThemeManager, windows, controls, converters). Both the desktop application and CLI produce identical results from the same engine.

New: Centralised Build Configuration

A Directory.Build.props file at the solution root centralises shared build properties across all three projects: target framework, version number, company metadata, and common compiler settings. Version bumps now require changing only one file (plus the Inno Setup script).

Changed: Version Display

The About window now reads the version number dynamically from the assembly metadata rather than a hardcoded string. The version is set once in Directory.Build.props and propagated automatically to all projects.

Changed: Inno Setup Installer

 

The installer script has been updated from version 2.5.0 to 2.6.0. Source paths remain aligned with the WPF project's publish output.

Version 2.5.0

Released: February 22, 2026

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.