- Add multi-language support with i18next and react-i18next - Implement user-selectable date format preferences (5 formats) - Add time format preferences (12-hour/24-hour) - Implement RTL (right-to-left) support for Arabic, Hebrew, Persian, Urdu - Add first day of week preference - Create LocalizationContext for managing i18n settings - Add LocalizationSettings component to Settings page - Include sample translations: English, Spanish, Arabic - Configure 10 languages: en, es, fr, de, ar, he, zh, ja, pt, ru - Add translation management documentation and Crowdin config - Create date formatting utilities that respect user preferences - Add RTL CSS styles for proper layout mirroring - Update Settings and ThemeToggle components to use translations - Add comprehensive documentation (implementation guide, quick reference, translation guide) All user preferences are persisted to localStorage and apply throughout the app.
24 lines
638 B
JavaScript
24 lines
638 B
JavaScript
import { AlertsProvider } from '../service/AlertsProvider'
|
|
import { NotificationProvider } from '../service/NotificationProvider'
|
|
import { LocalizationProvider } from './LocalizationContext'
|
|
import QueryContext from './QueryContext'
|
|
import RouterContext from './RouterContext'
|
|
import ThemeContext from './ThemeContext'
|
|
|
|
const Contexts = ({ children }) => {
|
|
const contexts = [
|
|
AlertsProvider,
|
|
ThemeContext,
|
|
LocalizationProvider,
|
|
QueryContext,
|
|
NotificationProvider,
|
|
RouterContext,
|
|
]
|
|
|
|
return contexts.reduceRight((acc, Context) => {
|
|
return <Context>{acc}</Context>
|
|
}, children)
|
|
}
|
|
|
|
export default Contexts
|