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:
|
||||
|
||||
@@ -1261,6 +1261,28 @@ class AppLocalizationsAr 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 => 'تعديل الجهاز';
|
||||
|
||||
|
||||
@@ -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 => 'ডিভাইস সম্পাদনা করুন';
|
||||
|
||||
|
||||
@@ -1278,6 +1278,29 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
@override
|
||||
String get snoozeAgainAction => 'Erneut schlummern';
|
||||
|
||||
@override
|
||||
String get alarmRingingNotificationTitle => 'PluriWave-Wecker';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelName => 'Klingelnde Wecker';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelDescription =>
|
||||
'Dringender Ton und Bildschirm, wenn ein Musikwecker klingeln soll';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelName => 'Wecker-Vorankündigungen';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelDescription =>
|
||||
'Lautlose Benachrichtigungen vor dem Wecker';
|
||||
|
||||
@override
|
||||
String get openFolderChooserTitle => 'Ordner öffnen';
|
||||
|
||||
@override
|
||||
String get openRecordingChooserTitle => 'Aufnahme öffnen';
|
||||
|
||||
@override
|
||||
String get eqDeviceEditTitle => 'Gerät bearbeiten';
|
||||
|
||||
|
||||
@@ -1264,6 +1264,29 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
@override
|
||||
String get snoozeAgainAction => 'Snooze again';
|
||||
|
||||
@override
|
||||
String get alarmRingingNotificationTitle => 'PluriWave alarm';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelName => 'Ringing alarms';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelDescription =>
|
||||
'Urgent sound and screen when a music alarm must ring';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelName => 'Alarm reminders';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelDescription =>
|
||||
'Silent notifications before the alarm';
|
||||
|
||||
@override
|
||||
String get openFolderChooserTitle => 'Open folder';
|
||||
|
||||
@override
|
||||
String get openRecordingChooserTitle => 'Open recording';
|
||||
|
||||
@override
|
||||
String get eqDeviceEditTitle => 'Edit device';
|
||||
|
||||
|
||||
@@ -1273,6 +1273,29 @@ class AppLocalizationsEs extends AppLocalizations {
|
||||
@override
|
||||
String get snoozeAgainAction => 'Posponer otra vez';
|
||||
|
||||
@override
|
||||
String get alarmRingingNotificationTitle => 'Alarma PluriWave';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelName => 'Alarmas sonando';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelDescription =>
|
||||
'Sonido y pantalla urgente cuando una alarma musical debe sonar';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelName => 'Preavisos de alarmas';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelDescription =>
|
||||
'Notificaciones silenciosas antes de la alarma';
|
||||
|
||||
@override
|
||||
String get openFolderChooserTitle => 'Abrir carpeta';
|
||||
|
||||
@override
|
||||
String get openRecordingChooserTitle => 'Abrir grabación';
|
||||
|
||||
@override
|
||||
String get eqDeviceEditTitle => 'Editar dispositivo';
|
||||
|
||||
|
||||
@@ -1283,6 +1283,29 @@ class AppLocalizationsFr extends AppLocalizations {
|
||||
@override
|
||||
String get snoozeAgainAction => 'Reporter encore';
|
||||
|
||||
@override
|
||||
String get alarmRingingNotificationTitle => 'Alarme PluriWave';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelName => 'Alarmes en cours';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelDescription =>
|
||||
'Son et écran urgents lorsqu\'une alarme musicale doit sonner';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelName => 'Rappels d\'alarme';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelDescription =>
|
||||
'Notifications silencieuses avant l\'alarme';
|
||||
|
||||
@override
|
||||
String get openFolderChooserTitle => 'Ouvrir le dossier';
|
||||
|
||||
@override
|
||||
String get openRecordingChooserTitle => 'Ouvrir l\'enregistrement';
|
||||
|
||||
@override
|
||||
String get eqDeviceEditTitle => 'Modifier l\'appareil';
|
||||
|
||||
|
||||
@@ -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 => 'डिवाइस संपादित करें';
|
||||
|
||||
|
||||
@@ -1272,6 +1272,29 @@ class AppLocalizationsId extends AppLocalizations {
|
||||
@override
|
||||
String get snoozeAgainAction => 'Tunda lagi';
|
||||
|
||||
@override
|
||||
String get alarmRingingNotificationTitle => 'Alarm PluriWave';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelName => 'Alarm berbunyi';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelDescription =>
|
||||
'Suara dan layar mendesak saat alarm musik harus berbunyi';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelName => 'Pengingat alarm';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelDescription =>
|
||||
'Notifikasi senyap sebelum alarm';
|
||||
|
||||
@override
|
||||
String get openFolderChooserTitle => 'Buka folder';
|
||||
|
||||
@override
|
||||
String get openRecordingChooserTitle => 'Buka rekaman';
|
||||
|
||||
@override
|
||||
String get eqDeviceEditTitle => 'Edit perangkat';
|
||||
|
||||
|
||||
@@ -1278,6 +1278,29 @@ class AppLocalizationsIt extends AppLocalizations {
|
||||
@override
|
||||
String get snoozeAgainAction => 'Posponi di nuovo';
|
||||
|
||||
@override
|
||||
String get alarmRingingNotificationTitle => 'Sveglia PluriWave';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelName => 'Sveglie in corso';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelDescription =>
|
||||
'Suono e schermo urgenti quando una sveglia musicale deve suonare';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelName => 'Promemoria sveglia';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelDescription =>
|
||||
'Notifiche silenziose prima della sveglia';
|
||||
|
||||
@override
|
||||
String get openFolderChooserTitle => 'Apri cartella';
|
||||
|
||||
@override
|
||||
String get openRecordingChooserTitle => 'Apri registrazione';
|
||||
|
||||
@override
|
||||
String get eqDeviceEditTitle => 'Modifica dispositivo';
|
||||
|
||||
|
||||
@@ -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 => 'デバイスを編集';
|
||||
|
||||
|
||||
@@ -1270,6 +1270,29 @@ class AppLocalizationsPt extends AppLocalizations {
|
||||
@override
|
||||
String get snoozeAgainAction => 'Adiar novamente';
|
||||
|
||||
@override
|
||||
String get alarmRingingNotificationTitle => 'Alarme PluriWave';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelName => 'Alarmes tocando';
|
||||
|
||||
@override
|
||||
String get alarmFireChannelDescription =>
|
||||
'Som e tela urgentes quando um alarme musical deve tocar';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelName => 'Avisos de alarme';
|
||||
|
||||
@override
|
||||
String get alarmPreNoticeChannelDescription =>
|
||||
'Notificações silenciosas antes do alarme';
|
||||
|
||||
@override
|
||||
String get openFolderChooserTitle => 'Abrir pasta';
|
||||
|
||||
@override
|
||||
String get openRecordingChooserTitle => 'Abrir gravação';
|
||||
|
||||
@override
|
||||
String get eqDeviceEditTitle => 'Editar dispositivo';
|
||||
|
||||
|
||||
@@ -1274,6 +1274,29 @@ class AppLocalizationsRu 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 => 'Изменить устройство';
|
||||
|
||||
|
||||
@@ -1221,6 +1221,27 @@ class AppLocalizationsZh 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 => '编辑设备';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user