# @ovok/native/language-switcher

Canonical page: https://docs.ovok.com/native-sdk/reference/language-switcher

Language switcher component, context and hook.

Import from `@ovok/native/language-switcher`.

## Components [#components]

### LanguageSwitcher() [#languageswitcher]

```ts
function LanguageSwitcher(__namedParameters): Element;
```

List of language options; `selectedLanguage` marks the active one and `onLanguageChange` receives the user's choice.

#### Parameters [#parameters]

| Parameter | Type |
| ------ | ------ |
| `__namedParameters` | `LanguageSwitcherProps` |

#### Returns [#returns]

`Element`

## Hooks [#hooks]

### useLanguageSwitcher() [#uselanguageswitcher]

```ts
function useLanguageSwitcher(): LanguageSwitcherContextType;
```

Returns the selected language and its setter; must be used within a `LanguageSwitcher`.

#### Returns [#returns-1]

[`LanguageSwitcherContextType`](#languageswitchercontexttype)

## Type Aliases [#type-aliases]

### LanguageSwitcherContextType [#languageswitchercontexttype]

```ts
type LanguageSwitcherContextType = object;
```

Value of the language switcher context.

#### Properties [#properties]

##### selectedLanguage [#selectedlanguage]

```ts
selectedLanguage: string;
```

Currently selected language code.

##### setSelectedLanguage [#setselectedlanguage]

```ts
setSelectedLanguage: (language) => void;
```

Selects the given language.

###### Parameters [#parameters-1]

| Parameter | Type |
| ------ | ------ |
| `language` | `string` |

###### Returns [#returns-2]

`void`

## Variables [#variables]

### LanguageSwitcherContext [#languageswitchercontext]

```ts
const LanguageSwitcherContext: Context<LanguageSwitcherContextType | null>;
```

Context holding the selected language and its setter.
