UI string management is the practice of keeping the words inside a product organized outside individual screens and code changes. A clear inventory helps writers, designers, developers, and reviewers understand what a string does, where it appears, and whether it is ready to ship.
Start with stable, descriptive keys
A key should describe the string’s role rather than repeat its current wording. That keeps the reference useful when the copy changes.
- Prefer checkout.button.submit to button.green or place_order.
- Use a predictable hierarchy such as feature.component.element.
- Avoid embedding a language, visual position, or temporary experiment in the key.
Store the context reviewers need
A string without context is easy to mistranslate or reuse incorrectly. Record where it appears, the user action around it, and any length or tone constraints.
Descriptions and screen links reduce back-and-forth because reviewers can judge the copy as part of a real workflow.
Use a small, visible workflow
Simple states such as draft, active, and needs review are often enough. Pair each change with an owner and keep the source language clear before translation begins.
- Draft new or uncertain wording.
- Review copy in context with product and design.
- Activate approved source strings before updating locale catalogs.
Keep the inventory connected to delivery
Import existing JSON to avoid starting from scratch, then export catalogs or expose approved values through a read-only endpoint. The inventory becomes valuable when teams can use it in the product without manual copying.