Phrase alternative for app teams that want localization close to the code.

ReRune is for teams comparing Phrase Strings with a platform built around app text: CLI sync, AI assistance, translation variants, and OTA SDKs that plug into the i18n your app already uses.

ReRune dashboard showing localization workspace activity and project status
ReRune projects list showing real localization projects in a workspace
ReRune project keys view for managing software translation keys
ReRune OTA demo mobile app landing screen with live localization status
ReRune OTA demo mobile app story screen showing runtime translation content

Common challenge

Teams look at Phrase alternatives when they want a localization workflow centered on their apps rather than a broad language technology suite.

Best fit

Product and engineering teams that ship web, mobile, and cross-platform apps and want app strings, developer sync, and runtime updates in one workspace.

How ReRune helps

ReRune focuses on app localization: OTA SDKs for React, React Native, Angular, Flutter, Android, and iOS, translation variants for different audiences, and OTA staging to preview drafts in a test build before publishing.

Switching

Switch without rewriting your app.

Phrase OTA SDKs for iOS, Android, Flutter, React Native, and i18next overlay native strings, and ReRune SDKs follow the same pattern. Swap the SDK package, its setup call, and the distribution ID and secret for one read-only OTA Publish ID. Jetpack Compose code that uses phraseString moves back to stringResource.

Web and React Native keep i18next

ReRune wraps i18next and react-i18next, so your JSON catalogs and t() calls stay the same. ReRune.setup replaces i18n.init.

Angular keeps its pipes

ReRune wraps ngx-translate or Transloco, so the translate and transloco pipes stay in your templates. ReRune.provide replaces the provider setup.

Flutter, Android, and iOS keep native lookups

Flutter keeps gen-l10n ARB files and AppLocalizations, Android keeps strings.xml and getString, and iOS keeps NSLocalizedString. You add the ReRune setup call and a small platform hook.

Your files and CLI workflow move with you

Import existing files in standard formats such as ARB, strings.xml, Localizable.strings, XLIFF, and i18next JSON, then push and pull with the ReRune CLI. Your app keeps standard i18n, so your codebase is not tied to ReRune either.

Workflow

From app copy to release-ready localization.

ReRune connects translation management to the delivery path developers already use: dashboard work, AI assistance, CLI/API sync, and OTA updates where a supported SDK is installed.

Collect product text

Manage keys, languages, values, placeholders, dictionaries, metadata, and project context before translation work spreads across files and messages.

Translate with context

Use DeepL or OpenRouter-assisted translation flows with dictionaries and product context close to the text being reviewed.

Sync through developers

Use CLI/API workflows to move approved translations into repositories, CI/CD jobs, scripted release tasks, or custom platform integrations.

Deliver safely

Export platform formats or publish OTA updates for supported SDKs while keeping bundled app resources as the safe fallback.

Setup WizardAI Coding Agent

One command. A wizard sets the stage, your AI agent ships it.

Run the onboarding command from the root of your Git repository. The wizard inspects the app and confirms the plan with you, with no AI involved and nothing changed yet. Then it opens the coding agent you already use with a complete migration workflow.

Run inside your Git repository

$ curl -fsSL https://rerune.io/onboard.sh | sh

The script runs locally. ReRune does not receive your source code or list of installed agents.

Coding agent integrations

11 integrations: 4 available now, 7 planned.

  • Claude CodeReady
  • CodexReady
  • OpenCodeReady
  • PiReady
  • GitHub Copilot CLIPlanned
  • GoosePlanned
  • Qwen CodePlanned
  • Cursor AgentPlanned
  • Kiro CLIPlanned
  • Cline CLIPlanned
  • Factory DroidPlanned

Coverage

App-first does not mean mobile-only.

Start where localization creates release friction, then keep web, mobile, and cross-platform products in one shared workspace as your surface area grows.

Developer delivery

Sync through the CLI. Publish through OTA SDKs.

Use the ReRune CLI locally or in CI/CD to manage project translations, then deliver approved runtime updates through the SDK built for your app.

Companion CLI

Install the ReRune CLI

Use the ReRune CLI to sync, validate, and manage translations right from your terminal. Run syncs in CI/CD or locally whenever you need to push a new language.

Homebrew (macOS/Linux):

brew install BasalBit/tap/rerune
  • Downloadable builds for macOS, Linux, and Windows
  • Uses the API keys you generate in the dashboard
  • Fits scripted CI/CD workflows through CLI and API access
rerune

Connect the project

Create the project config and connect the repository to its ReRune workspace.

rerune pull

Pull approved updates

Bring current dashboard translations into the app or its build workflow.

rerune push

Push local changes

Send local translation updates back to ReRune for the team to manage and publish.

SDK directory

Use the current public SDK for each product surface.

Public ReRune SDKs for Flutter, Android, iOS, React, React Native, and Angular support runtime variant selection with Main and bundled fallback.

Flutter        rerune ^1.3.0
Android        rerune-android-compose:1.2.0
               rerune-android-views:1.2.0
iOS            ReRune 1.2.0
React          @rerune/react@1.6.0
React Native   @rerune/react-native@1.6.0
Angular        @rerune/angular@1.6.0

Questions

Questions teams ask before choosing a localization platform.

Contact the ReRune team

Share an idea, report a problem, or ask for help with ReRune.

Is ReRune a direct Phrase replacement?

ReRune covers app string localization, developer sync, AI assistance, and OTA delivery. It does not aim to replace the full Phrase suite, such as Phrase TMS for document and agency translation workflows.

Does ReRune support the same OTA platforms as Phrase Strings?

Phrase Strings offers OTA for iOS, Android, Flutter, React Native, i18next, and Rails. ReRune offers OTA SDKs for React, React Native, Angular, Flutter, Android, and iOS, so Angular apps are covered and Rails apps are not.

How long does it take to switch from Phrase to ReRune?

The code change is usually small, because Phrase and ReRune SDKs both plug into standard i18n. Swap the SDK package, its setup call, and the distribution credentials for one read-only OTA Publish ID, import your files, and point the ReRune CLI at the project. For apps that already use standard i18n this often takes minutes. Jetpack Compose calls to phraseString move back to stringResource. Translation memory, glossaries, comments, and history move separately through exports.

Is ReRune a full enterprise suite replacement?

ReRune focuses on software and app localization workflows for product and engineering teams. It does not aim to cover every enterprise content, agency, or language-service workflow.

One workspace

Start with one product workflow and expand from there.

Create projects, manage keys, use AI assistance with context, sync through CLI/API, and publish approved runtime updates when your app uses a supported ReRune SDK.