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.
- Synchronized strings.xml with the latest source strings.
- Fixed inconsistent terms to match the current app context.
- Added missing translation keys.
Added Indonesian (Bahasa Indonesia) translation to the project.
Files updated:
- Translated strings added to the `values-id` directory.
- Hooked up the new language option in `AppLanguage.kt`.
- Registered the `id` locale in Android's `locale_config.xml`.
`updates_downloading_progress` in values-fr/strings.xml used `%1$d%%` —
Compose Multiplatform Resources does NOT interpret `%%` as an escape
for a literal `%`. The runtime substitutes `%1$d` with the integer arg
and leaves the rest of the string verbatim, so the user sees
`Téléchargement 26%%` instead of `Téléchargement 26 %`.
Same change applied to two adjacent FR keys that already only had a
single trailing `%` (no doubled bug), but now also use NBSP (U+00A0)
before the symbol to match French typography:
- `streams_resume_from_percent`: `Reprendre depuis %1$d%` → `... %1$d %`
- `settings_playback_threshold_percentage_value`: `%1$s%` → `%1$s %`
EN strings keep `Downloading %1$d%` / `Resume from %1$d%` / `%1$s%`
(English convention: no space before `%`).
Port of NuvioMedia/NuvioTV#1704.
Adds a Sort Order setting to the Continue Watching section with two modes:
- Default: sort all items by most recently watched
- Streaming Style: released/in-progress items first (by recency), unaired
next-up items pushed to the end sorted by ascending air date