Connecting Smartling or Phrase to Contentful and Contentstack After a Migration

Your migration to Contentful or Contentstack is signed off, the new site is live, and the localization workstream that looked like a two-week connector install is now the thing holding up your global launch. The Smartling or Phrase demo can make implementation look like a simple connector install. In production, poorly configured integrations may skip embedded references, rich-text relationships, or previously translated content, leaving localization teams to troubleshoot issues that only appear at enterprise scale.

eight25 is a certified partner for both Contentful and Contentstack, and we have built translation management integration into enterprise headless estates, including Phrase on Contentstack for Sophos and a Trados connector for NetApp’s 10-language build. The honest answer most vendors will not give you: connecting Smartling or Phrase is the easy part. Whether it works comes down to three things you set before the connector installs: the localization model you migrated into, the content the connector silently skips, and whether you reuse translation memory instead of re-translating.

Why Localization Stalls After a Migration

Migration plans budget carefully for content modeling, redirects, and editor training, then treat translation as a connector line item near the end. That ordering is backwards. Translation touches every content type, every locale, and every field you marked as translatable, so the localization workstream inherits every compromise made earlier in the migration.

Three things stall it, and none of them are the connector:

  1. The connector assumes a clean, translation-ready content model. Migrations rarely produce one on the first pass. Localizable and non-localizable fields get mixed, and structured components hide translatable strings the connector never sees.
  2. Without careful migration planning, legacy translations can be imported as new source content rather than linked to existing translation memory. When locale mappings or translation history are not preserved, organizations risk paying to translate content they already own.
  3. Nobody owns the workstream. Translation gets absorbed into status calls as project-management overhead instead of being scoped as a workstream with a named owner, credentials, and lead time.

On NetApp’s roughly 14,000-page, 10-language Contentstack build, translation was never one problem. It was three: pages that stay English-only, English-source pages translated into every locale, and unique localized pages with no English equivalent. A connector configured for one of those patterns quietly mishandles the other two.

To be fair, translation genuinely is close to a toggle in one scenario: a single source language flowing into two or three locales with flat content types. The complexity scales with locale count, content-model depth, and how much legacy translation you are carrying forward. If you have all three, treat this as an architecture decision, not an install.

The Model Decision: Field-Level vs Entry-Level Localization

Before evaluating Smartling or Phrase, it’s worth understanding how enterprise headless CMS platforms approach localization. Contentful and Contentstack both provide mature localization capabilities that enterprise translation platforms can build upon, but their localization models influence how connectors should be configured.

Contentful localizes at the field level. Every field on every content type can be independently marked localizable, with multi-level fallback chains such as de-CH to de-AT to de-DE. The connector reads which fields are flagged and sends only those. Flag the wrong ones and you either ship untranslated fields to market or hand translators non-translatable configuration (API keys, layout flags, reference IDs) to “translate.”

Contentstack localizes at the entry level. Content has a master locale and one level of fallback to that master. Once localized fields are edited within a locale, that locale begins diverging from the master entry while continuing to follow Contentstack’s localization model. The connector operates on whole-entry variants, which makes field mapping simpler, but a later re-model can break the master-to-locale relationship across thousands of entries.

DimensionContentful (field-level)Contentstack (entry-level)
GranularityPer-field, per content typePer-entry, against a master locale
FallbackMulti-level chains (de-CH to de-AT to de-DE)Single level, to master locale
What the connector sendsOnly fields flagged localizableThe whole entry as a locale variant
Biggest riskMis-flagged fields (config sent, or content skipped)Broken inheritance after a re-model
Best fitDeveloper-led, granular market controlPrescriptive editorial workflows at scale

Both models are mature enterprise approaches, but each optimizes for different operating models. Contentful offers extremely granular field-level localization that suits developer-led teams, while Contentstack emphasizes structured editorial workflows built around localized entries. The point is that your connector configuration is downstream of this model. Get the mapping wrong and no connector saves you.

How Smartling and Phrase Connect to Each Platform

