anas_localization 1.3.0
anas_localization: ^1.3.0 copied to clipboard
Flutter/Dart localization with multiple language support, runtime switching, custom dictionaries, code generation, and RTL for scalable internationalization.
1.2.1 - 2026-07-17 #
1.3.0 - 2026-07-22 #
1.2.2 - 2026-07-21 #
1.2.0 - 2026-07-17 #
Bug Fixes #
- merge remote translations into the live dictionary after a check (#183) (74b4975)
- rebuild widget when remote updates are auto-applied on same-locale sync (#184) (c73c532)
- resolve flat dotted resource-name keys in
getString(e.g.Bpm.Portal.Query.Inbox) (#185) (1670057) - case-insensitive flat-key lookup and trim remote payload key whitespace (5e64c47)
- remote: apply remote translations to live dictionary after check (#186) (a5c94af)
1.1.0 - 2026-07-08 #
Bug Fixes #
1.1.0 (2026-07-08) #
Features #
- add init and source_locale commands to CLI, enhance locale file… (#112) (7baba39)
- finish v1.0.1 validation, cli, generator and runtime coverage (#65) (97ecd0e)
- v1.2.0: generator modules, validator profiles, benchmarks, integration regressions (#77) (904ea25)
Bug Fixes #
- ci: restore export shim and refresh catalog web bundle (#151) (1e31d6c)
- guard same-language locale fallback to variants not in supported set (#86) (bc2c2f5)
- Implement Phase 6 validation fixes (Issues #123-131) (#132) (29caeb8)
1.3.0 (2026-07-14) #
Features #
- github: auto-apply form labels, stale bot, PR labeler, CODEOWNERS (#171) (e958c4a)
- github: auto-detect duplicate issues, merge, close, and bump priority (#170) (c2a30ba)
Bug Fixes #
1.2.0 (2026-07-13) #
Features #
- add init and source_locale commands to CLI, enhance locale file… (#112) (7baba39)
- finish v1.0.1 validation, cli, generator and runtime coverage (#65) (97ecd0e)
- Remote Localization V1 (#155) (773ebd2)
- v1.2.0: generator modules, validator profiles, benchmarks, integration regressions (#77) (904ea25)
Bug Fixes #
1.0.0 - 2026-07-08 #
0.1.6 - 2026-07-03 #
- 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.5 - 2026-06-19 #
- Internal: consolidated
lib/into a feature-first layout (features/{localization,catalog,migration}/withdata/domain/presentationlayers, plusshared/). No public API or behavior changes — legacy paths (src/utils/,src/catalog/,src/api/,src/core/translation_loader.dart) remain as export shims. - Internal: Catalog now depends on Localization through
domain/contracts/interfaces instead of concrete classes, enforcing clean feature boundaries. - Internal: added
tool/check_shim_exports.dartregression guard (runs in CI) to keep legacy paths export-only; reorganized tests undertest/features/andtest/shared/.
0.1.4 - 2026-06-05 #
- Fixed
_extractNamedExpressioninmigration_helper.dartto use source-text pattern matching instead ofis NamedExpression, which was removed from the analyzer public API in v13.
0.1.3 - 2026-06-05 #
- 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).
0.1.2 - 2026-06-05 #
- 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.
0.1.1 - 2026-05-31 #
- 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.
0.1.0 - 2026-05-19 #
- 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.
0.0.1 #
- Initial release: JSON-based translations, dictionary code generation, pluralization/gender support, and runtime locale switching.