Dualkit
/plugin install dualkit@dualkit
npm i @dualkit/format
npm i @dualkit/starter
npx dualkit check https://your-site.com/ar
npx dualkit@beta convert --mode bilingual
Install the skills
/plugin install dualkit@dualkit
Convert, beta

Your English app.
Now
in Arabic.

We ran dualkit convert on TailAdmin, an open-source admin dashboard, and an agent with the dualkit-convert skill finished it. Drag across any screen to see the real result.

Check score 96
Dashboard in English
Dashboard in Arabic
One command

96 files changed
in 27 seconds.

Convert works on a new branch. It takes English screenshots first, then rewrites what it can rewrite safely and lists everything else for your agent.

TerminalDone in 27 s
$ npx dualkit@beta convert --mode bilingualTook 36 English baseline screenshots.Created the branch dualkit/bilingual.Running npm install.Committed 96 changed files on dualkit/bilingual.102 things are left to finish. 0 files were skipped.
96Files changed
679Edits
310Strings moved
102Left for the agent
The diff

Every edit is one
you can read.

No rewrite of your app, no new components. Convert changes the lines that need to change and leaves the rest alone.

src/layout/AppSidebar.tsx
-<ul className="mt-2 space-y-1 ml-9">
+<ul className="mt-2 space-y-1 ms-9">
-<span className="flex items-center gap-1 ml-auto">
+<span className="flex items-center gap-1 ms-auto">
The strings

Every string waits
for a native speaker.

Dualkit makes no model calls. Your agent drafts the Arabic with the dualkit-convert skill, and each string stays marked as a draft until a person checks it.

dualkit-strings.json464 strings, all drafted, none reviewed yet
KeyEnglishArabicStatus
app-sidebar.dashboardDashboardلوحة التحكمdrafted
ecommerce-metrics.customersCustomersالعملاءdrafted
monthly-sales-chart.monthly-salesMonthly Salesالمبيعات الشهريةdrafted
monthly-target.view-moreView Moreعرض المزيدdrafted
recent-orders.recent-ordersRecent Ordersأحدث الطلباتdrafted
The run

What it took
to convert TailAdmin.

679edits made by convert in 27 seconds
464strings in Arabic, 310 of them found by convert
38minutes for an agent with the skill to finish
16English screens that match the original
Try it

Three steps,
one branch.

01

Convert

Run it in a clean repo. It makes a new branch, swaps left and right for start and end, keeps numbers reading the right way and moves every English string into a translation file.

npx dualkit@beta convert --mode bilingual
02

Fill the Arabic

Your agent fills each string with the dualkit-convert skill and fixes the places convert listed. Every drafted string is marked for a native speaker to check.

/plugin install dualkit@dualkit
03

Finish

It compares every English page with the screenshot from before, runs the 34 check rules on every Arabic page, runs your tests and writes a report.

npx dualkit@beta convert --finish
Honest notes

What the agent
finished by hand.

Convert rewrites only what it can rewrite safely. On TailAdmin the agent did the rest in two commits, and most of it is moving into convert.

01

154 more strings

Text passed through props, kept in data arrays or set in chart options. Convert 0.1 missed these.

02

Links that keep the language

Twelve files used the plain Next.js link, which sends an Arabic visitor back to English. The agent swapped in the locale link.

03

Charts and the calendar

Arabic month names, the value axis on the right and Arabic type inside ApexCharts and FullCalendar.

04

The Arabic itself

The agent drafted every string. Each one is marked for a native speaker to check before you ship.

TailAdmin is made by TailAdmin and MIT licensed. The converted app lives on the dualkit/bilingual branch.