NuvioStreaming/composeApp
Stéphane eebc2cd452 feat(i18n): extract last deep-cut hardcoded strings to resources
Migrates 13 additional user-facing English literals found across 7 files
in a follow-up audit. Adds 13 new keys (EN + FR) and replaces the inline
literals with `getString(...)` / `runBlocking { getString(...) }`
depending on context.

- RuntimeFormat: episode / runtime hours+minutes template (`%dh %dm`,
  `%dh`, `%dm` → resource-backed; FR uses `%d h %d min`).
- SearchRepository: `require {}` empty-result message now hits
  `search_error_no_results_for_catalog` instead of the inline literal.
- PluginRepository: `already installed`, install-failed, refresh-failed
  fallback messages.
- PluginManifestParser: three `require {}` validation messages (name,
  version, providers).
- AddonManifestParser: `Manifest missing "<name>"` exception now uses
  `addons_manifest_missing_field`.
- PlayerEngine.ios: `MPV not available — Please rebuild the app` →
  `player_error_mpv_unavailable`.
- YoutubeChunkedDataSourceFactory: the developer-facing `No DataSpec`
  exception is replaced by a user-friendly `Unable to play this stream.`
  message that's safe to render through `onPlayerError.localizedMessage`.

FR translations follow existing conventions (tutoiement, curly apostrophes,
NBSP inside `« »`, internal branch names kept out of user-facing copy).
2026-05-11 07:00:56 +02:00
..
libs update quick-js aar 2026-05-04 01:19:51 +05:30
src feat(i18n): extract last deep-cut hardcoded strings to resources 2026-05-11 07:00:56 +02:00
build.gradle.kts fix(image): register SvgDecoder so SVG logos actually render 2026-05-08 19:41:54 +02:00
proguard-rules.pro minify build 2026-04-13 02:44:36 +05:30