Vize

preferred-languages

Track the user's preferred languages (navigator.languages).

Package @vizejs/composable/preferred-languages
Own the source vize lib pull composable:preferred-languages
Runtime exports usePreferredLanguages
Gzip budget 1280 B

Usage

import { usePreferredLanguages } from "@vizejs/composable/preferred-languages";

Runtime contract

Utility Category Stability SSR Hydration Cleanup Targets Host globals Uses
usePreferredLanguages i18n experimental deterministic-fallback caller-managed reactive-scope web, desktop window tryOnScopeDispose

API

usePreferredLanguages

Track the user's preferred languages (navigator.languages). Updates on languagechange. The default host is gated on window, so Node's own navigator never leaks the server locale into the render; server renders expose ssrLanguages. Inside a component the languages are read after mounting, so hydration renders ssrLanguages first. The listener is removed with the owning reactive scope.

function usePreferredLanguages( options: UsePreferredLanguagesOptions = {}, ): Readonly<Ref<readonly string[]>>

Types

PreferredLanguagesHost

Window-like capability observed by usePreferredLanguages.

Member Type Description
navigator { readonly languages: readonly string[]; readonly language?: string } Navigator exposing the user's languages.

UsePreferredLanguagesOptions

Options for usePreferredLanguages.

Member Type Description
ssrLanguages? readonly string[] Languages exposed during server rendering. Pass the request's Accept-Language list to keep hydration stable.
host? MaybeRefOrGetter<PreferredLanguagesHost | null | undefined> Reactive window capability for alternate runtimes and tests.