feat(chat-banner): 다국어 캐릭터 배너 등록과 노출을 지원한다
배너를 언어별로 저장하고 요청 언어 우선 조회 후 한국어로 fallback 하도록 맞춘다.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package kr.co.vividnext.sodalive.i18n
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator
|
||||
import java.util.Locale
|
||||
|
||||
enum class Lang(val code: String, val locale: Locale) {
|
||||
@@ -8,6 +9,14 @@ enum class Lang(val code: String, val locale: Locale) {
|
||||
JA("ja", Locale.JAPANESE);
|
||||
|
||||
companion object {
|
||||
@JvmStatic
|
||||
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
|
||||
fun fromCode(value: String): Lang {
|
||||
return values().find {
|
||||
it.code.equals(value.trim(), ignoreCase = true) || it.name.equals(value.trim(), ignoreCase = true)
|
||||
} ?: throw IllegalArgumentException("Unknown language code: $value")
|
||||
}
|
||||
|
||||
fun fromAcceptLanguage(header: String?): Lang {
|
||||
if (header.isNullOrBlank()) return KO
|
||||
val two = header.trim().lowercase().take(2) // 앱은 2자리만 보내지만 안전하게 처리
|
||||
|
||||
Reference in New Issue
Block a user