diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/i18n/SodaMessageSource.kt b/src/main/kotlin/kr/co/vividnext/sodalive/i18n/SodaMessageSource.kt index 7f8e3c5e..8e78ce2d 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/i18n/SodaMessageSource.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/i18n/SodaMessageSource.kt @@ -1578,6 +1578,21 @@ class SodaMessageSource { Lang.EN to "yyyy.MM.dd E hh:mm a", Lang.JA to "yyyy.MM.dd E hh:mm a" ), + "live.room.language_tag.korean" to mapOf( + Lang.KO to "한국어", + Lang.EN to "Korean", + Lang.JA to "韓国語" + ), + "live.room.language_tag.japanese" to mapOf( + Lang.KO to "일본어", + Lang.EN to "Japanese", + Lang.JA to "日本語" + ), + "live.room.language_tag.english" to mapOf( + Lang.KO to "영어", + Lang.EN to "English", + Lang.JA to "英語" + ), "live.room.fcm.message.started" to mapOf( Lang.KO to "라이브를 시작했습니다. - %s", Lang.EN to "Live started. - %s", diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt index 31da8afa..75e0bb5c 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt @@ -154,13 +154,7 @@ class LiveRoomService( .maxByOrNull { it.updatedAt ?: LocalDateTime.MIN } ?.languageCode - val languageTag = when (languageCode?.lowercase()?.take(2)) { - "ko" -> "한국어" - "ja" -> "일본어" - "en" -> "영어" - else -> null - } - return languageTag + return resolveLanguageTag(languageCode) } private fun buildLanguageTagMap(memberIds: List): Map { @@ -175,15 +169,21 @@ class LiveRoomService( } return latestTokenByMemberId.mapValues { (_, token) -> - when (token?.languageCode?.lowercase()?.take(2)) { - "ko" -> "한국어" - "ja" -> "일본어" - "en" -> "영어" - else -> null - } + resolveLanguageTag(token?.languageCode) } } + private fun resolveLanguageTag(languageCode: String?): String? { + val key = when (languageCode?.lowercase()?.take(2)) { + "ko" -> "live.room.language_tag.korean" + "ja" -> "live.room.language_tag.japanese" + "en" -> "live.room.language_tag.english" + else -> null + } ?: return null + + return messageSource.getMessage(key, langContext.lang) + } + @Transactional(readOnly = true) fun getRoomList( dateString: String?,