import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import * as i0 from "@angular/core"; /** * I18N 路由守衛 * * 用於在路由切換時自動載入對應的多語系翻譯檔。 * 需在 route data 中定義 `i18nPrefix` 屬性。 * * **設計原則**:此 Guard 的唯一目的是「等翻譯載入完成後再進入頁面」, * 無論翻譯載入成功或失敗,皆不阻擋路由導航(一律回傳 `true`)。 * 翻譯載入失敗僅記錄錯誤訊息,不影響頁面進入。 * * @example * // 在路由設定中使用 * { * path: 'my-page', * component: MyPageComponent, * canActivate: [I18nGuard], * data: { i18nPrefix: 'myPage' } * } */ export declare class I18nGuard { private i18nLoader; /** * 路由守衛:等待多語系翻譯載入完成後放行 * * 不論翻譯載入結果為何,皆回傳 `true` 放行路由,不阻擋頁面進入。 * * @param route 路由快照 * @param state 路由狀態 * @returns 永遠回傳 `true` */ canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise; /** * 檢查路由配置並載入對應的多語系翻譯 * * 載入失敗時僅記錄錯誤,不阻擋路由導航。 * * @param route 路由配置或快照 * @returns 載入一律回傳 `true`,但若未提供 i18nPrefix 回傳 `false` */ private checkI18nConfig; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }