Most localization bottlenecks are not translation problems, they are integration problems. Content lives in a CMS, strings live in a code repository, design copy lives in Figma, and translation memory lives in a TMS. Without tight API connections between these systems, teams resort to manual file handoffs, stale translations ship to production, and engineers burn cycles on work that should be automated. This playbook provides reference architectures, payload patterns, and CI/CD gates so your engineering team can build a resilient, observable, and secure translation pipeline. Whether you manage a handful of locales or hundreds, the patterns here scale. If you need an AI-powered execution layer that already handles these integrations, explore how Ollang can accelerate your pipeline.
Why API-First Localization Beats Manual Handoffs
The Cost of Copy-Paste Workflows
Manual localization workflows, exporting spreadsheets, emailing files, re-importing translations, introduce delay at every step. A single content update can take days to reach translators, and the return trip is just as slow. Worse, each handoff is an opportunity for human error: mismatched keys, overwritten translations, formatting corruption. Teams that rely on copy-paste workflows frequently discover that production content is out of sync with the source of truth, leading to inconsistent user experiences and costly hotfixes.
The operational cost compounds as you add locales. What works passably for two languages collapses at ten. Engineers get pulled into file management instead of building product features, and translators lose context because they receive strings stripped of surrounding UI.
Velocity, Quality, and Observability Gains
An API-first approach eliminates these handoffs entirely. Source content changes trigger automated extraction, translation, review, and deployment, often within minutes. The gains fall into three categories:
- Velocity: Delta detection means only changed strings are sent for translation, reducing turnaround from days to hours or minutes.
- Quality: Translators work in context with stable reference IDs, and automated quality checks catch errors before deployment.
- Observability: Every API call is logged, every webhook delivery is tracked, and dashboards surface bottlenecks in real time.
Organizations that adopt continuous localization report significantly faster time-to-market for multilingual releases, according to research from CSA Research. The shift from batch-based to event-driven translation is the single highest-leverage change a localization team can make.
Reference Architecture Overview
An orchestration layer (for example, Ollang) centralizes connectors, delta detection, and job routing so teams do not have to build point integrations for each system. The following connector patterns are the building blocks for that orchestration.
CMS Connectors: Adobe Experience Manager and Contentful
Content management systems are the primary source of truth for marketing pages, help articles, and editorial content. The integration pattern differs by CMS architecture.
Adobe Experience Manager (AEM) exposes content via its Assets HTTP API and Content Fragment API. A typical integration registers a workflow launcher that fires when a content author publishes or updates a page. The launcher calls your translation orchestration layer, which extracts translatable nodes from the JCR content tree, preserving structure and metadata. Translated content is written back to language-copy pages via the same API.
Contentful follows a webhook-driven model. You configure a webhook on the Entry.publish event, which posts the entry payload, including locale fields, to your translation service endpoint. Contentful's Content Management API supports locale-aware field updates, so translations can be written directly back to the appropriate locale variant of each entry. The key architectural decision is whether to use Contentful's built-in locale model or manage locale entries as separate content objects; the former is simpler, the latter offers more granular publishing control.
In both cases, the connector must handle:
- Extracting only translatable fields (skipping system metadata, asset references, and boolean flags)
- Preserving rich-text formatting (HTML or Contentful's rich-text JSON)
- Mapping CMS content IDs to stable translation keys
Repository Connectors: GitHub and GitLab
For product UI strings, the repository is the source of truth. The integration pattern centers on monitoring locale resource files, typically JSON, YAML, ARB, or .strings files, within the repo.
GitHub and GitLab both support webhooks on push and pull-request events. When a developer pushes changes to the source locale file (e.g., en.json), a webhook triggers your translation pipeline. The pipeline diffs the changed file against the previous commit to identify new, modified, and deleted keys, this is delta detection, and it is critical for avoiding redundant translation work.
A robust connector uses the repository's API (GitHub's REST or GraphQL API, GitLab's Repository Files API) to:
- Fetch the changed source file at the specific commit SHA
- Compute the delta against the last-processed commit
- Send only changed segments to the TMS or AI engine
- Write translated files back to a feature branch
- Open a pull/merge request for review
This PR-based workflow gives engineers visibility into what changed and lets CI checks validate the translations before merge.
Design Tool Connectors: Figma
Figma has become a primary source of UI copy, especially in design-led organizations. The Figma REST API exposes text nodes within frames, making it possible to extract copy, send it for translation, and write translations back into design files or directly into code-ready resource files.
The practical challenge with Figma is that designers rarely think in terms of string keys. A connector must assign stable identifiers to text nodes (Figma's internal node IDs work well) and maintain a mapping table between design nodes and code-level translation keys. This mapping enables a closed loop: copy changes in Figma flow to the TMS, translations flow back to both Figma (for design review) and the repository (for development).
Product Analytics and Feature Flags
Connecting product analytics to your translation pipeline enables prioritization. If analytics data shows that a particular feature is used by a high percentage of users in a target locale, those strings can be prioritized in the translation queue. Similarly, feature-flag systems (LaunchDarkly, Unleash, or homegrown solutions) allow you to gate localized features, releasing translations only when they pass quality checks.
The integration is lightweight: your translation orchestration layer queries the analytics or feature-flag API to annotate translation jobs with priority metadata and to control deployment timing.
String Extraction, Stable IDs, and Format Handling
Designing Stable Translation Keys
Unstable keys are one of the most common causes of translation loss. If a key changes from homepage.hero.title to home.hero_title between releases, the TMS treats it as a new string and the existing translation is orphaned. Stable key design follows a few principles:
- Use a hierarchical, dot-separated namespace that reflects logical structure, not file paths or component names that refactor frequently.
- Never auto-generate keys from source text (e.g., hashing "Welcome back" to a3f9b2c). Source text changes; the key should not.
- Document key naming conventions in a style guide and enforce them with a linter.
A stable key looks like onboarding.welcome.heading, it describes where and what, not how the string reads.
ICU MessageFormat and Plural Handling
Pluralization and variable interpolation are where naive string handling breaks down. The ICU MessageFormat standard provides a syntax that handles plurals, gender, and select expressions across languages with different grammatical rules.
A source string like:
{count, plural, one {# item in your cart} other {# items in your cart}}
allows translators to provide the correct plural forms for each target language, critical for languages like Arabic (six plural forms) or Polish (three). Your extraction pipeline must:
- Detect ICU syntax and pass the full message pattern to the TMS, not just the inner text fragments
- Validate that translated strings contain the same placeholders and plural categories as the source
- Reject translations that break ICU syntax before they reach production
Delta Detection and Deduplication
Sending your entire string catalog for translation on every change is wasteful and slow. Delta detection compares the current source file against the last-processed version and extracts only new or modified key-value pairs.
The algorithm is straightforward:
- Load the previous source snapshot (stored in your orchestration layer's database or fetched from the repo at the last-processed commit)
- Diff keys: identify added, removed, and modified entries
- For modified entries, compare source values, if only whitespace or comments changed, skip
- Deduplicate across files: if the same source string appears in multiple locations, translate once and fan out
Delta detection reduces translation volume dramatically in mature products where most strings are stable between releases.
API Mechanics: Auth, Rate Limits, Batching, and Reliability
Authentication and Secrets Management
Every integration involves API credentials, OAuth tokens, API keys, service account certificates. These secrets must never be hardcoded in source files or CI configurations.
Best practices:
| Concern | Recommended Approach |
|---|---|
| Storage | Use a secrets manager (HashiCorp Vault, AWS Secrets Manager, GCP Secret Manager) |
| Rotation | Automate key rotation on a schedule; avoid long-lived tokens |
| Scope | Issue credentials with minimum necessary permissions (read-only where possible) |
| Audit | Log all credential access; alert on anomalous usage |
For webhook endpoints that receive payloads from external systems, validate signatures. GitHub signs webhook payloads with HMAC-SHA256; Contentful provides a signing secret. Always verify before processing.
Rate Limiting and Backoff Strategies
Every API you integrate with enforces rate limits. Contentful's CMA allows 10 requests per second for content management operations. GitHub's REST API permits 5,000 requests per hour for authenticated users. TMS APIs vary widely.
Your connector must implement:
- Exponential backoff with jitter: On a 429 (rate-limited) response, wait an increasing interval plus a random offset to avoid thundering-herd problems.
- Request batching: Group multiple string updates into a single API call where the endpoint supports bulk operations.
- Queue-based throttling: Use a message queue (SQS, RabbitMQ, or a Redis-backed queue) to buffer outgoing requests and drain at a rate below the limit.
Batching, Retries, and Idempotency Keys
Network calls fail. Your pipeline must handle transient errors gracefully.
Batching reduces the number of API calls and improves throughput. Instead of sending one string per request, batch strings into payloads of 50-200 segments (tuned to the TMS API's limits and your average segment size).
Retries should follow a policy: retry on 5xx errors and timeouts up to three times with exponential backoff; do not retry on 4xx client errors (except 429).
Idempotency keys prevent duplicate processing. Attach a unique key (e.g., a UUID or a hash of the job parameters) to each translation request. If a retry sends the same payload, the TMS can recognize it as a duplicate and return the existing result instead of creating a new job. This is essential for avoiding double charges and conflicting translation versions.
PII Handling and VPC Options
Translation payloads often contain user-generated content or data that includes personally identifiable information. Compliance with GDPR, CCPA, and other privacy regulations requires:
- PII detection and redaction: Scan outgoing payloads for patterns (email addresses, phone numbers, names) and replace them with placeholders before sending to external translation services. Restore original values after translation.
- Data residency: Some regulations require data to remain within specific geographic boundaries. Choose TMS providers and cloud regions that support your residency requirements.
- VPC peering and private endpoints: For maximum security, connect to your TMS or AI engine over a private network rather than the public internet. Major cloud providers support VPC peering and AWS PrivateLink / GCP Private Service Connect for this purpose.
If your organization requires enterprise-grade security for translation data, talk to the Ollang team about VPC and data-residency options.
