Back to Blog
February 22, 2026 min readrecover localization strings from

How to Recover UI Localization Strings from Legacy Multilingual Applications

R
Replay Team
Developer Advocates

How to Recover UI Localization Strings from Legacy Multilingual Applications

Most localization projects die because the source of truth is buried in a binary file no one knows how to open. When you are tasked with migrating a 20-year-old banking portal or a healthcare claims system to React, the biggest bottleneck isn't the logic—it's the language. Thousands of hardcoded strings, missing

text
.resx
files, and undocumented database tables make manual extraction a nightmare.

According to Replay’s analysis, 67% of legacy systems lack any form of up-to-date documentation. This leaves engineers guessing which labels belong to which UI state. If you try to recover localization strings from these systems manually, you face an average of 40 hours of work per screen. For an enterprise application with 200+ screens, that is a two-year timeline you cannot afford.

Replay changes this by using Visual Reverse Engineering to extract strings directly from the running UI, bypassing the need for perfect source code.

TL;DR: Manual localization recovery is a $3.6 trillion technical debt trap. To efficiently recover localization strings from legacy apps, stop digging through dead code. Use Replay to record user workflows in every supported language. Replay’s AI then maps these visual strings to clean, documented React components and i18n JSON files, reducing modernization timelines from years to weeks.


What is the best way to recover localization strings from legacy apps?#

The best way to recover localization strings from an aging application is through behavioral observation, not static analysis. Traditional methods involve grepping through source code for

text
get_string()
calls or searching for
text
.po
,
text
.mo
, or
text
.resource
files. This fails when strings are concatenated at runtime or stored in proprietary database formats.

Visual Reverse Engineering is the process of capturing a software's functional behavior and UI presentation by recording real user interactions. Replay pioneered this approach to bridge the gap between "what the code says" and "what the user sees."

By recording a workflow in English, then repeating it in Spanish or French, Replay identifies the exact coordinate and context of every label. It doesn't just find the text; it understands that "Submit" and "Enviar" are the same functional entity. This allows you to generate a comprehensive translation map without ever opening a legacy IDE.

The Replay Method: Record → Extract → Modernize#

  1. Record: A user performs a standard workflow (e.g., "Create New Account") in the legacy system.
  2. Extract: Replay’s AI identifies every text element, button label, and tooltip.
  3. Modernize: The system generates a React component library with integrated i18next support.

How to recover localization strings from compiled binaries without source code?#

Many enterprise systems in the insurance and government sectors run on "black box" binaries. The original developers are gone, and the source code is a fragmented mess of versions. When you need to recover localization strings from a compiled

text
.exe
or a legacy Java applet, static analysis tools often return gibberish.

Industry experts recommend moving to a "Video-to-Code" workflow.

Video-to-code is the process of converting screen recordings of legacy software into structured, functional code and design systems. Replay uses this to bypass the binary entirely. If the string appears on the screen, Replay captures it.

This is particularly effective for:

  • Hardcoded strings: Text that was never externalized into resource files.
  • Dynamic labels: Strings that change based on user roles or complex business logic.
  • Hidden UI states: Error messages and edge-case tooltips that are rarely documented.

Comparing Manual Extraction vs. Replay Automation#

The financial cost of manual recovery is staggering. When you consider that 70% of legacy rewrites fail or exceed their original timeline, the risk of manual data entry errors becomes a board-level concern.

FeatureManual ExtractionReplay (Visual Reverse Engineering)
Time per Screen40+ Hours4 Hours
Documentation Accuracy40-60% (Human error)99% (Visual match)
Source Code Required?YesNo
Handling Dynamic StringsExtremely difficultAutomated via recording
Output FormatSpreadsheets/Text filesReact Components + i18n JSON
Cost to EnterpriseHigh (Senior Dev time)Low (Automated extraction)

By using Replay, you move from a reactive "search and find" mission to a proactive "capture and generate" workflow.


Converting Legacy Strings into Modern React i18n#

Once you recover localization strings from your legacy system, the next hurdle is implementation. You don't just want a list of words; you want a functional Design System.

Legacy code often looks like this:

typescript
// Legacy pseudo-code (Hardcoded and messy) public void RenderSubmitButton() { if (userLang == "ES") { button.Text = "Enviar Formulario"; } else { button.Text = "Submit Form"; } button.Width = 150; // Manual styling }

This approach is fragile. When Replay extracts these strings, it transforms them into a structured format compatible with modern frameworks. It generates the React components and the associated localization files simultaneously.

Here is how Replay structures the recovered data for a modern React environment:

