You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
BulkSelect: Add internationalization (i18n) support #895
The BulkSelect component currently has hardcoded English strings with no way to internationalize them for applications that need to support multiple languages.
Current hardcoded strings
"Select none (0)"
"Select page (N)"
"Select all (N)"
"N selected"
Proposed solution
Add optional props to allow customization of all user-facing strings:
exportinterfaceBulkSelectProps{// ... existing props/** Custom label for "Select none" option */selectNoneLabel?: string;/** Custom label for "Select page" option */selectPageLabel?: string;/** Custom label for "Select all" option */selectAllLabel?: string;/** Custom label formatter for selected count */selectedLabel?: (count: number)=>string;}
Example usage
import{useTranslation}from'react-i18next';constMyComponent=()=>{const{ t }=useTranslation();return(<BulkSelectselectedCount={5}totalCount={100}onSelect={handleSelect}selectNoneLabel={t('Select none')}selectPageLabel={t('Select page')}selectAllLabel={t('Select all')}selectedLabel={(count)=>t('{{count}} selected',{ count })}/>);};
Alternatives considered
Using a Context-based i18n approach similar to other PatternFly components
Accepting string templates with placeholders (e.g., "Select page ({count})")
Impact
Applications using BulkSelect that need to support non-English languages or custom terminology currently have to either:
Accept English-only labels
Build their own bulk select component from scratch
Fork and modify the component
Related
This would align BulkSelect with other PatternFly components that support i18n.
Activity
feat(BulkSelect): add internationalization (i18n) support
feat(BulkSelect): add internationalization (i18n) support
feat(BulkSelect): add internationalization (i18n) support (#896)
github-actions commentedon Mar 31, 2026
🎉 This issue has been resolved in version 6.4.0-prerelease.17 🎉
The release is available on:
Your semantic-release bot 📦🚀