UNPKG

@ui18n/angular

Version:

🅰️ Modern Angular internationalization with standalone components, signals, and dependency injection support for Angular 15+

124 lines 3.36 kB
import { SupportedLanguage } from './types'; import { CacheManager } from './cache-manager'; export interface VersionControlConfig { enabled?: boolean; autoSyncInterval?: number; maxVersions?: number; remoteEndpoint?: string; apiKey?: string; enableIncrementalSync?: boolean; conflictResolution?: 'local' | 'remote' | 'merge' | 'manual'; enableRealTimeSync?: boolean; realTimeSyncMethod?: 'websocket' | 'sse' | 'polling'; websocketUrl?: string; sseUrl?: string; syncEventHandlers?: { onVersionUpdate?: (language: SupportedLanguage, version: string) => void; onSyncError?: (error: Error) => void; onConflictDetected?: (language: SupportedLanguage, conflict: any) => void; }; } export interface LanguageVersion { version: string; timestamp: number; translations: Map<string, string>; changes: Array<{ type: 'add' | 'update' | 'delete'; key: string; oldValue?: string; newValue?: string; }>; } export interface VersionControlStats { totalVersions: number; lastSyncTime?: number; pendingChanges: number; conflictsResolved: number; syncErrors: number; realTimeConnected: boolean; lastRealTimeEvent?: number; syncMethod: 'polling' | 'websocket' | 'sse' | 'none'; } /** * 版本控制管理器 * 实现语言包版本控制、增量更新检测和实时同步 */ export declare class VersionControlManager { private config; private cacheManager; private versions; private stats; private syncTimer?; private realTimeSync?; constructor(config: VersionControlConfig, cacheManager: CacheManager); /** * 检测变更并创建新版本 */ detectChangesAndCreateVersion(language: SupportedLanguage, translations: Map<string, string>): Promise<string>; /** * 同步语言包 */ syncLanguagePack(language: SupportedLanguage): Promise<boolean>; /** * 同步所有语言包 */ syncAllLanguagePacks(): Promise<Map<SupportedLanguage, boolean>>; /** * 检查更新 */ checkForUpdates(): Promise<Map<SupportedLanguage, string[]>>; /** * 回滚到指定版本 */ rollbackToVersion(language: SupportedLanguage, version: string): Promise<boolean>; /** * 获取版本历史 */ getVersionHistory(language: SupportedLanguage): LanguageVersion[]; /** * 获取统计信息 */ getStats(): VersionControlStats; /** * 启动自动同步 */ private startAutoSync; /** * 停止自动同步 */ private stopAutoSync; /** * 生成版本ID */ private generateVersionId; /** * 销毁实例 */ /** * 初始化实时同步 */ private initializeRealTimeSync; /** * 处理实时版本更新事件 */ private handleRealTimeVersionUpdate; /** * 处理实时同步错误 */ private handleRealTimeSyncError; /** * 手动触发实时同步重连 */ reconnectRealTimeSync(): Promise<boolean>; /** * 获取实时同步状态 */ getRealTimeSyncStatus(): { enabled: boolean; connected: boolean; method: string; lastEvent?: number; }; destroy(): void; } //# sourceMappingURL=version-control.d.ts.map