Industry guide · Custom Software

Software Localisation and Continuous Translation Platforms: Why Do Missing Strings Still Ship in Every Release?

Software Localization Platform software visual showing languages, git branch, and file code.
The short answer

$50,000 to $110,000 over 10 to 14 weeks covers a first release with build time string extraction, stable keys, ICU message and placeholder validation, translation memory, and a pipeline check that blocks a release when a required locale is incomplete. Adding automated screenshot context from your test suite, review and approval gates, over the air string delivery for mobile, and vendor management takes it to $150,000 to $350,000 over 6 to 11 months. Build when you ship to more than roughly 12 locales on a weekly or faster cadence, or when per key pricing is making your team avoid adding strings. Under six locales with monthly releases, buy Crowdin.

Why localisation breaks precisely where release engineering meets language

Release week. An engineer renames a settings label and a designer shortens a button. Both are one line changes, both are correct, and both silently orphan a translated string in 18 languages. The localisation manager finds out on Thursday when a German QA tester screenshots a button reading in English inside an otherwise translated screen. Meanwhile a plural in Polish renders wrongly because the source used a two form message and Polish needs more, and an Arabic layout breaks because nobody tested a right to left build since the last redesign.

None of that is a translation quality problem. Your translators did excellent work. It is a pipeline problem: strings are extracted late, context never reaches the person translating, changes arrive after translation is complete, and no gate exists between an incomplete locale and a production build. Every localisation team eventually reaches the same conclusion, which is that the hard part was never the words.

What Lokalise, Phrase, Crowdin, Transifex and Smartling actually leave you doing

These are good products and most teams should start with one. Lokalise and Phrase both have strong editors and sensible developer tooling. Crowdin is the most pleasant for smaller teams and has broad format support. Transifex has been around long enough to handle awkward cases. Smartling pairs a platform with managed translation services and suits companies who want the whole thing handled.

The recurring gaps are three. Context: every one of them will hold a screenshot against a key, and in practice almost nobody captures those screenshots, because it is manual work that competes with shipping. So translators guess whether a four letter string is a noun or a verb, and you find out in a bug report. Gating: they integrate with your repository and can open pull requests, but the enforcement that a release cannot proceed with an incomplete blocking locale sits in your CI, and you build that yourself regardless of which vendor you pay. Economics: pricing is generally driven by hosted keys, words or seats, which means adding a language or shipping more often increases the bill in a way that quietly shapes engineering behaviour. Teams start reusing strings that should be separate, avoid adding new keys, or exclude a platform from the system entirely. When a tool's pricing changes how your engineers write code, the tool has become the problem. Splitting a monorepo into several vendor projects for web, iOS and Android also fragments translation memory and terminology across exactly the products that should be most consistent.

Problem 1: keys, plurals and placeholders decide everything

The foundational decision is whether the key is a stable identifier or the source string itself. Source as key is convenient for a week and then a copy edit to a sentence orphans every translation of it. Stable keys need discipline and a naming convention nobody enjoys, and they are correct.

A build enforces this at extraction. Strings are extracted from source at build time, keys are validated against your convention, duplicates are reported, and orphaned keys are detected as part of the same run. Messages parse as ICU MessageFormat so plural and select forms are structured data rather than prose. Placeholder validation catches the failure that causes production crashes: a translator who removed or renamed an interpolation, or reordered positional arguments in a language whose word order demands it. That check has to run before the translation is accepted, not at runtime in a customer's hands. The plural rules themselves come from CLDR categories rather than from anyone's assumption that every language has singular and plural, which is the assumption that breaks Polish, Arabic and Russian.

Problem 2: context is the whole job, and nobody has time to capture it

A translator seeing the word Post has no way to know if it is a verb on a button, a noun for a piece of content, or a postal reference. Style guides do not solve this. Screenshots do, and manual screenshot capture never survives contact with a release schedule.

