UNPKG

@pagamio/frontend-commons-lib

Version:

Pagamio library for Frontend reusable components like the form engine and table container

47 lines (46 loc) 1.68 kB
import { useEffect, useState } from 'react'; import { useTranslation } from './useTranslation'; // Default English translations as fallback const defaultTranslations = { changePassword: 'Change Password', signOut: 'Sign Out', search: 'Search...', cancel: 'Cancel', submit: 'Submit', save: 'Save', }; /** * Hook for accessing library-specific translations */ export const useLibTranslations = () => { const { t, locale } = useTranslation(); const [libTranslations, setLibTranslations] = useState(defaultTranslations); // Load library translations based on current locale useEffect(() => { // Dynamic import of library locale files based on current language import(`../locales/${locale}.json`) .then((translations) => { setLibTranslations((prev) => ({ ...prev, ...translations.default, // Extract keys that match LibTranslationKey })); }) .catch((error) => { console.warn(`Failed to load library translations for ${locale}, using fallbacks`, error); }); }, [locale]); const tLib = (key, defaultValue, variables) => { // First check in library translations if (libTranslations[key]) { return libTranslations[key]; } // Fall back to default library translations if (defaultTranslations[key]) { return defaultTranslations[key]; } // As a last resort, try the general translation system // Return the translated text or key as final fallback return t(key, defaultValue, variables); }; return { tLib }; };