Common challenge
Generated delegates and ARB files cover the app runtime, but teams still need translation coordination, QA, release timing, and runtime update control.
ReRune Flutter SDK 1.2.1 adds approved OTA text and runtime variants while widgets keep using familiar delegates, supported locales, and getters.





Generated delegates and ARB files cover the app runtime, but teams still need translation coordination, QA, release timing, and runtime update control.
Flutter teams that want faster translation cycles, lower localization costs, clear ownership and review of app copy, and approved OTA text updates after the initial SDK integration without waiting for another developer release or App Store and Google Play review.
ReRune adds dashboard context, CLI/API sync, AI assistance, and OTA publish IDs around the Flutter localization workflow instead of replacing Flutter conventions.
Flutter specifics
The Flutter package generates a ReRune configuration from Flutter's localization output, then overlays published messages while widgets keep using the generated AppLocalizations API.
Run flutter gen-l10n, then dart run rerune to create the *.rerune.g.dart config. SDK 1.2.1 also provides prepare-arb for exported ARBs with offset:0. That optional path reads lib/l10n and writes lib/l10n/flutter, which must be the configured arb-dir.
Fetched or cached dashboard languages join the compiled locales in ReRune.supportedLocales. Rebuild the root localization configuration when a newly fetched language must appear during the current session.
Lookup checks the requested OTA locale variants, the published main language, and then the bundled Flutter value. Placeholders and cardinal plurals keep the generated method signatures and use the locale that supplied the OTA value.
Changed text and supported dashboard languages can arrive at runtime. New keys, changed placeholder signatures, platform language metadata, and new application behavior still require code generation and an app release.
Localize your Flutter app with a coding agent.
Watch a coding agent move Flutter strings into ARB files, integrate ReRune, and deliver a live text update to the running app.
Add OTA localization updates and runtime variants on top of generated Flutter localizations without changing how widgets read translated strings.
Version-pinned guidance from the published package README. Follow the linked README for the complete API and current release notes.
reruneflutter pub add rerune:^1.2.1README at a glance
setup
dependencies:
rerune: ^1.2.1
flutter gen-l10n
dart run rerune
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await ReRune.setup(
otaPublishId: 'your-ota-publish-id',
localizations: reRuneAppLocalizationsConfig,
variant: ReRuneVariant.named('customer_acme'),
);
runApp(const MyApp());
}
MaterialApp(
localizationsDelegates: ReRune.localizationsDelegates,
supportedLocales: ReRune.supportedLocales,
);Why it feels lightweight
Keep your generated Flutter localization APIs. If exported ARBs contain offset:0, SDK 1.2.1 can prepare compatible copies before generation. Keep source ARBs in lib/l10n, set arb-dir to lib/l10n/flutter, and run dart run rerune prepare-arb before flutter gen-l10n and dart run rerune.
Main runtime APIs
Use ReRune.checkForUpdates(), listen to ReRune.onFetchedTextsApplied, or wrap screens with ReRuneBuilder when you want update-aware UI.
Workflow
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.
Connect the supported app runtime to a ReRune publish ID while keeping native or framework localization behavior in place.
Approve translation changes in the workspace, then publish runtime updates without turning every text fix into a full store release.
Let supported SDK hooks check for updates and refresh text when new approved localization payloads are available.
When runtime updates are unavailable, the app keeps reading bundled resources so localization failures do not break the product.
Agent-assisted setup
Run the onboarding command from the root of your Git repository. The wizard detects the app and compatible coding agents already installed, then launches the agent you choose to move static UI text into localization, connect ReRune when cloud setup is selected, and validate the result.
Run inside your Git repository
$ curl -fsSL https://rerune.io/onboard.sh | shThe script runs locally. ReRune does not receive your source code or list of installed agents.
Start it from the repository root. It stays in the terminal and detects the app, existing localization, and supported coding agents already installed.
Review the source locale, Git branch, and whether to connect ReRune cloud and add supported OTA delivery. Nothing changes until you confirm.
The selected agent migrates user-facing strings into the app's localization system, connects ReRune when cloud setup is selected, adds supported OTA setup when requested, and runs the relevant validation.
11 integrations: 4 available now, 7 planned.
Coverage
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
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
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/rerunereruneConnect the project
Create the project config and connect the repository to its ReRune workspace.
rerune pullPull approved updates
Bring current dashboard translations into the app or its build workflow.
rerune pushPush local changes
Send local translation updates back to ReRune for the team to manage and publish.
Questions
Yes. With rerune 1.2.1, apps select Main or a named variant before runApp(...) and keep using generated delegates, supported locales, and getters.
Yes. Flutter teams can still use ReRune for project management, translation keys, AI assistance, import/export, and CLI/API sync even when OTA delivery is not part of the release plan.
Yes. Run flutter gen-l10n, then dart run rerune to generate the ReRune configuration. For exported ARBs containing offset:0, first use dart run rerune prepare-arb with source files in lib/l10n and l10n.yaml pointing at lib/l10n/flutter. Widgets keep using generated AppLocalizations getters and methods.
Lookup checks the requested OTA locale variants, the manifest's main language, and then the bundled Flutter value for that message. Missing remote content does not remove the compiled fallback.
New keys, changed placeholder signatures, new code paths, and platform or store language metadata still require code generation and an app release. Published values and supported dashboard languages can be delivered within the installed SDK's runtime scope.
Supported SDK flows keep bundled resources as the fallback. Runtime updates add approved text delivery on top of the app's existing localization path instead of replacing the safe baseline.
Share an idea, report a problem, or ask for help with ReRune.
Explore next
Go deeper into the developer, platform, and delivery workflows connected to this page.
Deliver published app text through ReRune OTA SDKs. See live updates, publication rollback, caching, fallback behavior, and release boundaries.
Read moreAdopt React Native OTA localization with SDK 1.5.1. Keep native options and hooks, use AsyncStorage caching, and restore native startup when removing ReRune.
Read moreReRune is an app localization platform for web, mobile, and cross-platform product teams that need translation management, AI assistance, CLI/API sync, and OTA updates.
Read moreCreate 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.