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
+22
View File
@@ -1267,6 +1267,28 @@ class AppLocalizationsHi 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 => 'डिवाइस संपादित करें';