props:
- children,
- defaultApp
- defaultLanguage = 'en'
- onWrite
- onRead
- storage = window?.localStorage
- languages = [{ name: 'English', shortCode: 'en' }]
- initialState = {}
- useHashes = false
- saveNewAutomatically = false
- isLive = false
Example:
constTranslationProvider=(props)=>{const{ children, currentApp =DEFAULT_APP}=props// [HELPER_FUNCTIONS]constonWrite=useCallback(({ ref, value })=>database().ref(ref).update(value),[])constonRead=useCallback(async({ref: path, setTranslations, options })=>{constwrite=(snapshot)=>setTranslations(snapshot?.val()||{})constref=database().ref(path)if(options?.onlyOnce){returnref.once('value',write)}else{returnref.on('value',write)}},[])return(<Providerstorage={AsyncStorage}db={database()}onWrite={onWrite}useHashesonRead={onRead}saveNewAutomaticallylanguages={LANGUAGES}defaultLanguage={DEFAULT_LANGUAGE}currentApp={currentApp}><TranslationContext.Consumer>{({ loaded })=>loaded ? children : <ScreenLoadingtext="Translation is loading"/>}</TranslationContext.Consumer></Provider>)}Context value:
- setCurrentLanguage = (string) => void
- setCurrentApp = ({ appName, withLoading }) => void
- currentApp
- language
- translations
- saveTranslationForLanguage = ({ textLabel, shortCode, refEnding, appName }) => Promise
- loading
- loaded
- languages
- translationsRDBRef:
translations/${currentApp}/${language} - t = (string) => string