Catalog UI Guide¶
This package ships with a standalone localization catalog sidecar (web UI + API) to manage translations outside your main Flutter app runtime.
What it provides¶
- String-catalog table view for all keys across locales
- Inline edit/delete/review actions per locale cell
+ New Stringcreation modal with dotted key support (home.header.title)- Review statuses:
green: reviewed / in syncwarning: needs review (including new key review workflow)red: missing or deleted value needs action
Setup¶
catalog serve starts:
- UI server on
ui_port - API server on
api_port
Both are independent from your app run/build lifecycle.
Config file¶
Generated config file: anas_catalog.yaml
version: 1
lang_dir: assets/lang
format: json
fallback_locale: en
source_locale: null
state_file: .anas_localization/catalog_state.json
ui_port: 4466
api_port: 4467
open_browser: true
arb_file_prefix: app
CLI commands¶
dart run anas_localization:anas_cli catalog status
dart run anas_localization:anas_cli catalog serve
dart run anas_localization:anas_cli catalog add-key --key=home.title --value-en="Home"
dart run anas_localization:anas_cli catalog review --key=home.title --locale=tr
dart run anas_localization:anas_cli catalog delete-key --key=home.title
dart run anas_localization:anas_cli dev --with-catalog -- flutter run
Create New String workflow¶
Command:
Rules:
- New key is created in all supported locales.
- If values are provided for all locales at creation time, cells become
green. - If values are partial, cells remain
warningwith reasonnew_key_needs_translation_review.
Bulk create from JSON¶
Supported JSON formats:
[
{
"keyPath": "home.title",
"valuesByLocale": {
"en": "Home",
"tr": "Ana Sayfa",
"ar": "الرئيسية"
}
}
]
or:
API endpoints¶
GET /api/catalog/metaGET /api/catalog/rowsGET /api/catalog/summaryPOST /api/catalog/keyPATCH /api/catalog/cellDELETE /api/catalog/cellPOST /api/catalog/reviewDELETE /api/catalog/key