23 lines
615 B
TypeScript
23 lines
615 B
TypeScript
export const SUPPORTED_LOCALES = ["en", "ko"] as const;
|
|
export type AppLocale = (typeof SUPPORTED_LOCALES)[number];
|
|
|
|
// 기본 로케일은 항상 en
|
|
export const DEFAULT_LOCALE: AppLocale = "en";
|
|
|
|
// Accept-Language 헤더 문자열에서 앱 로케일(en/ko)을 결정한다.
|
|
// - ko 가 포함되어 있으면 ko
|
|
// - 그렇지 않으면 기본(en)
|
|
export function resolveLocaleFromAcceptLanguage(header: string | null | undefined): AppLocale {
|
|
if (!header) {
|
|
return DEFAULT_LOCALE;
|
|
}
|
|
|
|
const value = header.toLowerCase();
|
|
|
|
if (value.includes("ko")) {
|
|
return "ko";
|
|
}
|
|
|
|
return DEFAULT_LOCALE;
|
|
}
|