@gulibs/react-autoroutes-client
Version:
Client-side utilities for React auto routes
58 lines • 1.88 kB
TypeScript
/**
* 国际化路由加载器集成
* 为 React Router v7 提供国际化支持
*/
import type { LoaderFunctionArgs } from 'react-router';
import type { I18nClient } from './i18n';
/**
* 创建国际化路由 loader
* 用于在路由加载时预加载所需的翻译资源
*/
export declare function createI18nRouteLoader(i18nClient: I18nClient, options?: {
/** 要预加载的语言列表,默认使用当前语言 */
locales?: string[];
/** 是否预加载所有支持的语言 */
preloadAll?: boolean;
/** 延迟加载时间(毫秒) */
delay?: number;
}): ({ request, params }: LoaderFunctionArgs) => Promise<{
locale: string;
i18nLoaded: boolean;
}>;
/**
* 创建带国际化的 defer loader
* 支持 React Router v7 的 defer 功能
*/
export declare function createDeferredI18nLoader(i18nClient: I18nClient, dataLoader?: (args: LoaderFunctionArgs) => Promise<any>): ({ request, params }: LoaderFunctionArgs) => Promise<{
locale: string;
i18n: Promise<Record<string, Record<string, any>>>;
data: Promise<any>;
} | {
locale: string;
i18n: Promise<Record<string, Record<string, any>>>;
data?: undefined;
}>;
/**
* 国际化路由 handle 增强
* 自动处理页面标题的国际化
*/
export declare function createI18nHandle(baseHandle?: any): any;
/**
* 创建国际化路由配置
* 为现有路由配置添加国际化支持
*/
export declare function enhanceRoutesWithI18n(routes: any[], i18nClient: I18nClient, options?: {
/** 是否为所有路由添加国际化 loader */
autoAddLoader?: boolean;
/** 默认的语言参数名 */
localeParam?: string;
}): any[];
/**
* Hook: 在组件中使用路由国际化数据
*/
export declare function useRouteI18n(): {};
/**
* 导出类型定义
*/
export type { LoaderFunctionArgs };
//# sourceMappingURL=i18n-route-loader.d.ts.map