i18n(alarm): localize all native notification, channel and chooser texts
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:
@@ -2324,6 +2324,48 @@ abstract class AppLocalizations {
|
||||
/// **'Posponer otra vez'**
|
||||
String get snoozeAgainAction;
|
||||
|
||||
/// No description provided for @alarmRingingNotificationTitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Alarma PluriWave'**
|
||||
String get alarmRingingNotificationTitle;
|
||||
|
||||
/// No description provided for @alarmFireChannelName.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Alarmas sonando'**
|
||||
String get alarmFireChannelName;
|
||||
|
||||
/// No description provided for @alarmFireChannelDescription.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Sonido y pantalla urgente cuando una alarma musical debe sonar'**
|
||||
String get alarmFireChannelDescription;
|
||||
|
||||
/// No description provided for @alarmPreNoticeChannelName.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Preavisos de alarmas'**
|
||||
String get alarmPreNoticeChannelName;
|
||||
|
||||
/// No description provided for @alarmPreNoticeChannelDescription.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Notificaciones silenciosas antes de la alarma'**
|
||||
String get alarmPreNoticeChannelDescription;
|
||||
|
||||
/// No description provided for @openFolderChooserTitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Abrir carpeta'**
|
||||
String get openFolderChooserTitle;
|
||||
|
||||
/// No description provided for @openRecordingChooserTitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
/// **'Abrir grabación'**
|
||||
String get openRecordingChooserTitle;
|
||||
|
||||
/// No description provided for @eqDeviceEditTitle.
|
||||
///
|
||||
/// In es, this message translates to:
|
||||
|
||||
Reference in New Issue
Block a user