/** * Localization service interface * Responsible for providing internationalization and localization functions */ export interface ILocalizationService { getMonthNames(short?: boolean): string[]; /** * Get localized weekday names * @param short Whether to use short day names * @param firstDayOfWeek Optional first day of week (0=Sunday, 1=Monday, etc.) */ getWeekdayNames(short?: boolean, firstDayOfWeek?: number): string[]; /** * Get short localized weekday names * @param firstDayOfWeek Optional first day of week (0=Sunday, 1=Monday, etc.) */ getShortWeekdayNames(firstDayOfWeek?: number): string[]; /** * Get current locale */ getLocale(): string; /** * Set locale */ setLocale(locale: string): void; /** * Format a date according to the locale */ formatDate(date: Date, options?: Intl.DateTimeFormatOptions): string; /** * Get the week number of a date * This is based on ISO 8601 where the first week of the year is the week with the first Thursday * @param date */ getWeekNumber(date: Date): number; }