What a build does, and this is the strongest argument for owning the platform: harvest context automatically from your existing end to end test suite. Your Playwright or Cypress or XCUITest runs already walk the product on every build. Instrument the rendering layer so each run records which keys appeared on which screen, capture the screenshot, and attach it to those keys automatically. Translators then see the actual screen, with the string highlighted, from the current build, without a human doing anything. Add the rendered width against the container width and you can flag strings likely to overflow in German or Finnish before anyone files a layout bug. No commercial platform can do this for you because it requires being inside your test infrastructure, which is exactly why it is worth building.

Problem 3: late string changes are normal and the pipeline pretends they are not

The idealised flow has a string freeze, then translation, then release. Real products change copy after the freeze because a legal review lands, a name changes, or someone finds a better word on Tuesday.

A build treats change as expected. Every string carries a version and a status per locale, and changing the source moves affected translations to needs review rather than silently keeping the old text or blanking it. The difference between those two behaviours matters: for a minor copy tweak you want the previous translation shown with a review flag, and for a meaning change you want it blocked. Let the person changing the string declare which it is, and default to the safe option. Then give reviewers a queue ordered by release urgency rather than a list of everything, so a late change to a blocking locale is visibly different from a tidy up in a locale that ships next month.

Problem 4: no gate between an incomplete locale and production

Most teams discover missing translations in QA, or in production, or from a user. The fix is unglamorous: a check in the pipeline that fails a build when a locale marked release blocking is below its completeness threshold for the strings changed in that release.

A build makes that check meaningful by scoping it to changed strings rather than to the whole catalogue, because a hard requirement for 100 percent across every locale gets disabled within a month by a team trying to ship a hotfix. Tier your locales: blocking, warning, and best effort. Blocking locales fail the build. Warning locales post a comment on the pull request. Best effort locales report weekly. That distinction is what makes the gate survive, and a gate that survives is worth more than a stricter one that gets bypassed.

Problem 5: mobile makes every string fix a store release

A wrong translation in a web app is a deploy. In a mobile app it is a store review cycle, and a bad string can sit in front of users for days. This is the point where teams start shipping English into a market rather than waiting.

What a build does: deliver string bundles over the air, with the app falling back to bundled resources when no update is available. Version the bundles against app versions so an old client never receives strings referencing screens it does not have, sign them, cache aggressively and fail safe to the packaged copy. It is a genuinely small piece of engineering that removes an entire class of release pressure, and it is available to you precisely because you own the pipeline rather than renting it.

What this costs and how long it takes

Across the 2,000-plus projects Digital Heroes has delivered, this category prices as follows. A first release with extraction, key validation, ICU and placeholder checking, translation memory and terminology, the translator interface and the CI gate runs $50,000 to $110,000 and ships in 10 to 14 weeks. Adding automated screenshot context from your test suite, review and approval workflows, over the air delivery for mobile, machine translation pre fill with post editing, and vendor and cost management brings the total to $150,000 to $350,000 across 6 to 11 months.

What drives cost up: the number of distinct string formats and platforms, since iOS, Android, web and backend email templates all extract differently. Right to left support done properly, which is a design and QA effort as much as a code one. Regulated content needing legal approval gates with audit trails. And the number of external translation vendors, because each has its own file exchange expectations and invoicing.

What keeps cost down: starting with one platform and your blocking locales, and keeping your existing vendor's editor for translators in the first phase while you own extraction, validation and the gate. The pipeline is where the value is. The editor is the part that is genuinely commoditised.

Build versus buy, and when buying is right

Buy if you ship to six or fewer locales on a monthly cadence with one platform. Crowdin or Lokalise will cost less than the engineering time for years and you should spend that time on the product. Buy if translation is handled entirely by an agency who prefers their own tooling and your volume is modest.

Build when two or more apply. You ship to more than 12 locales on a weekly or faster cadence. Per key or per word pricing is visibly changing engineering behaviour, which is the clearest signal in this category. You run several platforms from one repository and want shared translation memory and terminology rather than fragmented projects. You need approval gates with audit trails for regulated or legally reviewed copy. Or context is your recurring quality problem and you have test automation that could be capturing it automatically and is not.

How to choose a developer

