1. Help Center
  2. End-to-end guides

Understanding the localization workflow in Phrase

Phrase is a localization platform designed for integration with agile software development to continuously handle the translation of any text in the user interface of your software. Get a high-level overview of the localization workflow in Phrase.

When creating multilingual software, developers set up databases of text pieces or "strings" that are used in the display screens with their corresponding translations. They reference these strings in the code with unique identifiers ("keys"). This method gives end-users the option of selecting their preferred language ("locale"). The software then displays the appropriate text based on keys and the chosen locale.

Phrase can best be described as a key-based translation memory system. Its handling of keys sets it apart from other translation memory systems. It does not only support keys, but it also uses them throughout the localization workflow. The following overview will give you a better grasp of how localization projects are carried out in Phrase.


The developer externalizes all display strings: they copy the strings into so-called "resource files." There they are each associated with a unique key. In places where the code used to contain a string, it now contains a function call that uses the key to insert the string when needed.

Localization prep

The developer or a localizer may insert comments or descriptions into the resource files. These clarify meanings that would otherwise not be obvious for a translator. When strings contain variables or are otherwise sensitive to external aspects (plurals), special coding is added to the resource files. At this time, a localizer would also prepare or update style guides and a glossary. 


Phrase automatically monitors resource files for newly added or changed key/string pairs. It extracts and then "normalizes" them. Software environments may use quite different resource file formats. But Phrase hides the quirks of individual formats and thus allows translators to work in the same familiar tool.


With Phrase, translators can use the In-Context Editor for web content to work directly in pages as they are displayed. For all other content types, they would use the Translation Editor. The latter provides access to many productivity features and quality tools. These include suggestions from 

The translator adds translations to keys. This changes their status from "untranslated" to "translated".


In Phrase's Basic Review Workflow, all translation items are marked as "unverified" by default. Once a translator has entered a translation and/or checked the translation, the item becomes "verified."  If the source text for this item is changed, the item reverts back to "unverified." Even in a continuous localization workflow with frequent source text updates, this mechanism helps to maintain an overview and ensure that no string enters the code base without being proofed first. Open verification tasks can be wrapped into a "job," which allows to track their completion.


You would use Phrase's Advanced Review Workflow to implement the 4-eye principle - a best practice in localization. After strings have been translated, a second translator or a subject-matter expert can look over the translations and revise them where needed. This person then changes the translation status to "reviewed." Again, this can be tracked separately using the Job Feature

Localization integration

Phrase inserts the final translations into the appropriate locations in the resource files. The translations are then ready to use in the software.

Localization testing

Software testers now use their tools and processes to verify that the software works and looks as it should with the translated strings. 


The above steps should not be confused with strictly separate stages. Phrase constantly keeps an eye on changes in the resource files. It automatically extracts and reintegrates strings as needed. This means that developers can keep working without waiting for localization tasks to be completed. Phrase will provide a continuous stream of strings to translators, proofreaders, and reviewers. To avoid confusion, you can use Phrase's branching feature and keep preliminary translations out of the main project until a whole set is completed.

Since questions can always arise, Phrase offers an integrated messaging system. Any participant can attach comments to a key that are visible to the rest of the team. And for each key/string pair, Phrase maintains a full audit history. That way all participants can inspect prior translation versions as well as attached comments. 

Thus, the team can always do their general work but zero in on problematic issues whenever needed. This is called "continuous localization" or "agile localization." And, being a key-based TMS, Phrase is uniquely suited for it.

The localization workflow in Phrase