@shelchin/svelte-i18n
Version:
The last Svelte i18n library you'll ever need. Type-safe, AI-powered, zero-config.
59 lines (58 loc) • 1.92 kB
TypeScript
/**
* Client-side initialization functions for i18n
* Handles browser-specific initialization and hydration
*/
import type { I18nInstance } from '../core/types.js';
/**
* Setup i18n on client with SSR data
* Handles hydration of SSR translations
*
* @param i18n - The i18n instance
* @param data - SSR data from server
* @param options - Configuration options
*/
export declare function setupI18nClient<T = I18nInstance>(i18n: T & Pick<I18nInstance, 'locale' | 'locales' | 'setLocale' | 'loadLanguageSync'>, data: any, options?: {
defaultLocale?: string;
storageKey?: string;
}): {
locale: any;
locales: any;
i18nReady: boolean;
};
/**
* Initialize i18n on mount (client-side only)
* Use this in your +layout.svelte onMount
*
* @param i18n - The i18n instance
* @param data - SSR data
* @param options - Configuration options
*/
export declare function initI18nOnMount<T = I18nInstance>(i18n: T & Pick<I18nInstance, 'locale' | 'locales' | 'setLocale'>, _data: any, options?: {
initFunction?: (i18n: any, initOptions?: any) => Promise<void>;
storageKey?: string;
defaultLocale?: string;
}): Promise<{
locale: string;
locales: string[];
i18nReady: boolean;
} | undefined>;
/**
* Check if i18n is ready (translations loaded)
*
* @param i18n - The i18n instance
* @param data - SSR data
*/
export declare function i18nIsReady<T = I18nInstance>(i18n: T & Pick<I18nInstance, 'locale' | 'locales'>, data: any): boolean;
/**
* Backward compatible client init function
* @deprecated Use setupI18nClient or initI18nOnMount instead
*/
export declare function i18nClientInit<T = I18nInstance>(i18n: T & Pick<I18nInstance, 'locale' | 'locales' | 'setLocale'>, data: any, options?: {
storageKey?: string;
autoLoad?: boolean;
initFunction?: (i18n: any) => Promise<void>;
}): Promise<{
locale: string;
locales: any;
i18nReady: boolean;
}>;