Ask how they would handle a plural in a language with more than two forms, and expect ICU MessageFormat and CLDR categories in the answer within a sentence. If they suggest a singular and a plural field, they have not localised anything beyond Western European languages.

Ask what happens when a source string changes by one character. Listen for versioned strings with per locale status and a distinction between a copy tweak and a meaning change. A system that silently keeps stale translations is worse than no system.

Ask how they would attach screenshots to keys without asking anyone to take screenshots. If the answer does not involve your existing test automation, they have not thought about why context capture always fails.

Ask who owns the code and settle it before kickoff. You should own the repository, the cloud accounts and the right to hire anyone else. At Digital Heroes the client owns the code from the first commit. Your translation memory is years of accumulated linguistic work, and it should never sit somewhere that charges you to keep it.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. A 0.1-second improvement in mobile site speed increased retail conversions by 8.4% and average order value by 9.2%; travel conversions rose 10.1%. Source: Deloitte & Google (2020) →
  2. The 2015 CHAOS data (based on the modern definition of success) reports that only about 29% of software projects succeed, 52% are challenged, and 19% fail, with the three most important success skills being executive sponsorship, emotional maturity, and user involvement. Source: The Standish Group (reported via InfoQ Q&A with Jennifer Lynch) (2015) →
  3. U.S. retailers lost an average of 1.6% of sales to shrink in FY2022 (up from 1.4% the prior year), equating to $112.1 billion in inventory losses - the benchmark case for POS-integrated loss prevention and inventory accuracy. Source: National Retail Federation (NRF) (2023) →
  4. McKinsey emphasizes that most L&D functions still fail to tie training to business outcomes, recommending organizations track 2-3 business-relevant indicators (such as time-to-proficiency, redeployment into priority roles, or frontline productivity) rather than participation metrics to demonstrate training effectiveness. Source: McKinsey & Company (2025) →
Karan M. · Senior Shopify Engineer · Enterprise · Delhi

