Most localization teams don't fail because they picked the wrong vendor. They fail because they assembled a stack without knowing what the stack actually needs to do. The result is a translation management system that can't parse your ICU MessageFormat strings, a machine translation engine that ignores your glossary, and a quality assurance process that amounts to a single bilingual reviewer eyeballing screenshots. This guide breaks down the three pillars of a modern text localization stack, TMS, MT, and LQA, and provides a structured framework for evaluating, scoring, and procuring each component. By the end, you'll have a scoring matrix, an RFP checklist with concrete test cases, and stack patterns matched to your company stage and content mix.
Defining the Modern Text Localization Stack
A localization stack is more than a list of tools. It's an interconnected system where each layer depends on well-defined inputs and outputs. Before comparing vendors, you need to establish what "done right" looks like at the foundation level.
Source-of-Truth for Strings
Every localization workflow begins with a canonical source of strings. For software products, this is typically a set of resource files (JSON, XLIFF, ARB, .strings, .properties) stored in a version-controlled repository. The source-of-truth must be unambiguous: one file or database record per string key, per locale. If your developers are editing strings in code while translators are editing them in a TMS, you have two sources of truth, and therefore zero.
A well-designed source-of-truth enforces:
- Unique string keys with consistent naming conventions (e.g., screen.settings.label.save)
- Separation of translatable content from code logic, so linguists never encounter raw variables or conditional blocks
- Immutable snapshots at release boundaries, enabling version diffs between localization cycles
String Formats: JSON, XLIFF, and ICU MessageFormat
Your stack must handle the file formats your engineering team actually uses. JSON is the most common for web and mobile apps, but its lack of metadata (context, character limits, translator notes) makes it fragile for localization at scale. XLIFF 2.0 solves this by wrapping each translation unit in rich metadata, and most professional TMS platforms support it natively.
ICU MessageFormat is the standard for handling pluralization, gender selection, and number formatting within strings. A string like {count, plural, one {# item} other {# items}} must be parsed correctly by every layer of the stack, TMS, MT engine, and QA tooling. If your TMS flattens ICU syntax into plain text before sending it to translators, you'll get broken plurals in production. Test for this explicitly during evaluation.
Glossary, Termbase, and Style Guides
A glossary (or termbase) is a controlled vocabulary of terms that must be translated consistently. "Dashboard" might always remain "Dashboard" in German for your product, or it might always become "Übersicht." Without a termbase, every translator makes this decision independently, and consistency erodes across languages and releases.
Style guides complement termbases by defining tone, formality level, date/time formatting preferences, and brand voice rules per locale. Together, these assets form the linguistic governance layer of your stack. Any TMS or MT engine you evaluate should support:
- Termbase import/export in TBX format
- Glossary enforcement during translation (warnings or hard blocks)
- Style guide attachment at the project or language level
Linguist Workflows and Roles
Translation is not a single step. A mature workflow includes translation, editing (or review), and often a separate in-context review phase. Your stack should support configurable workflow stages with role-based access: translators see only their assigned strings, reviewers can approve or reject with comments, and project managers have visibility across all languages.
Look for support for translation memory (TM) leverage, where previously translated segments are suggested automatically, and for the ability to lock approved translations against accidental edits in future cycles.
TMS Capabilities: What Separates Good from Great
The translation management system is the operational hub. It orchestrates file exchange, translator assignment, progress tracking, and delivery. But not all TMS platforms are built equal, and the differences show up in the details that matter most to engineering and localization teams working at velocity.
Connectors and Integrations
A TMS that can't connect to your code repository, design tool, or CMS creates manual handoff points, and manual handoff points create delays and errors. Evaluate connectors for:
- Git-based repos (GitHub, GitLab, Bitbucket): Does the connector support branch-aware syncing, or does it only pull from main?
- Design tools (Figma, Sketch): Can translators see and edit strings in visual context?
- CMS platforms (WordPress, Contentful, Strapi): Does the connector handle structured content models, or does it flatten everything into a single blob?
- Marketing automation and support tools: Zendesk, HubSpot, and similar platforms often have their own string structures.
The best connectors are bidirectional, support filtering (so you only send changed strings), and preserve file structure on round-trip. Consider an orchestration layer (for example, Ollang) that centralizes connectors and reduces custom integration work.
In-Context Previews
Translators produce better output when they can see where a string appears in the product. In-context preview means rendering the translated string inside a live or simulated version of the UI. This is especially critical for short strings (button labels, menu items) where character limits and layout constraints determine whether a translation works.
Some TMS platforms offer browser-based preview via a JavaScript snippet injected into your staging environment. Others generate static screenshots. The former is more accurate but requires a working staging URL; the latter is easier to set up but quickly becomes stale.
Branching and Version Diffs
If your development team uses feature branches, your localization workflow should mirror that structure. A TMS with branching support lets you localize strings on a feature branch without polluting the main translation memory or overwriting work in progress on other branches.
Version diffs, the ability to see exactly which strings changed between two points in time, are essential for incremental localization. Without diffs, you're either re-translating everything (expensive) or manually tracking changes in spreadsheets (error-prone).
MT Engines: Domain Adaptation, Glossary Injection, and Cost
Machine translation has moved from "useful for gisting" to "production-viable for many content types." But the gap between a generic MT output and a domain-adapted, glossary-injected MT output is enormous. Choosing the right MT engine, and configuring it correctly, is one of the highest-leverage decisions in your stack.
Generic vs. Domain-Adapted MT
Generic engines like Google Translate and DeepL perform well on general-purpose content but struggle with domain-specific terminology, product names, and brand voice. Domain adaptation (also called custom training or fine-tuning) uses your existing translation memory and glossary to train a model that reflects your specific vocabulary and style.
According to Intento's 2023 State of Machine Translation report, domain-adapted models can reduce post-editing effort compared to generic baselines, though the exact improvement varies by language pair and content type. The tradeoff is setup time, ongoing maintenance, and cost: custom models require curated training data and periodic retraining as your product evolves.
Glossary Injection and Terminology Control
Even without full domain adaptation, most MT APIs and orchestration platforms like Ollang support glossary injection, forcing the engine to use specific translations for designated terms. Google Cloud Translation, DeepL, and Amazon Translate all offer this feature, though implementation quality varies. Test with your actual glossary: does the engine respect multi-word terms? Does it handle inflected forms correctly in morphologically rich languages like Finnish or Turkish?
Glossary injection is not a substitute for domain adaptation, but it's a cost-effective way to enforce critical terminology without custom training.
Cost Models
MT pricing typically follows one of three models:
| Model | How It Works | Best For |
|---|---|---|
| Per-character | Pay for each character sent to the API | Low-to-moderate volume, variable demand |
| Per-word (post-edited) | Pay per word of MT output that goes through human review | Content requiring high quality with MT acceleration |
| Subscription/tier | Fixed monthly fee with usage caps | Predictable, high-volume workloads |
Factor in not just the translation cost but the post-editing cost. Cheap MT that requires heavy post-editing can end up more expensive than a pricier engine with better raw output.
LQA and Quality Estimation: COMET, Sampling, and Automation
Translation quality assurance is the layer most often skipped, and most often regretted. A single mistranslated legal disclaimer or a broken placeholder in a payment flow can cost more than the entire localization budget.
Automated QA Checks
Every TMS should include basic automated checks: missing placeholders, inconsistent terminology, double spaces, untranslated segments, and length violations. These are table-stakes features. The more sophisticated question is whether the platform supports custom QA rules, for example, flagging any translation that exceeds 130% of the source string length, or detecting HTML tags that were altered during translation.
Quality Estimation with COMET and MQM
Quality estimation (QE) models like COMET predict translation quality without requiring a human reference translation. COMET scores correlate well with human judgments and can be used to triage MT output: high-scoring segments go straight to production, while low-scoring segments are routed to human reviewers. This dramatically reduces review costs without sacrificing quality on the segments that matter.
For more structured quality measurement, the Multidimensional Quality Metrics (MQM) framework provides a taxonomy of error types (accuracy, fluency, terminology, style) with severity levels. MQM-based LQA produces actionable data: you can identify whether a specific translator consistently makes accuracy errors, or whether a particular MT engine struggles with fluency in Japanese.
Sampling Strategies
Full human review of every translated string is prohibitively expensive at scale. Sampling strategies let you review a statistically meaningful subset:
- Random sampling: Review a fixed percentage of segments per language per release
- Risk-based sampling: Prioritize review of user-facing, legal, or safety-critical strings
- Model-guided sampling: Use QE scores to select the segments most likely to contain errors
Combining model-guided sampling with MQM-based scoring gives you the best ratio of quality signal to review cost.
API Evaluation: Auth, Webhooks, and Rate Limits
Your localization stack doesn't exist in isolation, it must integrate with your engineering infrastructure. API quality determines whether that integration is seamless or fragile.
Authentication and Security
Look for OAuth 2.0 or API key authentication with scoped permissions. A well-designed API lets you create keys with granular access: one key for your CI pipeline that can only push and pull strings, another for your analytics dashboard that can only read project metadata.
Webhooks and Event-Driven Workflows
Webhooks enable event-driven automation: when a translation is completed, the TMS notifies your system, which triggers a pull request or a deployment. Without webhooks, you're left polling the API on a timer, wasteful and slow. Evaluate webhook reliability: does the vendor guarantee delivery? Is there a retry mechanism for failed deliveries? Can you filter events by project, language, or workflow stage?
Rate Limits and Throughput
Rate limits matter when you're syncing thousands of strings across dozens of languages in a CI/CD pipeline. Ask vendors for documented rate limits and whether burst capacity is available. A TMS that throttles your API calls to 60 requests per minute will bottleneck a deployment pipeline that needs to sync 40 locale files in parallel.