All four combinations run through the same loop: the connector reads content through the CMS management API, opens a translation job in the TMS, and writes the translated content back into the target locale. One reason Contentful and Contentstack are common choices for enterprise localization is that both provide mature APIs and well-supported integration ecosystems, reducing the amount of custom engineering compared with platforms that require bespoke translation workflows.”

CMS + TMSIntegration pathSync modelWatch-out
Contentstack + PhraseMarketplace connector / AutomateJob triggered on workflow state, writes back to localeValidate rich-text and reference handling on real content
Contentstack + SmartlingMarketplace app / API + AutomateEntry-variant push, status callbackConfirm entry-level variant mapping and locale codes
Contentful + PhraseApp-framework connectorField-level push per flagged fieldField-flag audit before first job
Contentful + SmartlingSmartling Connector for Contentful (marketplace)Field-level push, in-context previewNon-localizable fields must be excluded explicitly

“Native” carries real weight here. On the Sophos platform consolidation, Contentstack’s Marketplace connectors and workflow tooling were a genuine factor in the evaluation, alongside Contentful’s mature ecosystem of marketplace integrations. A custom Phrase integration on Storyblok was scoped at roughly three to five developer days just to build the roundtrip that came out of the box elsewhere. That number is the difference between configuring a connector and engineering one.

What the Connector Silently Skips

The failure mode is almost never “the connector did not work.” It is “the connector worked on 80% of the content and nobody checked the other 20%.” Here is where translated content quietly stays in English:

Content elementSent by connector by default?Handling required
Plain text and short-text fieldsYesNone
Rich text (inline prose)UsuallyConfirm formatting survives roundtrip
Entries embedded inside rich textMay require additional configurationExtract as referenced entries; queue explicitly
Linked reference entriesDepends on connector configurationAdd references to the job scope deliberately
SEO / meta fields (title, description)Only if flaggedMark localizable; these drive international SEO
Media alt text and captionsOften requires explicit inclusionInclude in scope or accept untranslated assets
Non-translatable config (keys, flags)Sometimes yes (wrongly)Exclude explicitly so it is not “translated”

One of the most common enterprise issues appears inside rich-text content. An embedded entry or inline reference within a rich-text field is a separate entry the connector may not follow. You translate the paragraph, and the callout, product card, or CTA sitting inside it ships in English. This is the exact class of edge case a generic connector setup skips and a practitioner tests for on day one.

Don’t Re-Translate: Reusing Translation Memory After a Re-Model

The single most expensive post-migration localization mistake is re-translating content you have already paid to translate. Translation memory typically resides in the translation management system (such as Smartling or Phrase), not within the CMS itself, so a migration does not move it, and a re-model can quietly make it unreachable.

The mechanism is subtle. TM matches on source segments. When you re-model content during migration, the source strings shift just enough (different segmentation, changed whitespace, restructured rich text) that near-perfect matches drop to fuzzy matches or no match at all. The translation is still in the TMS. The connector just cannot see that it applies.

Post-migration situationThe costly moveThe right move
Content re-modeled during migrationQueue everything as new sourceRe-import legacy translations into target locales as translations
Locale codes changed (en_US to en-US)Let the connector create empty localesMap old-to-new locale codes before the first job
Thousands of already-translated pagesRe-run them through the TMSSeed TM from the old platform, then run to confirm match rates
Glossary and style guide from old stackRebuild from scratchExport and re-import glossary/TM before translators touch a segment

Before the first production job, run a representative content sample and check the match rate. If content you know was translated comes back below a high match percentage, your source strings drifted in the migration, and you fix the mapping before you spend a cent on re-translation.

The Translation Workflow, Status Sync, and Governance

A connector moves strings. A workflow decides when they move, who approves them, and which markets get legally reviewed content instead of a machine draft. The roundtrip needs explicit states, not an implicit “send it when it is ready.”

A workable state model for either platform:

  1. Draft: authored in the master/source locale, not yet ready
  2. Ready for Translation: a webhook triggers the TMS job on this transition
  3. In Translation: owned by Smartling or Phrase; status is read-only in the CMS
  4. Translated: content written back to the target locale, pending review
  5. In-Market Review: regional or legal reviewer validates before publish
  6. Published: live, with per-locale publish gates

