라이브 언어 태그를 조회 언어로 번역해 노출한다
라이브 목록/상세 응답의 언어 태그를 조회자 언어로 반환한다. 언어 코드를 메시지 키로 매핑해 ko/en/ja 번역값을 제공한다.
This commit is contained in:
@@ -1578,6 +1578,21 @@ class SodaMessageSource {
|
|||||||
Lang.EN to "yyyy.MM.dd E hh:mm a",
|
Lang.EN to "yyyy.MM.dd E hh:mm a",
|
||||||
Lang.JA 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(
|
"live.room.fcm.message.started" to mapOf(
|
||||||
Lang.KO to "라이브를 시작했습니다. - %s",
|
Lang.KO to "라이브를 시작했습니다. - %s",
|
||||||
Lang.EN to "Live started. - %s",
|
Lang.EN to "Live started. - %s",
|
||||||
|
|||||||
@@ -154,13 +154,7 @@ class LiveRoomService(
|
|||||||
.maxByOrNull { it.updatedAt ?: LocalDateTime.MIN }
|
.maxByOrNull { it.updatedAt ?: LocalDateTime.MIN }
|
||||||
?.languageCode
|
?.languageCode
|
||||||
|
|
||||||
val languageTag = when (languageCode?.lowercase()?.take(2)) {
|
return resolveLanguageTag(languageCode)
|
||||||
"ko" -> "한국어"
|
|
||||||
"ja" -> "일본어"
|
|
||||||
"en" -> "영어"
|
|
||||||
else -> null
|
|
||||||
}
|
|
||||||
return languageTag
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun buildLanguageTagMap(memberIds: List<Long>): Map<Long, String?> {
|
private fun buildLanguageTagMap(memberIds: List<Long>): Map<Long, String?> {
|
||||||
@@ -175,13 +169,19 @@ class LiveRoomService(
|
|||||||
}
|
}
|
||||||
|
|
||||||
return latestTokenByMemberId.mapValues { (_, token) ->
|
return latestTokenByMemberId.mapValues { (_, token) ->
|
||||||
when (token?.languageCode?.lowercase()?.take(2)) {
|
resolveLanguageTag(token?.languageCode)
|
||||||
"ko" -> "한국어"
|
}
|
||||||
"ja" -> "일본어"
|
}
|
||||||
"en" -> "영어"
|
|
||||||
|
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
|
else -> null
|
||||||
}
|
} ?: return null
|
||||||
}
|
|
||||||
|
return messageSource.getMessage(key, langContext.lang)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
|
|||||||
Reference in New Issue
Block a user