Add localization support for search and alarm features in multiple languages

- Updated Japanese, Portuguese, Russian, and Chinese localization files with new strings for search and alarm functionalities.
- Enhanced the search screen with localized titles, subtitles, and filter labels.
- Integrated localization into the alarm screen, including actions and messages related to alarm management.
- Refactored country and language lists to use localized keys for better maintainability.
- Improved user experience by providing localized hints and messages throughout the application.
This commit is contained in:
Javier Bautista Fernández
2026-06-02 10:19:37 +02:00
parent ffe1c41458
commit d449d8577b
16 changed files with 2682 additions and 48 deletions
+201 -1
View File
@@ -225,5 +225,205 @@
"placeholders": {
"stationName": {}
}
}
},
"alarmPostponedCurrentExecution": "Alarma pospuesta para esta ejecuci?n.",
"searchScreenTitle": "Buscar se?al",
"searchScreenSubtitle": "Encontr? radios por nombre, pa?s o idioma con filtros r?pidos y alto contraste.",
"searchFiltersLabel": "Filtros",
"searchHint": "Radio Horizonte, jazz, noticias...",
"searchCountryFilterLabel": "Pa?s",
"searchLanguageFilterLabel": "Idioma",
"searchMinQualityFilterLabel": "Calidad m?nima",
"searchEmptyTitle": "Busc? una emisora",
"searchNoResultsTitle": "Sin resultados",
"searchEmptySubtitle": "Us? la barra superior o los chips para descubrir se?ales de todo el mundo.",
"searchNoResultsSubtitle": "Prob? quitar filtros o escribir otro nombre para encontrar una se?al activa.",
"countrySpain": "Espa?a",
"countryUsa": "EE. UU.",
"countryMexico": "M?xico",
"countryArgentina": "Argentina",
"countryUk": "Reino Unido",
"countryFrance": "Francia",
"countryGermany": "Alemania",
"countryItaly": "Italia",
"countryBrazil": "Brasil",
"countryJapan": "Jap?n",
"languageNameSpanish": "Espa?ol",
"languageNameEnglish": "Ingl?s",
"languageNameFrench": "Franc?s",
"languageNameGerman": "Alem?n",
"languageNamePortuguese": "Portugu?s",
"languageNameItalian": "Italiano",
"languageNameJapanese": "Japon?s",
"languageNameArabic": "?rabe",
"languageNameRussian": "Ruso",
"homeScreenSubtitle": "Radio global en vivo con se?ales limpias, favoritos inteligentes y una experiencia visual de concurso.",
"exploreStations": "Explorar emisoras",
"stationsCount": "{count} radios",
"@stationsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"qualityHd": "Calidad HD",
"nearYou": "Cerca de vos",
"nearYouInCountry": "Cerca de vos ? {country}",
"@nearYouInCountry": {
"placeholders": {
"country": {}
}
},
"detectAction": "Detectar",
"liveRadar": "Radar en directo",
"genresTitle": "G?neros",
"retryAction": "Reintentar",
"noStationsAvailable": "No hay emisoras disponibles",
"noStationsAvailableSubtitle": "Prob? refrescar o elegir otro g?nero para volver a capturar se?al.",
"genrePop": "Pop",
"genreRock": "Rock",
"genreJazz": "Jazz",
"genreClassical": "Cl?sica",
"genreElectronic": "Electr?nica",
"genreNews": "Noticias",
"genreTalk": "Charlas",
"genreHipHop": "Hip-hop",
"genreCountry": "Country",
"genreMetal": "Metal",
"genreReggae": "Reggae",
"genreLatin": "Latina",
"alarmScreenTitle": "Despertar musical",
"alarmScreenSubtitle": "Alarmas con radio, sonido seguro, vacaciones inteligentes y pr?xima ejecuci?n siempre visible.",
"createAlarmAction": "Crear alarma",
"alarmsCount": "{count} alarmas",
"@alarmsCount": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"activeAlarmsWithoutNextTitle": "Alarmas activas sin pr?xima ejecuci?n",
"noActiveAlarms": "Sin alarmas activas",
"nextAlarmTitle": "Pr?xima alarma",
"activeAlarmsWithoutNextSubtitle": "Hay {count} alarma(s) activas, pero ahora mismo no tienen una fecha futura v?lida. Revis? fecha, d?as y vacaciones.",
"@activeAlarmsWithoutNextSubtitle": {
"placeholders": {
"count": {
"type": "int"
}
}
},
"createAlarmHint": "Cre? una alarma y PluriWave calcular? la siguiente ejecuci?n autom?ticamente.",
"alarmVacationPlay": "Suena en vacaciones",
"alarmVacationPause": "Pausa en vacaciones",
"alarmFadeInLabel": "Fade-in {seconds}s",
"@alarmFadeInLabel": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"alarmNextExecution": "Siguiente ejecuci?n: {date}",
"@alarmNextExecution": {
"placeholders": {
"date": {}
}
},
"alarmNoNextExecution": "No tiene pr?xima ejecuci?n activa.",
"alarmSkippedExecution": "Una ejecuci?n fue omitida: {date}.",
"@alarmSkippedExecution": {
"placeholders": {
"date": {}
}
},
"editAction": "Editar",
"skipNextAction": "Omitir siguiente",
"deleteTooltip": "Eliminar",
"alarmSkippedNoNextSnackbar": "Alarma omitida. No queda pr?xima ejecuci?n.",
"alarmSkippedReturnsSnackbar": "Alarma omitida. Volver? el {date}.",
"@alarmSkippedReturnsSnackbar": {
"placeholders": {
"date": {}
}
},
"alarmVacationPausedNoNext": "Est? pausada por vacaciones ({vacationName}) y sin pr?xima ejecuci?n.",
"@alarmVacationPausedNoNext": {
"placeholders": {
"vacationName": {}
}
},
"alarmVacationPausedReturns": "Est? pausada por vacaciones ({vacationName}) y vuelve el {date}.",
"@alarmVacationPausedReturns": {
"placeholders": {
"vacationName": {},
"date": {}
}
},
"alarmVacationReturns": "Con vacaciones activas, volver? a sonar el {date}.",
"@alarmVacationReturns": {
"placeholders": {
"date": {}
}
},
"defaultAlarmName": "Despertador musical",
"newAlarmTitle": "Nueva alarma",
"editAlarmTitle": "Editar alarma",
"nameField": "Nombre",
"timeField": "Hora",
"dateField": "Fecha",
"onceOption": "Una vez",
"dailyOption": "Diaria",
"weekdaysOption": "D?as",
"soundAndVolumeSection": "Sonido y volumen",
"alarmFadeInTitle": "Fade-in de alarma",
"alarmFadeInOff": "0 s (sin transici?n)",
"alarmFadeInSummary": "{seconds} s (de 5% al volumen elegido)",
"@alarmFadeInSummary": {
"placeholders": {
"seconds": {
"type": "int"
}
}
},
"internalSafeSoundLabel": "Sonido seguro interno",
"soundWarmSunrise": "Amanecer c?lido",
"soundSoftBell": "Campana suave",
"soundDigitalPulse": "Pulso digital",
"favoriteStationLabel": "Emisora favorita",
"noStationUseInternalSound": "Sin emisora: usar sonido interno",
"saveFavoritesAlarmHint": "Guard? emisoras en Favoritos para usarlas como alarma musical.",
"useCurrentStationAction": "Usar emisora actual",
"playDuringVacations": "Sonar durante vacaciones",
"playDuringVacationsHint": "Si lo apag?s, la pr?xima ejecuci?n saltar? al primer d?a v?lido.",
"saveAlarmAction": "Guardar alarma",
"chooseOneWeekdayError": "Eleg? al menos un d?a de la semana.",
"androidReliabilityReview": "Revisar fiabilidad Android",
"statusOk": "OK",
"statusPending": "pendiente",
"androidReliabilityStatus": "Fiabilidad: exactas {exact} ? notificaciones {notifications} ? pantalla {screen}",
"@androidReliabilityStatus": {
"placeholders": {
"exact": {},
"notifications": {},
"screen": {}
}
},
"vacationRangesTitle": "Rangos de vacaciones",
"addAction": "Agregar",
"vacationRangesHint": "Si una alarma tiene \"Pausa en vacaciones\", se salta autom?ticamente estos rangos.",
"noVacationRangesLoaded": "Sin rangos cargados.",
"deleteRangeTooltip": "Eliminar rango",
"vacationsDefaultName": "Vacaciones",
"newVacationRangeTitle": "Nuevo rango de vacaciones",
"startField": "Inicio",
"endField": "Fin",
"saveRangeAction": "Guardar rango",
"noAlarmsYetTitle": "Todav?a no hay alarmas.",
"noAlarmsYetSubtitle": "Cre? una para dise?ar tu despertar musical.",
"ringingInternalAudioActive": "Sonando con audio seguro interno.",
"ringingPreparingInternalAudio": "Preparando audio seguro interno.",
"stopAlarmAction": "Detener alarma"
}