Contentrain
Normalize flow

Turn hardcoded strings into governed content

Normalize scans existing code, extracts hardcoded UI text into structured content, patches reuse points, and turns AI-generated copy into a governed workflow.

Open normalize docs
Turn hardcoded strings into governed content

Scan

Start with the strings already in your codebase

Normalize is designed for real projects that already contain button labels, empty states, headings, validation messages, and marketing copy. It scans source files and groups candidates before anything is written.

  • Candidate extraction with length and file filters
  • Graph mode for component and import context
  • Works best with local provider access to source files
Start with the strings already in your codebase

Extract

Extract content before patching source code

The workflow separates extraction from reuse. First, approved strings become Contentrain content entries; then code can be patched to consume generated access after the content model is reviewed.

  • Content creation without source mutation
  • Traceability from source file and line
  • Reviewable branch workflow for generated content
Extract content before patching source code

Reuse

Replace hardcoded strings with generated access

After extraction, reuse patches update source files with expressions chosen for the framework. This keeps application code small while making text editable, localizable, and visible to agents.

  • Framework-aware replacement expressions
  • Import insertion when needed
  • Conflict checks around the original string
Replace hardcoded strings with generated access

i18n

Turn localization into a normal content operation

Once strings are structured, locale parity and translation review can be handled as content quality work instead of grep-and-replace. Dictionaries and collections can carry locale-specific values without hiding them from Git.

  • Locale-aware content files
  • Validation for missing required localized fields
  • Translation workflows that keep source and target content aligned
Turn localization into a normal content operation

Review

Use Studio when Normalize becomes team work

Local Normalize is the wedge for developers. Studio becomes valuable when content teams need to review extracted strings, approve language, attach media, and govern the branch before merge.

  • Review screens for branch changes
  • Role-based access for content editors and reviewers
  • A path from one developer cleanup to a team process
Use Studio when Normalize becomes team work

Common questions

Does Normalize edit source code immediately?

No. The recommended flow extracts approved content first, then applies reuse patches after review. That separation makes the migration easier to inspect.

What kind of strings should be normalized first?

Start with repeated UI labels, empty states, marketing sections, onboarding copy, docs snippets, and localization candidates that product teams will edit again.

Can Normalize work without a remote Git provider?

Yes. The local provider supports source scanning and file operations. Remote providers are useful for hosted workflows, but local source access is the strongest starting point.

Start local. Scale to Studio.

Build a governed content layer before content becomes product debt.

Developers can start with the MIT packages. Teams can move into Studio when review, roles, delivery, and licensing matter.

Open Studio