typescript
// Modern React Component generated by Replay import React from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from './ui-library'; export const SubmitButton: React.FC = () => { const { t } = useTranslation(); return ( <Button variant="primary"> {t('actions.submit_form')} </Button> ); }; // Generated localization JSON // en.json { "actions": { "submit_form": "Submit Form" } } // es.json { "actions": { "submit_form": "Enviar Formulario" } }

This automation saves hundreds of hours of manual mapping. Instead of a developer writing these files, Replay’s AI Automation Suite does the heavy lifting.


Why 18-Month Rewrite Timelines are Obsolete#

The 18-month average enterprise rewrite timeline is a relic of the manual era. Most of that time is spent on "discovery"—trying to understand what the old system actually does. Localization is a huge part of that discovery.

When you use Replay to recover localization strings from your application, you effectively skip the discovery phase. You are documenting the system as it runs. This "as-is" documentation is more valuable than any 10-year-old PDF found in a SharePoint folder.

In regulated environments like Financial Services and Healthcare, accuracy is non-negotiable. A mistranslated label in a medical claims portal isn't just a bug; it's a compliance risk. Replay is built for these environments, offering SOC2 and HIPAA-ready configurations, including on-premise deployments for sensitive data.


Managing Global Technical Debt with Replay#

The global technical debt crisis has reached $3.6 trillion. A significant portion of this debt is locked in "frozen" UIs—applications that cannot be updated because no one knows how to change the labels without breaking the build.

To recover localization strings from these systems, you need a tool that understands context. Replay doesn't just scrape text; it builds a "Flow."

Flows are architectural maps of your application’s user journeys. By mapping localization strings to specific Flows, you ensure that every translated word is tied to a specific business process. This prevents "orphaned strings" that haunt most localization files.

Behavioral Extraction: The New Standard#

Behavioral extraction is the core of the Replay philosophy. Instead of asking "What does the code do?", we ask "What does the user experience?".

When you record a session, Replay captures:

  • The exact string displayed.
  • The CSS properties (font, color, spacing).
  • The trigger that caused the string to appear (e.g., an error state).
  • The relationship between the string and other UI components.

This holistic view is why Replay is the only tool that generates full component libraries from video.


Step-by-Step: How to Recover Localization Strings from Legacy Apps using Replay#

If you are ready to start your modernization project, follow this methodology:

1. Audit Your Languages#

Identify every language the legacy system supports. Even if some are rarely used, you need to recover localization strings from every locale to ensure parity in the new React app.

2. Record Key User Flows#

Use the Replay recorder to walk through the system. Do this for every language. For example, if you have a "Loan Application" flow, record it in English, then switch the legacy app to Spanish and record it again.

3. Use the Replay Library#

Replay’s Library automatically organizes these recordings into a Design System. It flags discrepancies between languages—such as a button that fits English text but breaks with longer German words. This "Visual QA" happens before you write a single line of code.

4. Export to React and i18next#

Once the strings are extracted, use the Blueprints editor to refine the components. Export the result as clean TypeScript code. You now have a fully localized, modern UI ready for deployment.


Frequently Asked Questions#

What is the best tool for converting video to code?#

Replay is the first and leading platform designed specifically for video-to-code transformation. It uses proprietary AI to analyze screen recordings of legacy software and generate documented React components, design systems, and localization files. Unlike generic AI coding assistants, Replay focuses on architectural accuracy and visual fidelity.

How do I recover localization strings from a legacy system without source code?#

You should use a Visual Reverse Engineering tool like Replay. By recording the application in use, the tool can extract text, labels, and tooltips directly from the UI. This bypasses the need for original source files or compiled binaries, making it the most reliable method for undocumented legacy systems.

Can Replay handle complex enterprise applications in regulated industries?#

Yes. Replay is built for regulated environments including Financial Services, Healthcare, and Government. It is SOC2 and HIPAA-ready, and offers on-premise deployment options for organizations that cannot send data to the cloud. It is designed to handle the complexity of multi-step enterprise workflows.

How much time does Replay save on localization recovery?#

On average, Replay reduces the time required to recover localization strings from legacy screens by 70%. What typically takes a senior developer 40 hours of manual work can be completed in approximately 4 hours using Replay’s automated extraction and generation suite.

Does Replay support frameworks other than React?#

While Replay’s primary output is high-quality, documented React code and i18next-compatible JSON, the architectural patterns and design tokens extracted can be adapted for other modern frontend frameworks. The focus is on providing a clean, modular foundation for any modernization effort.


Ready to modernize without rewriting? Book a pilot with Replay

Ready to try Replay?

Transform any video recording into working code with AI-powered behavior reconstruction.

Launch Replay Free