i18n(alarm): localize all native notification, channel and chooser texts
Build & Deploy PluriWave / Análisis de código (push) Successful in 40s
Build & Deploy PluriWave / Build APK + AAB release (push) Successful in 2m33s

Centralize every native-side user-facing string in a single
AlarmNotificationStrings store written by Flutter via a new
setNotificationStrings MethodChannel whenever the app locale changes,
and read at notification/channel build time (with English fallbacks)
even when the engine is dead. This replaces the hardcoded Spanish text
in the ringing notification ("Alarma PluriWave", "Posponer", "Detener"),
the pre-notice notification ("Posponer", "Omitir esta vez"), both
notification channels (names + descriptions) and the file-action
choosers ("Abrir carpeta", "Abrir grabación").

The per-alarm preNoticeTemplate/snoozeCountdown template+label args are
dropped from scheduleAlarm and the persisted spec and folded into the
shared store, so a locale change now also relocalizes already-scheduled
alarms. Channels are re-created on each use so their name/description
refresh after a language switch.

Adds alarmRingingNotificationTitle, alarmFire/PreNoticeChannelName,
alarmFire/PreNoticeChannelDescription and openFolder/openRecording
chooser keys across all 13 locales (reusing snoozeAction, stopAlarmAction,
skipNextAction, snoozeAgainAction). Rewrites the template test around
setNotificationStrings. Kotlin is static-reviewed only; no Android build
environment available here.
This commit is contained in:
Javier Bautista Fernández
2026-06-30 15:41:29 +02:00
parent 481944815f
commit ffd09a2179
34 changed files with 639 additions and 144 deletions
+23
View File
@@ -1268,6 +1268,29 @@ class AppLocalizationsBn extends AppLocalizations {
@override
String get snoozeAgainAction => 'আবার স্নুজ করুন';
@override
String get alarmRingingNotificationTitle => 'PluriWave অ্যালার্ম';
@override
String get alarmFireChannelName => 'বাজতে থাকা অ্যালার্ম';
@override
String get alarmFireChannelDescription =>
'কোনো মিউজিক অ্যালার্ম বাজার সময় জরুরি শব্দ ও স্ক্রিন';
@override
String get alarmPreNoticeChannelName => 'অ্যালার্ম রিমাইন্ডার';
@override
String get alarmPreNoticeChannelDescription =>
'অ্যালার্মের আগে নীরব বিজ্ঞপ্তি';
@override
String get openFolderChooserTitle => 'ফোল্ডার খুলুন';
@override
String get openRecordingChooserTitle => 'রেকর্ডিং খুলুন';
@override
String get eqDeviceEditTitle => 'ডিভাইস সম্পাদনা করুন';