예외 메시지 다국어 처리를 위한 키 기반 구조 도입
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package kr.co.vividnext.sodalive.i18n
|
||||
|
||||
import org.springframework.stereotype.Component
|
||||
|
||||
@Component
|
||||
class SodaMessageSource {
|
||||
private val messages = mapOf(
|
||||
"common.error.unknown" to mapOf(
|
||||
Lang.KO to "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.",
|
||||
Lang.EN to "An unknown error occurred. Please try again.",
|
||||
Lang.JA to "不明なエラーが発生しました。もう一度やり直してください。"
|
||||
),
|
||||
"common.error.access_denied" to mapOf(
|
||||
Lang.KO to "권한이 없습니다.",
|
||||
Lang.EN to "You do not have permission.",
|
||||
Lang.JA to "権限がありません。"
|
||||
),
|
||||
"common.error.bad_credentials" to mapOf(
|
||||
Lang.KO to "로그인 정보를 확인해주세요.",
|
||||
Lang.EN to "Please check your login information.",
|
||||
Lang.JA to "ログイン情報を確認してください。"
|
||||
),
|
||||
"common.error.max_upload_size" to mapOf(
|
||||
Lang.KO to "파일용량은 최대 1024MB까지 저장할 수 있습니다.",
|
||||
Lang.EN to "The file size can be saved up to 1024MB.",
|
||||
Lang.JA to "ファイル容量は最大1024MBまで保存できます。"
|
||||
),
|
||||
"common.error.already_registered" to mapOf(
|
||||
Lang.KO to "이미 등록되어 있습니다.",
|
||||
Lang.EN to "It is already registered.",
|
||||
Lang.JA to "すでに登録されています。"
|
||||
),
|
||||
"common.error.invalid_request" to mapOf(
|
||||
Lang.KO to "잘못된 요청입니다.",
|
||||
Lang.EN to "Invalid request.",
|
||||
Lang.JA to "不正なリクエストです。"
|
||||
),
|
||||
"chat.error.room_not_found" to mapOf(
|
||||
Lang.KO to "채팅방을 찾을 수 없습니다.",
|
||||
Lang.EN to "Chat room not found.",
|
||||
Lang.JA to "チャットルームが見つかりません。"
|
||||
)
|
||||
)
|
||||
|
||||
fun getMessage(key: String, lang: Lang): String? {
|
||||
val translations = messages[key] ?: return null
|
||||
return translations[lang] ?: translations[Lang.KO]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user