/** * Locale Constants * * Server/Client 양쪽에서 사용 가능한 locale 관련 상수 */ /** * Locale 쿠키 키 */ declare const LOCALE_COOKIE_KEY = "spfn-locale"; /** * 지원하는 Locale 타입 (Type-safe) */ type SupportedLocale = 'ko' | 'ja' | 'zh' | 'zh-TW' | 'zh-HK' | 'hi' | 'th' | 'vi' | 'id' | 'ms' | 'en' | 'en-GB' | 'en-CA' | 'en-AU' | 'en-NZ' | 'es' | 'es-MX' | 'es-AR' | 'es-CO' | 'fr' | 'de' | 'it' | 'pt' | 'nl' | 'sv' | 'no' | 'da' | 'fi' | 'ru' | 'pl' | 'uk' | 'cs' | 'hu' | 'ro' | 'bg' | 'hr' | 'sr' | 'sk' | 'sl' | 'lt' | 'lv' | 'et' | 'el' | 'tr' | 'ar' | 'fa' | 'he' | 'sw'; /** * 국가/지역 정보 타입 */ interface LocaleInfo { /** Locale 코드 (ISO 639-1) */ locale: SupportedLocale; /** 국가 코드 (ISO 3166-1 alpha-2) */ countryCode: string; /** 국기 이모지 (HTML/React용) */ flag: string; /** 전화번호 국가 코드 */ dialCode: string; /** 네이티브 이름 (현지어) */ nativeName: string; /** 영어 이름 */ englishName: string; /** RTL (Right-to-Left) 여부 */ rtl?: boolean; /** 통화 코드 (ISO 4217) */ currencyCode?: string; /** 날짜 형식 예시 */ dateFormat?: string; } /** * 사전 정의된 Locale 정보 맵 * * 주요 언어/국가 정보를 포함합니다. * 프로젝트에 맞게 추가/수정 가능합니다. */ declare const LOCALE_INFO_MAP: Record; /** * Locale 정보 가져오기 * * @param locale - Locale 코드 (예: 'ko', 'en', 'ja') * @returns LocaleInfo 또는 undefined * * @example * ```typescript * const koInfo = getLocaleInfo('ko'); * console.log(koInfo.flag); // 🇰🇷 * console.log(koInfo.dialCode); // +82 * ``` */ declare function getLocaleInfo(locale: string): LocaleInfo | undefined; /** * 시스템이 지원 가능한 모든 Locale 목록 가져오기 * * @returns Locale 코드 배열 (50+ locales available) */ declare function getAllLocales(): SupportedLocale[]; /** * @deprecated Use getAllLocales() instead */ declare function getSupportedLocales(): SupportedLocale[]; /** * 국기 이모지만 가져오기 * * @param locale - Locale 코드 * @returns 국기 이모지 또는 빈 문자열 * * @example * ```typescript * getFlag('ko'); // 🇰🇷 * getFlag('en'); // 🇺🇸 * ``` */ declare function getFlag(locale: string): string; /** * 전화번호 국가 코드 가져오기 * * @param locale - Locale 코드 * @returns 전화번호 코드 또는 빈 문자열 * * @example * ```typescript * getDialCode('ko'); // +82 * getDialCode('en'); // +1 * ``` */ declare function getDialCode(locale: string): string; /** * RTL (Right-to-Left) 여부 확인 * * @param locale - Locale 코드 * @returns RTL 여부 * * @example * ```typescript * isRTL('ar'); // true (Arabic) * isRTL('ko'); // false (Korean) * ``` */ declare function isRTL(locale: string): boolean; export { LOCALE_COOKIE_KEY as L, type SupportedLocale as S, getAllLocales as a, getSupportedLocales as b, getFlag as c, getDialCode as d, LOCALE_INFO_MAP as e, type LocaleInfo as f, getLocaleInfo as g, isRTL as i };