Karan handles enterprise Shopify work at Digital Heroes, the builds with large catalogs, multiple regions, legacy systems to connect and traffic spikes to survive. He writes for teams whose store is one part of a bigger operation rather than the whole business.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does a custom localization platform cost?
A first release with build time extraction, key validation, ICU message and placeholder checking, translation memory and a CI completeness gate runs $50,000 to $110,000 and ships in 10 to 14 weeks, based on Digital Heroes delivery experience. Adding automated screenshot context, approval workflows, over the air string delivery for mobile and vendor management brings the total to $150,000 to $350,000 over 6 to 11 months. The number of platforms and string formats drives cost more than the number of languages.
Is Lokalise or Crowdin good enough, or should we build?
For six or fewer locales on a monthly cadence with one platform, buying is clearly right and building would waste engineering time better spent on the product. The build case appears when per key or per word pricing starts shaping engineering behaviour, when several platforms in one repository need shared translation memory rather than fragmented vendor projects, or when context capture is your recurring quality problem and your test automation could be solving it automatically.
How do you get screenshot context to translators without manual work?
Harvest it from your existing end to end test suite. Those runs already walk the product on every build, so instrument the rendering layer to record which keys appeared on which screen, capture the screenshot and attach it to those keys automatically. Translators then see the current build with the string highlighted, and comparing rendered width against container width also flags strings likely to overflow in German or Finnish before a layout bug is filed.
How should the system handle plurals in languages like Polish or Arabic?
Messages should be stored as ICU MessageFormat so plural and select forms are structured data, with categories taken from CLDR rather than from an assumption that every language has one singular and one plural. Polish, Arabic and Russian all need more forms, and a two field design guarantees wrong output in those markets. Validation should reject a translation whose plural categories do not match what the target language requires.
Can we block a release when translations are missing?
Yes, and the design detail that makes it stick is scoping the check to strings changed in that release rather than requiring the whole catalogue to be complete. Tier your locales into blocking, warning and best effort: blocking locales fail the build, warning locales comment on the pull request, best effort locales report weekly. A gate that teams keep enabled during a hotfix is worth more than a stricter one that gets bypassed.
Can mobile apps get translation fixes without a store release?
Yes, by delivering string bundles over the air with the app falling back to its packaged resources when no update is available. Bundles should be versioned against app versions so an older client never receives strings referencing screens it does not have, signed, cached aggressively and safe to fail. It is a small amount of engineering that removes the pressure that otherwise pushes teams to ship English into a market rather than wait.
How long does it take to build a continuous localization pipeline?
A first release ships in 10 to 14 weeks in our experience. The largest variable is how many string formats you support, since iOS, Android, web and backend email templates each extract differently. A pragmatic sequencing is to own extraction, validation and the release gate first while translators keep using your existing vendor editor, then bring the editing experience in house later if it is worth it.
Where does machine translation fit?
As a pre fill that a human edits, not as a shipping path, with the exception of low visibility content where you accept the risk knowingly. The useful pattern is machine translation pre filling new strings, translators post editing, and translation memory capturing the corrected result so the same string is never paid for twice. Quality gates and placeholder validation must run on machine output exactly as they do on human output, since interpolation errors are common.
Who owns the translation memory if an agency builds our platform?
You should own the repository, the cloud infrastructure accounts, the translation memory and the unrestricted right to hire another firm, agreed in writing before kickoff. At Digital Heroes the client owns the code from the first commit. Translation memory is years of accumulated linguistic work specific to your product and terminology, and it should never live somewhere that can charge you to keep it or make it awkward to export.
How many SaaS seats do we need before building custom becomes cheaper?
The crossover usually shows up between 20 and 50 seats on premium tiers. Salesforce Enterprise lists at $165 per user per month, so 40 users cost about $79,000 a year in subscriptions, which is real money against a custom system you would own outright. Run the comparison over three years: if subscription spend beats the build cost plus 15-20% annual maintenance, custom wins on price before you even count workflow fit.
Should I ask for a fixed price or pay the agency hourly?
Fixed price for the first version, hourly or retainer for what comes after launch. A fixed-scope, fixed-price V1 puts the estimation risk on the agency, which is exactly where you want it while trust is unproven; hourly billing on an unscoped greenfield build is a blank check. After launch, flip it, because maintenance and small features arrive unpredictably and fixed-pricing every ticket wastes everyone's time.
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
If you use less than a third of what Salesforce does, a custom CRM is often cheaper by year three. Salesforce Enterprise lists at $165 per user per month, so 25 seats cost about $49,500 a year before admin and consultant fees, while a focused custom CRM runs $60,000 to $100,000 once plus 15 to 20% a year in maintenance. If you genuinely need Salesforce's ecosystem, reporting, and app marketplace, customizing it beats rebuilding it; the mistake is paying enterprise prices to use it as a glorified contact list.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
How much should a small business budget for its first custom app or website?
For a focused first build, most small businesses land between $8,000 and $60,000: roughly $8,000 to $45,000 for a custom website and $25,000 to $60,000 for an internal tool or simple web app, based on Digital Heroes delivery across 2,000+ projects. Customer-facing products with payments, logins, or a mobile app start around $40,000. Quotes far below these bands usually mean a template with your logo on it, not software shaped around your workflow.
How do I make sure custom software is secure and compliant with rules like HIPAA?
Start with the baseline every business system should have: encryption in transit and at rest, role-based access control, and audit logs. If HIPAA applies, the hosting provider must sign a Business Associate Agreement, which AWS, Azure, and Google Cloud all offer, and access controls have to be designed in from day one, not bolted on. SOC 2 certifies a company's operating practices, not a codebase, so ask vendors what they have shipped in your regulated domain rather than which logos are on their website.
How much should a small business expect to pay for custom software?
Across 2,000+ Digital Heroes projects, a small business system that replaces spreadsheets or one core workflow typically lands between $40,000 and $80,000, with more complex first versions running up to $150,000. The two levers that move the number most are integrations and user roles, not the team's hourly rate. Any quote under $15,000 for a full production system means the vendor has not understood your scope yet.
Who can build a custom software system?

Digital Heroes builds custom software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?