Multi-language
Internationalization and localization support for multi-language applications.
The Multi-language module provides internationalization (i18n) and localization (l10n) support for building applications in multiple languages.
Features
- Translation management
- Locale detection
- RTL support
- Date/number formatting
- Dynamic language switching
- Translation API
Usage
Get Translations
javascript
import { apiService } from 'authscape';const translations = await apiService().get('/api/Translations/Get?locale=es');// { 'welcome': 'Bienvenido', 'login': 'Iniciar sesión', ... }
i18n Hook
jsx
import { createContext, useContext, useState } from 'react';const I18nContext = createContext();export function I18nProvider({ children }) {const [locale, setLocale] = useState('en');const [translations, setTranslations] = useState({});async function changeLocale(newLocale) {const data = await apiService().get(`/api/Translations/Get?locale=${newLocale}`);setTranslations(data);setLocale(newLocale);}const t = (key) => translations[key] || key;return (<I18nContext.Provider value={{ locale, t, changeLocale }}>{children}</I18nContext.Provider>);}export const useI18n = () => useContext(I18nContext);
Usage in Components
jsx
import { useI18n } from './I18nProvider';export default function Header() {const { t, changeLocale } = useI18n();return (<header><h1>{t('welcome')}</h1><select onChange={(e) => changeLocale(e.target.value)}><option value="en">English</option><option value="es">Español</option><option value="fr">Français</option></select></header>);}