Every VP of Localization who has tried to replace a TMS knows the real obstacle isn't the new platform, it's the fact that three product launches, a compliance filing, and a marketing campaign are already mid-flight inside the old one. Rip-and-replace sounds clean in a vendor pitch and reckless in a steering committee meeting. Nobody signs off on a cutover that stalls a launch, and no localization lead wants to be the reason a market date slips.
That's the wrong framing. You don't need to replace a TMS in one motion. You need a sequence that inventories what you actually have, proves the new execution layer on real work while the legacy system keeps running, and only then migrates volume, phase by phase, with a rollback path at every step. This playbook lays out that sequence over 90 days, using Ollang's SDK-based asset scanning, its local Asset Management control panel, and Kanban-based workflow to reduce risk without freezing active work.
Why phased beats big-bang
Legacy TMS platforms accumulate years of project structures, translation memories, glossaries, and vendor relationships that don't transfer cleanly to any new system. A hard cutover forces you to migrate all of that at once, under deadline pressure, with no fallback if something breaks mid-launch. A phased migration treats the new execution layer as something you run in parallel first, prove against real content, and expand only as confidence and coverage grow. The legacy TMS does not get switched off until the new system has demonstrably absorbed its workload, including the review discipline your legal, brand, and regional teams already trust.
Phase 1 (Days 1-15): Inventory before you migrate anything
You cannot plan a migration around content you haven't counted. Most localization teams underestimate their own footprint, the JSON and YAML string files sitting in five repos, the hardcoded UI strings nobody flagged, the video and audio assets scattered across marketing drives, the images with embedded text.
Start by installing the Ollang SDK and running it against your existing repositories and asset stores. The SDK scans i18n files (JSON, YAML), hardcoded strings, videos, images, and audio, which gives you a single inventory pass across content types that, in a legacy TMS, usually live in separate silos with separate export processes. Running the SDK is a single command, npx @ollang-dev/sdk start, which starts the Ollang Asset Management server, and the control panel opens automatically in your browser at http://localhost:5972.
Configuration is deliberately narrow at this stage: point the SDK at your project root, declare your source language and target languages, and decide whether video content should route to AI dubbing or subtitling by default. That configuration lives in a simple ollang.config.ts file, and the SDK Quick Start guide walks through the exact fields.
The output of Phase 1 isn't a translation, it's a map. You now know, file by file and asset by asset, what's in scope for migration, what format it's in, and what's currently untracked by your legacy TMS. That map is what makes every later phase estimable instead of speculative.
Phase 2 (Days 16-45): Run a pilot in parallel, not instead of
This is where most teams get nervous, and it's exactly where a phased approach earns its keep. You are not turning off the legacy TMS. You are running a bounded pilot, one product line, one document set, one video library, through Ollang's Asset Management control panel while the rest of your operation continues exactly as before.
Once assets are scanned, they land on a Kanban board inside the control panel. The interface scans i18n files, shows a Kanban board (Scanned β Translating β Translated β Submitted), sends selected items to Ollang for translation, and applies translations back to your codebase. Practically, this means your team selects a folder, scans the project, watches items populate the Scanned column, then selects items, chooses a target language, and moves them into translation, a visual, auditable progression that any localization ops lead can read at a glance without needing engineering to explain what's happening.
The pilot should deliberately include your hardest cases: a video that needs AI dubbing, a document with embedded formatting, a JSON file with nested keys. If your CMS content lives outside the codebase, for example a Strapi instance, the control panel supports capturing that too, since for CMS content you can add the Browser SDK to your site.
The goal of this phase is comparison, not conversion. You're running the same content class through both systems long enough to validate turnaround time, formatting fidelity, and terminology consistency before you commit a single high-volume workflow to the new layer.
