FeaturesTranslations
PreviousNext

Language Selector

Reusable language switcher component from @kit/i18n.

What It Does

LanguageSelector and LanguageSelectorBase provide a ready-to-use language picker based on current i18n configuration.

When To Use

  • You need a locale switch control in navbar/settings.

Prerequisites

  • I18n provider mounted.
  • supportedLngs configured in i18n instance.

How To Use

import { LanguageSelectorBase } from '@kit/i18n/www/ui/language-selector';
 
<LanguageSelectorBase />

For route-based i18n, pass useRouting.

<LanguageSelectorBase useRouting />

MCP Context

capability: language_selector_ui
entrypoints:
  - @kit/i18n/www/ui/language-selector
inputs:
  - supported_languages
  - optional_routing_mode
outputs:
  - locale_switch_interaction
constraints:
  - must be inside i18n provider context
side_effects:
  - may reload page or change route locale segment

Agent Recipe

  1. Place selector in app layout/header/settings page.
  2. Use useRouting only when locale is encoded in URL path.
  3. Verify language persists across reload.

Troubleshooting

  • Runtime context errors indicate missing i18n provider.
  • URL not changing with routing mode indicates missing localized route structure.

Anatomy

import {
  LanguageSelector,
  LanguageSelectorBase,
} from "@kit/i18n/www/ui/language-selector";
<LanguageSelector>
  <LanguageSelectorTrigger />
  <LanguageSelectorContent>
    <LanguageSelectorItems />
  </LanguageSelectorContent>
</LanguageSelector>

Base component

If you don't need heavy customization, you can use the LanguageSelectorBase component.

<LanguageSelectorBase />

API Reference

Root

LanguageSelectorRootProps

PropTypeDefault
square
boolean
reload
boolean
true
onChange
function
useRouting
boolean
children*
React.ReactNode

Flag

LanguageSelectorFlagProps

PropTypeDefault
locale*
string
className
string

Trigger

LanguageSelectorTriggerProps

PropTypeDefault
className
string
renderValue
function

Items

LanguageSelectorItemsProps

PropTypeDefault
renderItem
function

Base

LanguageSelectorBaseProps

PropTypeDefault
reload
boolean
true
square
boolean
renderItem
function
className
string
onChange
function
useRouting
boolean

How is this guide?

Last updated on 3/23/2026