This component is accessible with the @kit/i18n/ui
package.
Features
- Multiple display modes: Choose between dropdown and square flag-only variants
- Automatic language detection: Uses the current i18n instance from react-i18next
- Flag icons: Displays country flags for each language
- Customizable rendering: Support for custom item and trigger rendering
- Accessible: Built on top of Radix UI primitives for full accessibility
Anatomy
import { LanguageSelector, LanguageSelectorBase } from '@kit/i18n/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 | |
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 |
Translation Usage
Learn how to use the translations in your application.
CMS
Integrate your content management system with your application.
How is this guide?
Last updated on 10/17/2025