fix(i18n): normalize translations and fallbacks
Build & Deploy PluriWave / Análisis de código (push) Successful in 38s
Build & Deploy PluriWave / Build APK + AAB release (push) Successful in 2m34s

This commit is contained in:
2026-06-03 21:20:08 +02:00
parent a5475ce118
commit 089b8b4227
46 changed files with 17720 additions and 4869 deletions
+177 -3
View File
@@ -16,6 +16,33 @@
"hoursLabel": "Hours",
"minutesLabel": "Minutes",
"secondsLabel": "Seconds",
"durationHoursMinutesSeconds": "{hours} h {minutes} min {seconds} s",
"@durationHoursMinutesSeconds": {
"placeholders": {
"hours": {},
"minutes": {},
"seconds": {}
}
},
"durationMinutesSeconds": "{minutes} min {seconds} s",
"@durationMinutesSeconds": {
"placeholders": {
"minutes": {},
"seconds": {}
}
},
"durationMinutesOnly": "{minutes} min",
"@durationMinutesOnly": {
"placeholders": {
"minutes": {}
}
},
"durationSecondsOnly": "{seconds} s",
"@durationSecondsOnly": {
"placeholders": {
"seconds": {}
}
},
"saveQuickAccess": "Save as quick access",
"startTimer": "Start timer",
"skipCurrentAlarmExecution": "Skipped this execution of {alarmName}.",
@@ -79,6 +106,7 @@
"deleteAction": "Delete",
"addStationTitle": "Add station",
"stationNameLabel": "Name *",
"unnamedStation": "Unnamed station",
"requiredField": "Required field",
"streamUrlLabel": "Stream URL *",
"invalidUrl": "Invalid URL",
@@ -269,7 +297,7 @@
},
"qualityHd": "HD quality",
"nearYou": "Near you",
"nearYouInCountry": "Near you ? {country}",
"nearYouInCountry": "Near you · {country}",
"@nearYouInCountry": {
"placeholders": {
"country": {}
@@ -403,7 +431,7 @@
"androidReliabilityReview": "Review Android reliability",
"statusOk": "OK",
"statusPending": "pending",
"androidReliabilityStatus": "Reliability: exact {exact} ? notifications {notifications} ? screen {screen}",
"androidReliabilityStatus": "Reliability: exact {exact} · notifications {notifications} · screen {screen}",
"@androidReliabilityStatus": {
"placeholders": {
"exact": {},
@@ -425,5 +453,151 @@
"noAlarmsYetSubtitle": "Create one to design your musical wake-up.",
"ringingInternalAudioActive": "Playing with internal safe audio.",
"ringingPreparingInternalAudio": "Preparing internal safe audio.",
"stopAlarmAction": "Stop alarm"
"stopAlarmAction": "Stop alarm",
"pauseAction": "Pause",
"miniPlayerOpenLabel": "Open player for {stationName}",
"@miniPlayerOpenLabel": {
"placeholders": {
"stationName": {}
}
},
"playerIconLabel": "Player",
"playbackStatusConnecting": "Connecting...",
"playbackStatusLive": "Live",
"playbackStatusPaused": "Paused",
"playbackStatusConnectionError": "Connection error",
"playbackStatusStopped": "Stopped",
"stationSemanticLabel": "Station {stationName}",
"@stationSemanticLabel": {
"placeholders": {
"stationName": {}
}
},
"favoritesAddTooltip": "Add to favorites",
"favoritesAddedMessage": "{stationName} added to favorites",
"@favoritesAddedMessage": {
"placeholders": {
"stationName": {}
}
},
"stationIconLabel": "Station icon",
"liveNow": "Live",
"equalizerBandLabel": "{band} band",
"@equalizerBandLabel": {
"placeholders": {
"band": {}
}
},
"equalizerBandValue": "{value} decibels",
"@equalizerBandValue": {
"placeholders": {
"value": {}
}
},
"equalizerPresetFlat": "Flat",
"equalizerPresetRock": "Rock",
"equalizerPresetPop": "Pop",
"equalizerPresetBassBoost": "Bass Boost",
"equalizerPresetJazz": "Jazz",
"equalizerPresetVoice": "Voice",
"equalizerPresetCustom": "Custom",
"onboardingTitle": "Welcome to PluriWave",
"onboardingNewsTitle": "What's new",
"onboardingStartAction": "Start",
"onboardingCloseTooltip": "Close",
"radioRecordingError": "Error recording the radio: {error}",
"@radioRecordingError": {
"placeholders": {
"error": {}
}
},
"radioApiConnectionError": "No connection to the radio API",
"radioSearchError": "Search error. Check your connection.",
"radioLoadMoreStationsError": "Could not load more stations.",
"radioNearbyStationsError": "We could not detect nearby stations. Use country filters.",
"radioCannotPlayStation": "Cannot play \"{stationName}\"",
"@radioCannotPlayStation": {
"placeholders": {
"stationName": {}
}
},
"recordingSelectStationFirst": "Select a station before recording.",
"recordingStartError": "Could not start recording: {error}",
"@recordingStartError": {
"placeholders": {
"error": {}
}
},
"unsupportedConfigVersion": "Unsupported configuration version",
"audioErrorGeneric": "Playback error",
"audioErrorNoInternet": "No internet connection",
"audioErrorInvalidUrl": "The radio URL is not valid",
"audioErrorNotFound": "The radio is not available (404 error)",
"audioErrorTimeout": "Connection timed out",
"audioErrorCannotConnect": "Cannot connect to the radio",
"audioErrorUnsupportedFormat": "Unsupported stream format",
"audioErrorDecode": "Error decoding the audio stream",
"audioErrorCleartext": "This radio uses unencrypted HTTP, which is not allowed",
"audioErrorSsl": "Invalid SSL certificate on the radio",
"audioErrorCannotPlay": "This radio cannot be played",
"audioErrorUnexpectedPlayback": "Unexpected playback error",
"androidExactAlarmScheduleError": "Android could not schedule an exact alarm. Check the exact alarm permission.",
"recordingPathEmptyError": "The recording path cannot be empty",
"recordingMaxSizeInvalidError": "The maximum size must be greater than zero",
"recordingAlreadyActiveError": "A recording is already in progress",
"alarmRingingFallbackActive": "Playing with internal safe audio.",
"alarmRingingPreparingFallback": "Preparing internal safe audio.",
"alarmRingingTryingStation": "Trying to play your station at the highest available quality.",
"alarmScheduleOnce": "Once · {date}",
"@alarmScheduleOnce": {
"placeholders": {
"date": {}
}
},
"alarmScheduleWeekdays": "Days: {days}",
"@alarmScheduleWeekdays": {
"placeholders": {
"days": {}
}
},
"androidReliabilityTitle": "Review Android reliability",
"closeAction": "Close",
"customOption": "Custom",
"endLabel": "End",
"equalizerDisable": "Disable equalizer",
"helpTitle": "Help and tutorial",
"helpSubtitle": "Review PluriWave features, tips and whats new.",
"indefiniteOption": "Indefinite",
"invalidNumber": "Invalid number",
"nameLabel": "Name",
"notPlaying": "Not playing",
"oneTimeOption": "Once",
"pausePlaybackTooltip": "Pause playback",
"qualityOriginal": "Original quality: {quality}",
"@qualityOriginal": {
"placeholders": {
"quality": {}
}
},
"qualityUnknown": "Quality not reported",
"recordAction": "Record",
"recordDurationTitle": "Recording duration",
"recordRadioSubtitle": "Choose how long you want to record.",
"recordRadioTitle": "Record radio",
"recordingActiveTitle": "Recording radio",
"recordingDirectTitle": "Direct recording",
"recordingsOpenFolderPlainError": "Could not open the recordings folder",
"recordingsOpenLatest": "Open latest recording",
"recordingsOpenLatestError": "Could not open the latest recording",
"startLabel": "Start",
"startPlaybackTooltip": "Start playback",
"stopAction": "Stop",
"stopPlaybackTooltip": "Stop playback",
"weekdayShortMonday": "Mon",
"weekdayShortTuesday": "Tue",
"weekdayShortWednesday": "Wed",
"weekdayShortThursday": "Thu",
"weekdayShortFriday": "Fri",
"weekdayShortSaturday": "Sat",
"weekdayShortSunday": "Sun"
}