fix(alarma-sonando): add the schedule pill and restyle the station name

Audit 9.3 (t4 line 415): the ringing screen never showed its schedule
pill. Reuses the alarmScheduleOnce/alarmScheduleWeekdays ARB keys that
already existed with no consumer, plus a new alarmScheduleDaily key
(translated to all 13 locales) for the recurring-alarm case shown in
the prototype.

Audit 9.7 (t4 line 423): the station name was cardTitle (14.5px/w700),
5.5px and 100 weight units under the prototype's 20px/w800.

Audit 9.9 (snooze tiles as number-over-unit) is intentionally NOT
included in this commit: it would require the tile to stop rendering
as a single flat "{minutes} min" Text node, which is exactly what
pantalla_alarma_sonando_dismiss_guard_test.dart taps via
find.text(l10n.alarmSnoozeOptionLabel(N)) in four places. That file
must stay untouched, so this restyle is deferred pending a decision
on how to restructure the tap target safely.
This commit is contained in:
2026-07-29 23:33:17 +02:00
parent dcb716cbc3
commit 9840205a83
29 changed files with 215 additions and 1 deletions
+1
View File
@@ -570,6 +570,7 @@
"alarmRingingFallbackActive": "يعمل الآن باستخدام الصوت الداخلي الآمن.",
"alarmRingingPreparingFallback": "جارٍ تجهيز الصوت الداخلي الآمن.",
"alarmRingingTryingStation": "جارٍ محاولة تشغيل محطتك بأعلى جودة متاحة.",
"alarmScheduleDaily": "كل صباح",
"alarmScheduleOnce": "مرة واحدة · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+1
View File
@@ -570,6 +570,7 @@
"alarmRingingFallbackActive": "অভ্যন্তরীণ নিরাপদ অডিও দিয়ে চলছে।",
"alarmRingingPreparingFallback": "অভ্যন্তরীণ নিরাপদ অডিও প্রস্তুত করা হচ্ছে।",
"alarmRingingTryingStation": "আপনার স্টেশন সর্বোচ্চ উপলভ্য মানে চালানোর চেষ্টা করা হচ্ছে।",
"alarmScheduleDaily": "প্রতিদিন সকালে",
"alarmScheduleOnce": "একবার · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+1
View File
@@ -570,6 +570,7 @@
"alarmRingingFallbackActive": "Wiedergabe mit internem Sicherheitsaudio.",
"alarmRingingPreparingFallback": "Internes Sicherheitsaudio wird vorbereitet.",
"alarmRingingTryingStation": "Dein Sender wird mit der bestmöglichen verfügbaren Qualität gestartet.",
"alarmScheduleDaily": "Jeden Morgen",
"alarmScheduleOnce": "Einmal · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+1
View File
@@ -676,6 +676,7 @@
"alarmRingingFallbackActive": "Playing with internal safe audio.",
"alarmRingingPreparingFallback": "Preparing internal safe audio.",
"alarmRingingTryingStation": "Trying to play your station at the highest available quality.",
"alarmScheduleDaily": "Every morning",
"alarmScheduleOnce": "Once · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+1
View File
@@ -640,6 +640,7 @@
"alarmRingingFallbackActive": "Sonando con audio seguro interno.",
"alarmRingingPreparingFallback": "Preparando audio seguro interno.",
"alarmRingingTryingStation": "Intentando reproducir tu emisora con máxima calidad disponible.",
"alarmScheduleDaily": "Cada mañana",
"alarmScheduleOnce": "Una vez · {date}",
"@alarmScheduleOnce": {"placeholders": {"date": {}}},
"alarmScheduleWeekdays": "Días: {days}",
+1
View File
@@ -570,6 +570,7 @@
"alarmRingingFallbackActive": "Lecture avec laudio interne sécurisé.",
"alarmRingingPreparingFallback": "Préparation de laudio interne sécurisé.",
"alarmRingingTryingStation": "Tentative de lecture de votre station avec la meilleure qualité disponible.",
"alarmScheduleDaily": "Chaque matin",
"alarmScheduleOnce": "Une fois · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+1
View File
@@ -570,6 +570,7 @@
"alarmRingingFallbackActive": "आंतरिक सुरक्षित ऑडियो के साथ चल रहा है।",
"alarmRingingPreparingFallback": "आंतरिक सुरक्षित ऑडियो तैयार किया जा रहा है।",
"alarmRingingTryingStation": "आपका स्टेशन उपलब्ध सर्वोच्च गुणवत्ता में चलाने की कोशिश की जा रही है।",
"alarmScheduleDaily": "हर सुबह",
"alarmScheduleOnce": "एक बार · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+1
View File
@@ -570,6 +570,7 @@
"alarmRingingFallbackActive": "Memutar dengan audio internal yang aman.",
"alarmRingingPreparingFallback": "Menyiapkan audio internal yang aman.",
"alarmRingingTryingStation": "Mencoba memutar stasiun Anda dengan kualitas tertinggi yang tersedia.",
"alarmScheduleDaily": "Setiap pagi",
"alarmScheduleOnce": "Sekali · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+1
View File
@@ -570,6 +570,7 @@
"alarmRingingFallbackActive": "Riproduzione con audio interno sicuro.",
"alarmRingingPreparingFallback": "Preparazione dellaudio interno sicuro.",
"alarmRingingTryingStation": "Tentativo di riprodurre la tua stazione con la massima qualità disponibile.",
"alarmScheduleDaily": "Ogni mattina",
"alarmScheduleOnce": "Una volta · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+1
View File
@@ -570,6 +570,7 @@
"alarmRingingFallbackActive": "内部の安全な音声で再生しています。",
"alarmRingingPreparingFallback": "内部の安全な音声を準備しています。",
"alarmRingingTryingStation": "利用可能な最高音質で放送局の再生を試みています。",
"alarmScheduleDaily": "毎朝",
"alarmScheduleOnce": "1回 · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+1
View File
@@ -570,6 +570,7 @@
"alarmRingingFallbackActive": "Tocando com áudio interno seguro.",
"alarmRingingPreparingFallback": "Preparando áudio interno seguro.",
"alarmRingingTryingStation": "Tentando reproduzir sua estação com a maior qualidade disponível.",
"alarmScheduleDaily": "Todas as manhãs",
"alarmScheduleOnce": "Uma vez · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+1
View File
@@ -570,6 +570,7 @@
"alarmRingingFallbackActive": "Воспроизведение с внутренним безопасным аудио.",
"alarmRingingPreparingFallback": "Подготавливается внутреннее безопасное аудио.",
"alarmRingingTryingStation": "Пытаемся воспроизвести вашу станцию в максимально доступном качестве.",
"alarmScheduleDaily": "Каждое утро",
"alarmScheduleOnce": "Один раз · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+1
View File
@@ -570,6 +570,7 @@
"alarmRingingFallbackActive": "正在使用内部安全音频播放。",
"alarmRingingPreparingFallback": "正在准备内部安全音频。",
"alarmRingingTryingStation": "正在尝试以最高可用音质播放你的电台。",
"alarmScheduleDaily": "每天早上",
"alarmScheduleOnce": "一次 · {date}",
"@alarmScheduleOnce": {
"placeholders": {
+6
View File
@@ -2390,6 +2390,12 @@ abstract class AppLocalizations {
/// **'Intentando reproducir tu emisora con máxima calidad disponible.'**
String get alarmRingingTryingStation;
/// No description provided for @alarmScheduleDaily.
///
/// In es, this message translates to:
/// **'Cada mañana'**
String get alarmScheduleDaily;
/// No description provided for @alarmScheduleOnce.
///
/// In es, this message translates to:
+3
View File
@@ -1311,6 +1311,9 @@ class AppLocalizationsAr extends AppLocalizations {
String get alarmRingingTryingStation =>
'جارٍ محاولة تشغيل محطتك بأعلى جودة متاحة.';
@override
String get alarmScheduleDaily => 'كل صباح';
@override
String alarmScheduleOnce(Object date) {
return 'مرة واحدة · $date';
+3
View File
@@ -1320,6 +1320,9 @@ class AppLocalizationsBn extends AppLocalizations {
String get alarmRingingTryingStation =>
'আপনার স্টেশন সর্বোচ্চ উপলভ্য মানে চালানোর চেষ্টা করা হচ্ছে।';
@override
String get alarmScheduleDaily => 'প্রতিদিন সকালে';
@override
String alarmScheduleOnce(Object date) {
return 'একবার · $date';
+3
View File
@@ -1328,6 +1328,9 @@ class AppLocalizationsDe extends AppLocalizations {
String get alarmRingingTryingStation =>
'Dein Sender wird mit der bestmöglichen verfügbaren Qualität gestartet.';
@override
String get alarmScheduleDaily => 'Jeden Morgen';
@override
String alarmScheduleOnce(Object date) {
return 'Einmal · $date';
+3
View File
@@ -1312,6 +1312,9 @@ class AppLocalizationsEn extends AppLocalizations {
String get alarmRingingTryingStation =>
'Trying to play your station at the highest available quality.';
@override
String get alarmScheduleDaily => 'Every morning';
@override
String alarmScheduleOnce(Object date) {
return 'Once · $date';
+3
View File
@@ -1322,6 +1322,9 @@ class AppLocalizationsEs extends AppLocalizations {
String get alarmRingingTryingStation =>
'Intentando reproducir tu emisora con máxima calidad disponible.';
@override
String get alarmScheduleDaily => 'Cada mañana';
@override
String alarmScheduleOnce(Object date) {
return 'Una vez · $date';
+3
View File
@@ -1332,6 +1332,9 @@ class AppLocalizationsFr extends AppLocalizations {
String get alarmRingingTryingStation =>
'Tentative de lecture de votre station avec la meilleure qualité disponible.';
@override
String get alarmScheduleDaily => 'Chaque matin';
@override
String alarmScheduleOnce(Object date) {
return 'Une fois · $date';
+3
View File
@@ -1315,6 +1315,9 @@ class AppLocalizationsHi extends AppLocalizations {
String get alarmRingingTryingStation =>
'आपका स्टेशन उपलब्ध सर्वोच्च गुणवत्ता में चलाने की कोशिश की जा रही है।';
@override
String get alarmScheduleDaily => 'हर सुबह';
@override
String alarmScheduleOnce(Object date) {
return 'एक बार · $date';
+3
View File
@@ -1323,6 +1323,9 @@ class AppLocalizationsId extends AppLocalizations {
String get alarmRingingTryingStation =>
'Mencoba memutar stasiun Anda dengan kualitas tertinggi yang tersedia.';
@override
String get alarmScheduleDaily => 'Setiap pagi';
@override
String alarmScheduleOnce(Object date) {
return 'Sekali · $date';
+3
View File
@@ -1331,6 +1331,9 @@ class AppLocalizationsIt extends AppLocalizations {
String get alarmRingingTryingStation =>
'Tentativo di riprodurre la tua stazione con la massima qualità disponibile.';
@override
String get alarmScheduleDaily => 'Ogni mattina';
@override
String alarmScheduleOnce(Object date) {
return 'Una volta · $date';
+3
View File
@@ -1272,6 +1272,9 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get alarmRingingTryingStation => '利用可能な最高音質で放送局の再生を試みています。';
@override
String get alarmScheduleDaily => '毎朝';
@override
String alarmScheduleOnce(Object date) {
return '1回 · $date';
+3
View File
@@ -1320,6 +1320,9 @@ class AppLocalizationsPt extends AppLocalizations {
String get alarmRingingTryingStation =>
'Tentando reproduzir sua estação com a maior qualidade disponível.';
@override
String get alarmScheduleDaily => 'Todas as manhãs';
@override
String alarmScheduleOnce(Object date) {
return 'Uma vez · $date';
+3
View File
@@ -1324,6 +1324,9 @@ class AppLocalizationsRu extends AppLocalizations {
String get alarmRingingTryingStation =>
'Пытаемся воспроизвести вашу станцию в максимально доступном качестве.';
@override
String get alarmScheduleDaily => 'Каждое утро';
@override
String alarmScheduleOnce(Object date) {
return 'Один раз · $date';
+3
View File
@@ -1267,6 +1267,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get alarmRingingTryingStation => '正在尝试以最高可用音质播放你的电台。';
@override
String get alarmScheduleDaily => '每天早上';
@override
String alarmScheduleOnce(Object date) {
return '一次 · $date';