Files
org.parres.whitenoise/scripts
923fadbc4d Add internationalization support with 8 languages (#83)
* Add internationalization support with 8 languages

- Add locale provider with system/manual language selection
- Add ARB translation files for EN, ES, FR, DE, IT, PT, RU, TR
- Localize all 19 screens and 23 widgets
- Add locale-aware date/number/currency formatters
- Add comprehensive locale provider tests (40+ tests)
- Add language selector in app settings
- Include proper ICU plural forms for all languages

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Formatting

* Regenerate flutter_rust_bridge bindings after rebase

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Formatting

* Improve locale persistence and add profile error strings

- Refactor LocaleNotifier to use secure storage for locale preference
- Add profileLoadError and profileSaveError localization strings
- Update tests for new locale provider implementation
- Fix various test issues and remove unused imports

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Improve test coverage and fix CI l10n validation

- Fix CI workflow to use jq for reliable ARB key extraction instead of grep
- Add error handling tests for LocaleProvider storage failures
- Add failure simulation flags to MockWnApi and MockSecureStorage
- Add tests for LocaleFormatters, LocalePersistenceException, and edge cases
- Add UI error handling tests for language update and npub conversion failures

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Improve dropdown scroll UX and fix test reliability

- Add scroll fade indicators to dropdown when options exceed visible items
- Refactor dropdown list into _ScrollableDropdownList widget
- Improve CI l10n validation with better jq error handling
- Remove unused _resolveSystemLanguageCode method
- Fix async test expectations in locale provider tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add atomic locale storage rollback and CI orphaned key detection

- Locale provider now captures previous preference before changes and
  restores it atomically if the rust API call fails
- CI l10n validation now detects extra/orphaned keys in locale files
  (not just missing keys), with improved error messaging
- Added tests for storage rollback behavior on API failure

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Remove unused import

* refactor: move l10n keys validation to scrip folder

* Update spanish localizations

* fix(l10n): improve Spanish key terminology (clave → llave)

Use 'llave' instead of 'clave' for cryptographic keys in Spanish
translations, which is more commonly used in technical contexts.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* ci: add pub cache to l10n-validation and locale validation to precommit

- Add Flutter pub cache step to l10n-validation CI job for faster runs
- Add validate-locales-keys to precommit and precommit-check recipes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* fix(ci): use correct github.workspace context in l10n cache

Replace runner.workspace with github.workspace for the pub-cache
path in l10n-validation job. runner.workspace is not a valid
GitHub Actions context.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: josefinalliende <mariajosefinaalliende@gmail.com>
2026-01-27 09:38:01 +01:00
..
2025-12-18 12:36:03 -03:00