Skip to content

sample-app intl#554

Merged
frnandu merged 1 commit intomasterfrom
feat/sample-app-i18n
Mar 30, 2026
Merged

sample-app intl#554
frnandu merged 1 commit intomasterfrom
feat/sample-app-i18n

Conversation

@frnandu
Copy link
Copy Markdown
Collaborator

@frnandu frnandu commented Mar 30, 2026

Summary by CodeRabbit

Release Notes

  • New Features

    • Added comprehensive multi-language support: English, German, Spanish, French, Italian, Japanese, Polish, Russian, and Chinese
    • All user-facing text across the application is now localized, providing a native language experience for accounts, profiles, relays, media operations, and other features
  • Chores

    • Updated dependencies and enabled build configuration to support internationalization

@frnandu frnandu merged commit 6e4a3a6 into master Mar 30, 2026
6 of 7 checks passed
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Mar 30, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ee92bd8e-f27c-49dc-9bf6-51d1900f1edf

📥 Commits

Reviewing files that changed from the base of the PR and between 0e31708 and 786a268.

⛔ Files ignored due to path filters (11)
  • packages/sample-app/lib/l10n/generated/sample_app_localizations.dart is excluded by !**/generated/**
  • packages/sample-app/lib/l10n/generated/sample_app_localizations_de.dart is excluded by !**/generated/**
  • packages/sample-app/lib/l10n/generated/sample_app_localizations_en.dart is excluded by !**/generated/**
  • packages/sample-app/lib/l10n/generated/sample_app_localizations_es.dart is excluded by !**/generated/**
  • packages/sample-app/lib/l10n/generated/sample_app_localizations_fr.dart is excluded by !**/generated/**
  • packages/sample-app/lib/l10n/generated/sample_app_localizations_it.dart is excluded by !**/generated/**
  • packages/sample-app/lib/l10n/generated/sample_app_localizations_ja.dart is excluded by !**/generated/**
  • packages/sample-app/lib/l10n/generated/sample_app_localizations_pl.dart is excluded by !**/generated/**
  • packages/sample-app/lib/l10n/generated/sample_app_localizations_ru.dart is excluded by !**/generated/**
  • packages/sample-app/lib/l10n/generated/sample_app_localizations_zh.dart is excluded by !**/generated/**
  • packages/sample-app/pubspec.lock is excluded by !**/*.lock
📒 Files selected for processing (20)
  • packages/sample-app/l10n.yaml
  • packages/sample-app/lib/accounts_page.dart
  • packages/sample-app/lib/blossom_page.dart
  • packages/sample-app/lib/l10n/app_de.arb
  • packages/sample-app/lib/l10n/app_en.arb
  • packages/sample-app/lib/l10n/app_es.arb
  • packages/sample-app/lib/l10n/app_fr.arb
  • packages/sample-app/lib/l10n/app_it.arb
  • packages/sample-app/lib/l10n/app_ja.arb
  • packages/sample-app/lib/l10n/app_localizations_context.dart
  • packages/sample-app/lib/l10n/app_pl.arb
  • packages/sample-app/lib/l10n/app_ru.arb
  • packages/sample-app/lib/l10n/app_zh.arb
  • packages/sample-app/lib/login_popup.dart
  • packages/sample-app/lib/main.dart
  • packages/sample-app/lib/pending_requests_page.dart
  • packages/sample-app/lib/profile_page.dart
  • packages/sample-app/lib/relays_page.dart
  • packages/sample-app/lib/widgets_demo_page.dart
  • packages/sample-app/pubspec.yaml

📝 Walkthrough

Walkthrough

This PR introduces comprehensive internationalization (i18n) to the sample app by adding a localization configuration file, creating ARB translation files for eight languages, defining a BuildContext extension for convenient l10n access, and systematically replacing hardcoded English strings with localized values across all UI pages.

Changes

Cohort / File(s) Summary
Localization Configuration
packages/sample-app/l10n.yaml, packages/sample-app/pubspec.yaml
Added Flutter localization workflow configuration specifying ARB source directory, template file, output location, and Dart class names. Added intl dependency and enabled Flutter code generation.
Localization Resource Files
packages/sample-app/lib/l10n/app_*.arb (en, de, es, fr, it, ja, pl, ru, zh)
Added nine localization files containing translated UI strings, labels, and parameterized messages for app navigation, authentication, relay management, widgets, media operations, and cryptographic actions across all supported languages.
Localization Infrastructure
packages/sample-app/lib/l10n/app_localizations_context.dart
Introduced BuildContext extension SampleAppLocalizationsContext with convenience getter l10n providing direct access to localized resources via context.l10n.
UI Pages Integration
packages/sample-app/lib/accounts_page.dart, packages/sample-app/lib/blossom_page.dart, packages/sample-app/lib/login_popup.dart, packages/sample-app/lib/main.dart, packages/sample-app/lib/pending_requests_page.dart, packages/sample-app/lib/profile_page.dart, packages/sample-app/lib/relays_page.dart, packages/sample-app/lib/widgets_demo_page.dart
Updated all UI pages to import localization context and replace hardcoded English strings with localized equivalents via context.l10n. Modified method signatures where needed to pass BuildContext for localization access (e.g., _getMethodDisplayName, _formatDuration). Removed const constraints from widgets and text where dynamic localization values are used.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~35 minutes

Suggested reviewers

  • nogringo
  • 1-leo

Poem

🐰 Strings now flow in many tongues,
From English, German, tales unsung,
Spanish whispers, French delight,
Japanese, Polish, Chinese bright!
The sample app now speaks worldwide,
With BuildContext as its trusty guide! 🌍

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/sample-app-i18n

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant