anas_localization
Flutter/Dart localization with multiple language support, runtime switching, custom dictionaries, code generation, and RTL for scalable internationalization.
What this package is like to depend on
Last release 1 months ago
22 Jul 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 10 of 10 stable releases
Nothing withdrawn
no release was ever pulled
3 months old
10 releases · first in 2026
10 releases in the last 12 months
see the full history below
Release timeline
10 releases · May 2026 to Jul 2026Releases
latest 10-
1.3.022 Jul 2026 -
1.2.221 Jul 2026Release notes
Open source → -
1.2.117 Jul 2026Release notes
Open source →What's Changed
- fix(ci): publish to pub.dev from tag push, not branch push by @Melsaeed276 in #157
- deps(deps): bump anas_localization from 1.1.0 to 1.2.0 in /tool/catalog_app by @dependabot[bot] in #158
- chore: remove superseded PACKAGE_IMPROVEMENT_SUGGESTIONS.md by @Melsaeed276 in #179
- chore(github): expand feature-impact checklist, auto-label issues for triage by @Melsaeed276 in #169
- feat(github): auto duplicate-detection for new issues by @Melsaeed276 in #170
- feat(github): form-label sync, stale bot, PR auto-labeler, CODEOWNERS by @Melsaeed276 in #171
- chore(main): release 1.3.0 by @github-actions[bot] in #180
- fix(remote): apply remote translations to live dictionary after check by @Melsaeed276 in #186
- chore(main): release 1.3.1 by @github-actions[bot] in #187
- chore(main): release 1.4.0 by @github-actions[bot] in #188
- fix(ci): pin Release Please to 1.2.0 and gate pub.dev publish on PR checkbox by @Melsaeed276 in #189
- fix(ci): pin release-please to v1.2.0 and auto-clear after release by @Melsaeed276 in #192
- fix(ci): force next release to 1.2.1 via release-as by @Melsaeed276 in #195
- chore(release): 1.2.1 by @Melsaeed276 in #198
- ci: allow manual force_publish bypass for one-off releases by @Melsaeed276 in #200
- ci: authorize tag pushes matching pubspec version by @Melsaeed276 in #202
- fix(ci): compare tag (with v) to pubspec version by @Melsaeed276 in #204
Full Changelog: v1.2.0...v1.2.1
Release notes
Open source →Bug Fixes
- ci: reset release version baseline to 1.2.x after mis-bumped 1.4.0/1.5.0 releases (#195)
-
1.1.013 Jul 2026Release notes
Open source → -
0.1.603 Jul 2026Release notes
Open source →What's Changed
- Add Flutter package quality checks to PR workflow by @Melsaeed276 in #30
- Strengthen workflow tests: validator edge-cases and robust codegen assertion by @Melsaeed276 in #33
- Development by @Melsaeed276 in #32
- Development by @Melsaeed276 in #38
- Development by @Melsaeed276 in #39
- Codex/resolve merge conflicts by @Melsaeed276 in #40
- update lincense by @Melsaeed276 in #41
- Update localization tooling and docs for upcoming release by @Melsaeed276 in #62
- v1.0.1: complete validator/CLI/codegen/runtime issue set by @Melsaeed276 in #65
- v1.1.0: ARB interop, fallback chain, loader architecture, and watch mode by @Melsaeed276 in #75
- feat(v1.2.0): generator modules, validator profiles, benchmarks, integration regressions by @Melsaeed276 in #77
- docs(ci): start v2.0.0 migration, README positioning, and release gate by @Melsaeed276 in #78
- Codex/v2 0 0 milestone by @Melsaeed276 in #79
- Add locale fallback coverage for #80 by @Melsaeed276 in #84
- Handle language fallback before default locale by @Melsaeed276 in #85
- Fix: guard same-language locale fallback to variants not in supported set by @Melsaeed276 with @Copilot in #86
- Fix locale fallback ordering, restore fallback, overlay singleton, listener leaks by @Melsaeed276 in #87
- Codex/issues 81 83 by @Melsaeed276 in #89
- Codex/issue 80 fallback ordering by @Melsaeed276 in #90
- Address review feedback: listener logging, comment accuracy, and test coverage by @Melsaeed276 with @Copilot in #88
- Codex/issue 81 by @Melsaeed276 in #91
- Update by @Melsaeed276 in #92
- CI: expand checks, artifacts, and nightly suite by @Melsaeed276 in #93
- CI: fix grep portability, hard-coded pub-cache paths, and over-broad error catch by @Melsaeed276 with @Copilot in #94
- Add localization migration CLI and catalog UI by @Melsaeed276 in #98
- Codex/v3 catalog UI by @Melsaeed276 in #95
- Fix TOCTOU port race, JS escaping dead code, catalog status logic, and ARB locale extraction by @Melsaeed276 with @Copilot in #101
- 001 package features doc by @Melsaeed276 in #103
- 002 arabic localization support by @Melsaeed276 in #104
- 003 optional data type input by @Melsaeed276 in #105
- Integration/all branches by @Melsaeed276 in #106
- 005 catalog md3 UI by @Melsaeed276 in #107
- feat: add init and source_locale commands to CLI, enhance locale file… by @Melsaeed276 in #112
- [WIP] Add init and source_locale commands to CLI by @Melsaeed276 with @Copilot in #113
- Update cli by @Melsaeed276 in #114
- Update cli by @Melsaeed276 in #115
- Fix catalog CI regressions after controller API changes by @Melsaeed276 in #116
- Catalog bugfix by @Melsaeed276 in #117
- fix: Implement Phase 6 validation fixes (Issues #123-131) by @Melsaeed276 in #132
- Update Claude local settings by @Melsaeed276 in #137
- Update files builder by @Melsaeed276 in #138
- Fix local data by @Melsaeed276 in #139
- Add Custom UI support to README table by @Melsaeed276 in #141
- Enhance CI stability, testing, and repository organization by @Melsaeed276 in #140
- Auto publish by @Melsaeed276 in #142
- Auto publish2 by @Melsaeed276 in #143
- Auto publish2 by @Melsaeed276 in #145
- chore: merge clean-up milestone into main by @Melsaeed276 in #147
Full Changelog: https://github.com/Melsaeed276/anas_localization/commits/v0.1.6
Release notes
Open source →- CI: pinned Flutter to 3.44.2 and normalized catalog web bundle output (permissions + deterministic serviceWorkerVersion) so
check-generationis stable across runners. - Tests: updated
tool/catalog_appwrapper widget test to match the current UI (opens settings before asserting display language).
-
0.1.405 Jun 2026Release notes
Open source →- Fixed
_extractNamedExpressioninmigration_helper.dartto use source-text pattern matching instead ofis NamedExpression, which was removed from the analyzer public API in v13.
- Fixed
-
0.1.305 Jun 2026Release notes
Open source →- Extracted
hasCircularFallback,resolveFallbackChain,getLanguageCode,sameLanguageGroupinto adart:io-free helper file (catalog_fallback_helpers.dart) so the public library no longer transitively importsdart:io, enabling full platform support (iOS, Android, Web, Windows, macOS, Linux).
- Extracted
-
0.1.205 Jun 2026Release notes
Open source →- Fixed type errors in migration helper (
_extractStringLiteralnow acceptsAstNodefor compatibility with analyzer v13+ whereArgumentList.argumentsreturnsNodeList<Argument>instead ofNodeList<Expression>). - Fixed
_buildGenL10nMethodReplacementcall to filter arguments with.whereType<Expression>()for analyzer v13+ compatibility.
- Fixed type errors in migration helper (
-
0.1.131 May 2026Release notes
Open source →- Fixed migration helper compatibility with analyzer v13 (
NamedExpressionremoved from public API, switched to source-text pattern matching). - Widened analyzer constraint from
^10.0.1to>=10.0.1 <14.0.0for broader SDK compatibility. - Added pub.dev automated publishing workflow via
dart-lang/setup-dart/.github/workflows/publish.yml. - Fixed CHANGELOG version check in release workflows (removed strict line-end anchor).
- Added consumer E2E integration test suite for CLI and codegen workflows.
- Improved type handling in migration helper (
Expressiontype guards,whereTypefiltering). - Stabilized CI test suite and resolved pre-existing test failures.
- Updated package description for clarity and conciseness.
- Fixed migration helper compatibility with analyzer v13 (
-
0.1.019 May 2026Release notes
Open source →- English localization alignment: shared base
enwith regional overlays (en_US,en_GB,en_CA,en_AU), one/other-only plural validation for English locales, validator and docs clarify English-scope boundaries and locale notation (underscore in file names, hyphen in user-facing labels). - Added
AnasDateTimeFormatter.preferredDateSkeletonreturning region-correct date-order patterns (M/d/y for en_US, d/M/y for en_GB and en_AU, y-MM-dd for en_CA). - Added
AnasNumberFormatter.defaultCurrencyCodereturning ISO 4217 currency codes for regional English locales (USD, GBP, CAD, AUD). - Exposed
TranslationValidator.isEnglishLocaleandTranslationValidator.requiredPluralFormsForLocaleas public static methods for custom tooling and Catalog UI. - Added package-level regional English asset files (
assets/lang/en_US.json,assets/lang/en_GB.json,assets/lang/en_CA.json,assets/lang/en_AU.json) with spelling and locale-convention overrides. - Expanded
doc/reference/file-structure.mdwith a regional English overlays section, English-vs-Arabic scope comparison table, and validator behavior notes. - Added namespaced/module dictionary generation options:
--modules,--modules-only, and--module-depth. - Added standalone Catalog UI sidecar (
catalog serve) with Swift String Catalog-style table editing, review actions, and status badges. - Catalog UI: added
hide_catalog_ui_keys(defaulttrue) to hide catalog chrome strings from the editor; disable it if your project legitimately uses the same key names (for examplerefresh). - Added Create New String workflow (
+ New StringUI andcatalog add-keyCLI) with dotted key validation and per-locale value inputs. - Added new key status behavior: all locales filled at creation =>
green; partial creation =>warningwithnew_key_needs_translation_review. - Added catalog API endpoints for key creation, cell update/delete, review marking, summary, and metadata.
- Added CLI catalog command group (
init,status,serve,add-key,review,delete-key) anddev --with-catalogsidecar mode. - Added catalog unit/integration/CLI tests covering create-key states, duplicate rejection, API behavior, and state persistence across restart.
- Added
doc/SETUP_AND_USAGE.mdwith end-to-end setup, runtime usage, and catalog workflow instructions. - Added validator strictness profiles (
strict,balanced,lenient) with per-rule toggles and CLI wiring. - Added placeholder schema validation (required/type/format/select values) with ARB metadata support and optional
--schema-filesidecar. - Added benchmark harness for 1k/5k/10k datasets with cold-load, hot-switch, and memory RSS metrics.
- Added expanded regression coverage for nested/plural/gender/fallback behaviors and malformed CLI import/export inputs.
- Added migration guide from
easy_localizationand expanded migration guide from Fluttergen_l10n, including rollback notes. - Added README positioning updates with badges, "Why this package", and a competitor comparison matrix.
- Added medium/advanced example matrix documentation with visual output diagrams.
- Added release-gating CI workflow for version/changelog checks, generator smoke checks, and
pub publish --dry-run. - Added
CONTRIBUTING.mdandSECURITY.mdto improve package trust and contribution onboarding. - Fixed ARB locale extraction from filenames to preserve full locale tails (for example
en_US,zh_Hant_TW). - Fixed rule toggle override semantics so profile defaults (for example lenient checks) are preserved unless explicitly overridden.
- Fixed benchmark CI workflow to use Flutter SDK setup and
flutter pubcommands. - Added runtime
LocalizationService.configure(...)to set asset path and supported locales in one place. - Added Flutter preview support via
previewDictionariesonAnasLocalizationand service-level preview dictionary APIs. - Fixed async locale change behavior by awaiting locale save in
setLocale. - Improved saved locale parsing normalization and country/language casing.
- Added tests for Flutter preview dictionaries and widget configuration wiring.
- Updated README with Flutter preview usage and fixed conflicting
assetPathexample. - Added pre-launch hardening: typed localization exceptions, unified validators, nested key support, and expanded CLI workflows.
- English localization alignment: shared base