From 45ee55028f7a75b2755de4b573252f441e68e95c Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 15 Dec 2025 12:25:10 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EC=83=81?= =?UTF-8?q?=EC=84=B8=20-=20themeStr=20=EC=96=B8=EC=96=B4=EB=B3=84=20?= =?UTF-8?q?=EB=B2=88=EC=97=AD=20=EC=A0=9C=EA=B3=B5=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/content/AudioContentService.kt | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt index e443568..7bbacb6 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt @@ -828,6 +828,22 @@ class AudioContentService( } } + /** + * themeStr 번역 처리 + */ + val themeStrTranslated = run { + val theme = audioContent.theme + if (theme?.id != null) { + val locale = langContext.lang.code + val translated = contentThemeTranslationRepository + .findByContentThemeIdAndLocale(theme.id!!, locale) + val text = translated?.theme + if (!text.isNullOrBlank()) text else theme.theme + } else { + audioContent.theme!!.theme + } + } + return GetAudioContentDetailResponse( contentId = audioContent.id!!, title = audioContent.title, @@ -835,7 +851,7 @@ class AudioContentService( languageCode = audioContent.languageCode, coverImageUrl = "$coverImageHost/${audioContent.coverImage!!}", contentUrl = audioContentUrl, - themeStr = audioContent.theme!!.theme, + themeStr = themeStrTranslated, tag = tag, price = audioContent.price, duration = audioContent.duration ?: "",