Governance is where regulated and multi-brand estates separate from the rest. Fallback is a per-locale decision, not a global setting: fr-CA can fall back to fr-FR, but a market that needs an independent, legally reviewed variant must never inherit silently.

RolePermissionScope
AuthorCreate/edit source, mark Ready for TranslationMaster locale
Translation ManagerConfigure jobs, TM, glossaryAll locales, TMS
In-Market ReviewerApprove/reject translated contentAssigned locale only
PublisherPublish to productionProduction, per-locale gate

We design this state model and role matrix in discovery, before the connector is installed, because retrofitting workflow onto live localized content is a re-implementation rather than a configuration change.

Choosing Between Smartling and Phrase, and What to Validate First

Both are strong enterprise TMS platforms. The choice follows your operating model, not a feature-count comparison.

Smartling fits teams that want visual, in-context translation, deep TM and QA tooling, and, for organizations without front-end engineering capacity, the option of a translation proxy that handles delivery without a full connector build. Phrase (the merged Memsource and PhraseApp) fits API-first, developer-led teams that want strong CMS connectors, combined document and software localization, and a more cost-efficient footprint at scale. If your bottleneck is translator productivity and market context, lean Smartling; if it is engineering integration and breadth of content types, lean Phrase.

Whichever you pick, “native” is not “flawless.” On NetApp’s Contentstack build, a translation-connector bug surfaced only in real use and only after go-live. It has since been fixed, but it is a reminder that every connector needs validation cycles. Before scope is fixed, validate four things on a real content sample: rich-text and embedded-reference roundtrip, reference-entry handling, locale-code mapping, and TM match rate on content you know was already translated. If a partner cannot show you those four passing on your own content, they are selling you a demo, not an integration.

Frequently Asked Questions

How do you connect Smartling or Phrase to Contentful or Contentstack?

Through a connector that reads content from the CMS management API, creates a job in the TMS, and writes translations back to the target locale. Contentstack offers marketplace connectors and Automate workflows; Contentful uses app-framework connectors including the Smartling Connector for Contentful. The install is quick; the real work is auditing which fields and references are in scope and validating the roundtrip on real content.

Can I reuse my existing translations after migrating to a headless CMS?

Yes, and you should. Re-translating content you have already paid for is the most common post-migration waste. Translation memory lives in Smartling or Phrase, not the CMS, so you seed or re-connect the TM, map old locale codes to new ones, and re-import legacy translations as translations rather than source. Because re-modeling shifts source strings, run a sample first and confirm match rates before any production job.

Does Contentful or Contentstack handle translation natively?

They handle localization, meaning they store and serve content per locale, but they do not translate. Contentful localizes at the field level; Contentstack localizes at the entry level. Actual translation happens in a TMS like Smartling or Phrase, connected to the CMS. The localization model you migrated to determines how that connector must be configured.

How long does it take to set up a translation connector on a headless CMS?

A native marketplace connector can be installed in days. A production-ready integration is a scoped workstream measured in weeks: it includes a field-flag audit, reference and rich-text handling, TM re-linking, workflow states, and locale mapping. On a platform without native support, a custom connector can add three to five developer days per integration just for the roundtrip.

Who can help integrate a translation management system with Contentful or Contentstack?

Look for a partner certified on your platform who has delivered connector-based translation on real enterprise estates, not just installed the app. eight25 is a certified Contentful and Contentstack partner and has built translation workflows on both, including Phrase on Contentstack and a Trados connector on a 10-language, roughly 14,000-page build, with the field mapping, TM reuse, and governance that keep migrated translations from being lost or repeated.

Planning the Localization Workstream for Your Migration?

If your team is mid-migration or just past go-live and translation is the piece that is slipping, the most useful next step is a scoping conversation before you commit to a connector approach. eight25 helps enterprise teams map the localization model, connector fit, and translation-memory reuse as one design, including the edge cases most vendors will not surface until you are already in contract. We will tell you where your content model will fight the connector, and what to validate before scope is fixed.

start with a discovery conversation

Social

Let’s work together.