Files
sodalive-backend-spring-boot/src/main/kotlin/kr/co/vividnext/sodalive/i18n/Lang.kt
Klaus 082f255773 요청 스코프 언어 컨텍스트와 인터셉터 추가
- Interceptor에서 Accept-Language 헤더를 파싱
- 요청 단위 LangContext에 언어 정보 저장
- 서비스 및 예외 처리 계층에서 언어 컨텍스트 주입
- enum 및 when 기반 언어 정책을 한 곳으로 통합
2025-12-12 16:57:34 +09:00

23 lines
622 B
Kotlin

package kr.co.vividnext.sodalive.i18n
import java.util.Locale
enum class Lang(val code: String, val locale: Locale) {
KO("ko", Locale.KOREAN),
EN("en", Locale.ENGLISH),
JA("ja", Locale.JAPANESE);
companion object {
fun fromAcceptLanguage(header: String?): Lang {
if (header.isNullOrBlank()) return KO
val two = header.trim().lowercase().take(2) // 앱은 2자리만 보내지만 안전하게 처리
return when (two) {
"ko" -> KO
"en" -> EN
"ja" -> JA
else -> KO
}
}
}
}