Skip to main content

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

PropertyTypeDescription
languagestringCurrent language code (e.g., 'en', 'es')
changeLanguage(lang: string) => voidSwitch to a different language
translateTFunctioni18next 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.