useMultinaireLocalization
Access localization functions for internationalization (i18n).
Usage
import { useMultinaireLocalization } from '@multinaire/multinaire-design';
function MyComponent() {
const { language, changeLanguage, translate } = useMultinaireLocalization();
return (
<View>
<Text>{translate('welcome')}</Text>
<Text>Current: {language}</Text>
<Button title="Español" onPress={() => changeLanguage('es')} />
</View>
);
}
Return Value
| Property | Type | Description |
|---|---|---|
language | string | Current language code (e.g., 'en', 'es') |
changeLanguage | (lang: string) => void | Switch to a different language |
translate | TFunction | i18next translation function |
Translation Function
const { translate } = useMultinaireLocalization();
// Simple key
translate('welcome') // "Welcome"
// Nested key
translate('buttons.submit') // "Submit"
// With interpolation
translate('greeting', { name: 'John' }) // "Hello, John!"
// With default value
translate('unknown.key', 'Default text')
Language Switching
const { changeLanguage } = useMultinaireLocalization();
// Switch to Spanish
changeLanguage('es');
// Switch to English
changeLanguage('en');
Language preference is automatically persisted to AsyncStorage.
Language Picker
import {
MultinaireListPicker,
useMultinaireLocalization,
} from '@multinaire/multinaire-design';
const languages = [
{ text: 'English', value: 'en' },
{ text: 'Español', value: 'es' },
{ text: 'Français', value: 'fr' },
];
function LanguagePicker() {
const { language, changeLanguage } = useMultinaireLocalization();
return (
<MultinaireListPicker
selectedItem={language}
items={languages}
onChange={changeLanguage}
/>
);
}
Setup
See Localization Guide for setup instructions.