NuvioStreaming/composeApp
Stéphane 8e97bac880 feat(network): send Accept-Language header to addons
Adds an `Accept-Language` header on every addon HTTP call so Stremio-
compatible addons that maintain localized payloads (catalog names,
descriptions, …) can serve them in the user's language.

Resolution rules (mirrors NuvioTV PR #1766 with stricter region handling):

- User-picked in-app language (always region-less, e.g. `fr`):
  legacy behaviour `fr, en;q=0.7` — accept any French variant the addon serves.
- Otherwise device locale tag from `Locale.getDefault().toLanguageTag()` /
  `NSLocale.preferredLanguages.first`.
  - Regional locale (`fr-FR`, `pt-BR`, `es-MX`):
    strict chain `fr-FR, fr;q=0.9, en;q=0.5` — exact region first, then any
    variant of the same language, then English. Cross-region variants
    (e.g. `fr-CA`) are not preferred.
  - English (with or without region): tag itself, no q-suffix.
- Final fallback: `en`.

Header is added as a default — if the caller already specified
`Accept-Language` (case-insensitive), it is preserved untouched.

Affects every place in the app that displays a catalog name pulled from
an addon manifest: home rows, "see all" header, search → discover catalog
selector, addon reorder home catalogs screen, collection editor catalog
picker.

Adding a request header is fully backward-compatible — addons that
ignore it return identical payloads.
2026-05-13 19:34:48 +02:00
..
libs update quick-js aar 2026-05-04 01:19:51 +05:30
src feat(network): send Accept-Language header to addons 2026-05-13 19:34:48 +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