Language Selector
Reusable language switcher component from @kit/i18n.
This component is accessible with the @kit/i18n/www/ui/language-selector package.
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.
supportedLngsconfigured in i18n instance.
This page describes the standard kit integration path; adapt app-specific paths and config names when your project differs.
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 segmentAgent Recipe
- Place selector in app layout/header/settings page.
- Use
useRoutingonly when locale is encoded in URL path. - Verify language persists across reload.
Troubleshooting
- Runtime context errors indicate missing i18n provider.
- URL not changing with routing mode indicates missing localized route structure.
Related
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
| Prop | Type | Default |
|---|---|---|
square | boolean | |
reload | boolean | true |
onChange | function | |
useRouting | boolean | |
children* | React.ReactNode |
Flag
LanguageSelectorFlagProps
| Prop | Type | Default |
|---|---|---|
locale* | string | |
className | string |
Trigger
LanguageSelectorTriggerProps
| Prop | Type | Default |
|---|---|---|
className | string | |
renderValue | function |
Items
LanguageSelectorItemsProps
| Prop | Type | Default |
|---|---|---|
renderItem | function |
Base
LanguageSelectorBaseProps
| Prop | Type | Default |
|---|---|---|
reload | boolean | true |
square | boolean | |
renderItem | function | |
className | string | |
onChange | function | |
useRouting | boolean |
Practical translation usage for server and client code.
Content workflows powered by Fumadocs and Notion integrations.
How is this guide?
Last updated on 3/23/2026