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
+21
View File
@@ -1228,6 +1228,27 @@ class AppLocalizationsJa 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 => 'デバイスを編集';