Caution
Disclaimer: This project was written almost completely by AI and may contain bugs, security issues, and other problems. Use at your own risk and please review the code before running it.
A lightweight browser-based editor for Flutter .arb localization files, with SQLite persistence.
- Import one or many
.arbfiles - Infer locale from
@@localeor filename patternapp_<locale>.arb - Edit message keys and translations across locales
- Edit metadata in template locale (
@key.description,@key.placeholders) - Add locale files and new message keys
- Basic checks for missing translations and missing descriptions
- Export current locale or all locales as pretty-printed ARB
- Persist all locale/message data on the server in SQLite
- Auto-translate missing message values with DeepL
-
Install dependencies:
npm install
-
Start the server:
DEEPL_API_KEY=your_key_here npm run server
If you do not set
DEEPL_API_KEY, the editor still works, but DeepL translation will be unavailable.Optional environment variable:
DEEPL_API_URL(defaults tohttps://api-free.deepl.com/v2/translate)
-
Open:
http://localhost:3000
SQLite DB file location:
data/arb-editor.db
Server API endpoints:
GET /api/state- fetch persisted editor statePUT /api/state- persist current editor statePOST /api/translate- translate text for target locales via DeepLGET /api/health- health check
- Keep files under your configured
arb-dir(commonlylib/l10n) - Use
flutter gen-l10norflutter runafter saving files - Typical naming:
app_en.arb,app_es.arb, etc.