Files
sodalive-backend-spring-boot/src/main/kotlin/kr/co/vividnext/sodalive/i18n/SodaMessageSource.kt
Klaus 6e0b3ddf8e LINE 로그인 지원 추가
회원 로그인에 LINE 공급자를 추가한다
2026-01-28 20:07:14 +09:00

2309 lines
109 KiB
Kotlin
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package kr.co.vividnext.sodalive.i18n
import org.springframework.stereotype.Component
@Component
class SodaMessageSource {
private val commonMessages = mapOf(
"common.error.unknown" to mapOf(
Lang.KO to "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.",
Lang.EN to "An unknown error occurred. 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.adult_verification_required" to mapOf(
Lang.KO to "본인인증을 하셔야 합니다.",
Lang.EN to "Identity verification is required.",
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 "チャットルームが見つかりません。"
)
)
private val contentErrorMessages = mapOf(
"content.error.invalid_content_retry" to mapOf(
Lang.KO to "잘못된 콘텐츠 입니다.\n다시 시도해 주세요.",
Lang.EN to "Invalid content.\nPlease try again.",
Lang.JA to "不正なコンテンツです。\nもう一度お試しください。"
),
"content.error.cover_image_required" to mapOf(
Lang.KO to "커버이미지를 선택해 주세요.",
Lang.EN to "Please select a cover image.",
Lang.JA to "カバー画像を選択してください。"
),
"content.error.content_required" to mapOf(
Lang.KO to "콘텐츠를 선택해 주세요.",
Lang.EN to "Please select content.",
Lang.JA to "コンテンツを選択してください。"
),
"content.error.invalid_theme" to mapOf(
Lang.KO to "잘못된 테마입니다. 다시 선택해 주세요.",
Lang.EN to "Invalid theme. Please select again.",
Lang.JA to "不正なテーマです。恐れ入りますが、もう一度選択してください。"
),
"content.error.alarm_theme_price_min" to mapOf(
Lang.KO to "알람, 모닝콜, 슬립콜 테마의 콘텐츠는 5캔 이상의 유료콘텐츠로 등록이 가능합니다.",
Lang.EN to "Alarm, Morning Call, and Sleep Call themes require paid content of at least 5 cans.",
Lang.JA to "アラーム、モーニングコール、スリープコールのテーマは5CAN以上の有料コンテンツのみ登録できます。"
),
"content.error.minimum_price" to mapOf(
Lang.KO to "콘텐츠의 최소금액은 5캔 입니다.",
Lang.EN to "The minimum price for content is 5 cans.",
Lang.JA to "コンテンツの最低価格は5CANです。"
),
"content.error.preview_time_format" to mapOf(
Lang.KO to "미리 듣기 시간 형식은 00:30:00 과 같아야 합니다",
Lang.EN to "Preview time format must be like 00:30:00.",
Lang.JA to "プレビュー時間の形式は00:30:00のようにする必要があります。"
),
"content.error.preview_time_minimum" to mapOf(
Lang.KO to "미리 듣기의 최소 시간은 15초 입니다.",
Lang.EN to "The minimum preview time is 15 seconds.",
Lang.JA to "プレビューの最小時間は15秒です。"
),
"content.error.preview_time_both_required" to mapOf(
Lang.KO to "미리 듣기 시작 시간과 종료 시간 둘 다 입력을 하거나 둘 다 입력 하지 않아야 합니다.",
Lang.EN to "You must enter both preview start and end times, or neither.",
Lang.JA to "プレビューの開始時間と終了時間は両方入力するか、両方入力しないでください。"
),
"content.error.user_not_found" to mapOf(
Lang.KO to "없는 사용자 입니다.",
Lang.EN to "User not found.",
Lang.JA to "ユーザーが見つかりません。"
),
"content.error.access_restricted_by_creator" to mapOf(
Lang.KO to "%s님의 요청으로 콘텐츠 접근이 제한됩니다.",
Lang.EN to "Access to content is restricted at %s's request.",
Lang.JA to "%sさんの要請によりコンテンツへのアクセスが制限されています。"
),
"content.error.pin_available_after_open" to mapOf(
Lang.KO to "콘텐츠 오픈 후 채널에 고정이 가능합니다.",
Lang.EN to "You can pin it to the channel after the content is opened.",
Lang.JA to "コンテンツ公開後にチャンネルへ固定できます。"
)
)
private val contentNotificationMessages = mapOf(
"content.notification.upload_complete_title" to mapOf(
Lang.KO to "콘텐츠 등록완료",
Lang.EN to "Content registration complete",
Lang.JA to "コンテンツ登録完了"
),
"content.notification.uploaded_message" to mapOf(
Lang.KO to "콘텐츠를 업로드 하였습니다. - %s",
Lang.EN to "Content uploaded. - %s",
Lang.JA to "コンテンツをアップロードしました。- %s"
)
)
private val contentFormatMessages = mapOf(
"content.release_date.format" to mapOf(
Lang.KO to "yyyy년 MM월 dd일 HH시 mm분 오픈예정",
Lang.EN to "MMM dd, yyyy HH:mm 'Opens soon'",
Lang.JA to "yyyy年 MM月 dd日 HH時 mm分 公開予定"
),
"content.ranking.date.start_format" to mapOf(
Lang.KO to "yyyy년 MM월 dd일",
Lang.EN to "MMM dd, yyyy",
Lang.JA to "yyyy年 MM月 dd日"
),
"content.ranking.date.end_format" to mapOf(
Lang.KO to "MM월 dd일",
Lang.EN to "MMM dd",
Lang.JA to "MM月 dd日"
)
)
private val contentRankingMessages = mapOf(
"content.ranking.sort_type.sales" to mapOf(
Lang.KO to "매출",
Lang.EN to "Sales",
Lang.JA to "売上"
),
"content.ranking.sort_type.comment" to mapOf(
Lang.KO to "댓글",
Lang.EN to "Comments",
Lang.JA to "コメント"
),
"content.ranking.sort_type.like" to mapOf(
Lang.KO to "좋아요",
Lang.EN to "Likes",
Lang.JA to "いいね"
),
"content.ranking.sort_type.donation" to mapOf(
Lang.KO to "후원",
Lang.EN to "Donations",
Lang.JA to "ギフト"
)
)
private val contentCommentMessages = mapOf(
"content.comment.error.blocked_by_creator" to mapOf(
Lang.KO to "%s님의 요청으로 댓글쓰기가 제한됩니다.",
Lang.EN to "Commenting is restricted at %s's request.",
Lang.JA to "%sさんの要請によりコメントの投稿が制限されています。"
),
"content.comment.error.secret_requires_purchase" to mapOf(
Lang.KO to "콘텐츠 구매 후 비밀댓글을 등록할 수 있습니다.",
Lang.EN to "You can post a secret comment after purchasing the content.",
Lang.JA to "コンテンツ購入後にシークレットコメントを登録できます。"
),
"content.comment.notification.reply" to mapOf(
Lang.KO to "댓글에 답글을 달았습니다.: %s",
Lang.EN to "Replied to a comment: %s",
Lang.JA to "コメントに返信しました: %s"
),
"content.comment.notification.new" to mapOf(
Lang.KO to "콘텐츠에 댓글을 달았습니다.: %s",
Lang.EN to "Commented on content: %s",
Lang.JA to "コンテンツにコメントしました: %s"
),
"content.comment.error.invalid_access_retry" to mapOf(
Lang.KO to "잘못된 접근 입니다.\n확인 후 다시 시도해 주세요.",
Lang.EN to "Invalid access.\nPlease check and try again.",
Lang.JA to "不正なアクセスです。\n恐れ入りますが、確認後再度お試しください。"
)
)
private val contentDonationMessages = mapOf(
"content.donation.error.minimum_can" to mapOf(
Lang.KO to "1캔 이상 후원하실 수 있습니다.",
Lang.EN to "You can donate at least 1 can.",
Lang.JA to "1CAN以上ギフトできます。"
),
"content.donation.error.comment_required" to mapOf(
Lang.KO to "함께 보낼 메시지를 입력하세요.",
Lang.EN to "Please enter a message to send.",
Lang.JA to "一緒に送るメッセージを入力してください。"
)
)
private val orderMessages = mapOf(
"order.error.content_sold_out" to mapOf(
Lang.KO to "해당 콘텐츠가 매진되었습니다.",
Lang.EN to "This content is sold out.",
Lang.JA to "このコンテンツは完売です。"
),
"order.error.cannot_purchase_own_content" to mapOf(
Lang.KO to "자신이 올린 콘텐츠는 구매할 수 없습니다.",
Lang.EN to "You cannot purchase your own content.",
Lang.JA to "自分が投稿したコンテンツは購入できません。"
),
"order.error.already_purchased" to mapOf(
Lang.KO to "이미 구매한 콘텐츠 입니다.",
Lang.EN to "This content has already been purchased.",
Lang.JA to "すでに購入したコンテンツです。"
),
"order.error.rental_only" to mapOf(
Lang.KO to "대여만 가능한 콘텐츠 입니다.",
Lang.EN to "This content is available for rental only.",
Lang.JA to "このコンテンツはレンタルのみ可能です。"
),
"order.error.keep_only_update_required" to mapOf(
Lang.KO to "소장만 가능한 콘텐츠 입니다.\n앱 업데이트 후 구매해 주세요.",
Lang.EN to "This content is available for purchase only.\nPlease update the app before purchasing.",
Lang.JA to "このコンテンツは購入のみ可能です。\nアプリを更新してから購入してください。"
)
)
private val playlistMessages = mapOf(
"playlist.error.max_content_limit" to mapOf(
Lang.KO to "플레이 리스트에는 최대 30개의 콘텐츠를 저장할 수 있습니다.",
Lang.EN to "A playlist can contain up to 30 contents.",
Lang.JA to "プレイリストには最大30件のコンテンツを保存できます。"
),
"playlist.error.max_playlist_limit" to mapOf(
Lang.KO to "플레이 리스트는 최대 10개까지 생성할 수 있습니다.",
Lang.EN to "You can create up to 10 playlists.",
Lang.JA to "プレイリストは最大10個まで作成できます。"
),
"playlist.error.content_required" to mapOf(
Lang.KO to "콘텐츠를 1개 이상 추가하세요",
Lang.EN to "Please add at least one content.",
Lang.JA to "コンテンツを1つ以上追加してください。"
),
"playlist.error.not_purchased_content" to mapOf(
Lang.KO to "대여/소장하지 않은 콘텐츠는 재생목록에 추가할 수 없습니다.",
Lang.EN to "Content you haven't rented or purchased cannot be added to the playlist.",
Lang.JA to "レンタルまたは購入していないコンテンツはプレイリストに追加できません。"
)
)
private val seriesMessages = mapOf(
"series.error.invalid_series_retry" to mapOf(
Lang.KO to "잘못된 시리즈 입니다.\n다시 시도해 주세요",
Lang.EN to "Invalid series.\nPlease try again.",
Lang.JA to "不正なシリーズです。\nもう一度お試しください。"
)
)
private val seriesBannerMessages = mapOf(
"series.banner.error.not_found" to mapOf(
Lang.KO to "배너를 찾을 수 없습니다.",
Lang.EN to "Banner not found.",
Lang.JA to "バナーが見つかりません。"
),
"series.banner.error.inactive_cannot_update" to mapOf(
Lang.KO to "비활성화된 배너는 수정할 수 없습니다.",
Lang.EN to "Inactive banners cannot be updated.",
Lang.JA to "無効化されたバナーは修正できません。"
),
"series.banner.error.series_not_found" to mapOf(
Lang.KO to "시리즈를 찾을 수 없습니다.",
Lang.EN to "Series not found.",
Lang.JA to "シリーズが見つかりません。"
)
)
private val categoryMessages = mapOf(
"category.error.invalid_access" to mapOf(
Lang.KO to "잘못된 접근입니다.",
Lang.EN to "Invalid access.",
Lang.JA to "無効なアクセスです。"
),
"category.error.title_min_length" to mapOf(
Lang.KO to "카테고리명은 2글자 이상 입력하세요",
Lang.EN to "Category name must be at least 2 characters.",
Lang.JA to "カテゴリ名は2文字以上入力してください。"
)
)
private val alarmMessages = mapOf(
"alarm.error.already_purchased" to mapOf(
Lang.KO to "이미 구매하셨습니다",
Lang.EN to "You have already purchased this",
Lang.JA to "すでに購入済みです"
)
)
private val auditionMessages = mapOf(
"admin.audition.invalid_request_retry" to mapOf(
Lang.KO to "잘못된 요청입니다.\n다시 시도해 주세요.",
Lang.EN to "Invalid request.\ntry again.",
Lang.JA to "不正なリクエストです。\n恐れ入りますが、もう一度お試しください。"
),
"admin.audition.status_cannot_revert" to mapOf(
Lang.KO to "모집전 상태로 변경할 수 없습니다.",
Lang.EN to "Cannot change to not-started status.",
Lang.JA to "募集前の状態に変更できません。"
)
)
private val auditionRequestMessages = mapOf(
"admin.audition.title_required" to mapOf(
Lang.KO to "오디션 제목을 입력하세요",
Lang.EN to "Please enter an audition title.",
Lang.JA to "オーディションのタイトルを入力してください。"
),
"admin.audition.information_min_length" to mapOf(
Lang.KO to "오디션 정보는 최소 10글자 입니다",
Lang.EN to "Audition information must be at least 10 characters.",
Lang.JA to "オーディション情報は最低10文字です。"
)
)
private val auditionNotificationMessages = mapOf(
"admin.audition.fcm.title.new" to mapOf(
Lang.KO to "새로운 오디션 등록!",
Lang.EN to "New audition posted!",
Lang.JA to "新しいオーディション登録!"
),
"admin.audition.fcm.message.new" to mapOf(
Lang.KO to "'%s'이 등록되었습니다. 지금 바로 오리지널 오디오 드라마 오디션에 지원해보세요!",
Lang.EN to "'%s' is now available. Apply for the original audio drama audition now!",
Lang.JA to "「%s」が登録されました。今すぐオリジナルオーディオドラマのオーディションに押し込みしてみてください"
)
)
private val auditionRoleMessages = mapOf(
"admin.audition.role.name_min_length" to mapOf(
Lang.KO to "배역 이름은 최소 2글자 입니다",
Lang.EN to "Role name must be at least 2 characters.",
Lang.JA to "役名は最低2文字です。"
),
"admin.audition.role.information_min_length" to mapOf(
Lang.KO to "오디션 배역 정보는 최소 10글자 입니다",
Lang.EN to "Audition role information must be at least 10 characters.",
Lang.JA to "オーディション役の情報は最低10文字です。"
),
"admin.audition.role.audition_required" to mapOf(
Lang.KO to "캐릭터가 등록될 오디션을 선택하세요",
Lang.EN to "Please select an audition for the character.",
Lang.JA to "キャラクターが登録されるオーディションを選択してください。"
),
"admin.audition.role.name_required" to mapOf(
Lang.KO to "캐릭터명을 입력하세요",
Lang.EN to "Please enter a character name.",
Lang.JA to "キャラクター名を入力してください。"
),
"admin.audition.role.script_url_required" to mapOf(
Lang.KO to "오디션 대본 URL을 입력하세요",
Lang.EN to "Please enter the audition script URL.",
Lang.JA to "オーディション台本のURLを入力してください。"
),
"admin.audition.role.information_required" to mapOf(
Lang.KO to "오디션 캐릭터 정보는 최소 10글자 입니다",
Lang.EN to "Audition character information must be at least 10 characters.",
Lang.JA to "オーディションキャラクター情報は最低10文字です。"
)
)
private val auditionClientMessages = mapOf(
"audition.error.invalid_request_retry" to mapOf(
Lang.KO to "잘못된 요청입니다.\n다시 시도해 주세요.",
Lang.EN to "Invalid request.\ntry again.",
Lang.JA to "不正なリクエストです。\n恐れ入りますが、もう一度お試しください。"
)
)
private val auditionApplicantMessages = mapOf(
"audition.applicant.content_file_required" to mapOf(
Lang.KO to "녹음 파일을 확인해 주세요.",
Lang.EN to "Please check the recording file.",
Lang.JA to "録音ファイルを確認してください。"
)
)
private val auditionVoteMessages = mapOf(
"audition.vote.max_daily_reached" to mapOf(
Lang.KO to "오늘 응원은 여기까지!\n하루 최대 100회까지 응원이 가능합니다.\n내일 다시 이용해주세요.",
Lang.EN to "That's all for today!\nYou can vote up to 100 times per day.\nPlease try again tomorrow.",
Lang.JA to "今日はここまで!\n1日に最大100回まで応援できます。\n明日またご利用ください。"
)
)
private val settlementRatioMessages = mapOf(
"admin.settlement_ratio.invalid_creator" to mapOf(
Lang.KO to "잘못된 크리에이터 입니다.",
Lang.EN to "Invalid creator.",
Lang.JA to "不正なクリエイターです。"
),
"admin.settlement_ratio.not_found" to mapOf(
Lang.KO to "해당 크리에이터의 정산 비율 설정이 없습니다.",
Lang.EN to "Settlement ratio settings not found for this creator.",
Lang.JA to "該当クリエイターの精算比率設定がありません。"
)
)
private val adminCanMessages = mapOf(
"admin.can.min_amount" to mapOf(
Lang.KO to "1 캔 이상 입력하세요.",
Lang.EN to "Please enter at least 1 can.",
Lang.JA to "1CAN以上入力してください。"
),
"admin.can.method_required" to mapOf(
Lang.KO to "기록내용을 입력하세요.",
Lang.EN to "Please enter the record content.",
Lang.JA to "記録内容を入力してください。"
),
"admin.can.member_ids_required" to mapOf(
Lang.KO to "회원번호를 입력하세요.",
Lang.EN to "Please enter member IDs.",
Lang.JA to "会員番号を入力してください。"
),
"admin.can.invalid_member_ids" to mapOf(
Lang.KO to "잘못된 회원번호 입니다.",
Lang.EN to "Invalid member IDs.",
Lang.JA to "不正な会員番号です。"
)
)
private val canChargeMessages = mapOf(
"can.charge.invalid_payment_info" to mapOf(
Lang.KO to "결제정보에 오류가 있습니다.",
Lang.EN to "There is an error with the payment information.",
Lang.JA to "決済情報に誤りがあります。"
),
"can.charge.invalid_request_restart" to mapOf(
Lang.KO to "잘못된 요청입니다\n앱 종료 후 다시 시도해 주세요.",
Lang.EN to "Invalid request.\nPlease restart the app and try again.",
Lang.JA to "不正なリクエストです。アプリを終了して再度お試しください。"
),
"can.charge.purchase_failed_contact" to mapOf(
Lang.KO to "구매를 하지 못했습니다.\n고객센터로 문의해 주세요",
Lang.EN to "Purchase could not be completed.\nPlease contact customer support.",
Lang.JA to "購入を完了できませんでした。\nサポートへお問い合わせください。"
),
"can.charge.payment_incomplete" to mapOf(
Lang.KO to "결제를 완료하지 못했습니다.",
Lang.EN to "Payment could not be completed.",
Lang.JA to "決済を完了できませんでした。"
),
"can.charge.payment_method.apple_iap" to mapOf(
Lang.KO to "애플(인 앱 결제)",
Lang.EN to "Apple (In-App Purchase)",
Lang.JA to "Appleアプリ内課金"
),
"can.charge.payment_method.google_iap" to mapOf(
Lang.KO to "구글(인 앱 결제)",
Lang.EN to "Google (In-App Purchase)",
Lang.JA to "Googleアプリ内課金"
),
"can.charge.payment_method.card" to mapOf(
Lang.KO to "카드",
Lang.EN to "Card",
Lang.JA to "カード"
),
"can.charge.title" to mapOf(
Lang.KO to "%s 캔",
Lang.EN to "%s cans",
Lang.JA to "%s CAN"
)
)
private val canChargeEventMessages = mapOf(
"can.charge.event.not_applied_contact" to mapOf(
Lang.KO to "이벤트가 적용되지 않았습니다.\n고객센터에 문의해 주세요.",
Lang.EN to "The event was not applied.\nPlease contact customer support.",
Lang.JA to "イベントが適用されていません。\nサポートへお問い合わせください。"
),
"can.charge.event.additional_can_paid" to mapOf(
Lang.KO to "%s 캔이 추가 지급되었습니다.",
Lang.EN to "%s cans have been added.",
Lang.JA to "%sCANが追加で支給されました。"
),
"can.charge.event.first_title" to mapOf(
Lang.KO to "첫 충전 이벤트",
Lang.EN to "First Recharge Event",
Lang.JA to "初回チャージイベント"
)
)
private val canCouponMessages = mapOf(
"can.coupon.invalid_number_contact" to mapOf(
Lang.KO to "잘못된 쿠폰번호입니다.\n고객센터로 문의해 주시기 바랍니다.",
Lang.EN to "Invalid coupon number.\nPlease contact customer support.",
Lang.JA to "無効なクーポン番号です。\nサポートへお問い合わせください。"
),
"can.coupon.already_used" to mapOf(
Lang.KO to "이미 사용한 쿠폰번호 입니다.",
Lang.EN to "This coupon number has already been used.",
Lang.JA to "すでに使用されたクーポン番号です。"
),
"can.coupon.use_complete" to mapOf(
Lang.KO to "쿠폰 사용이 완료되었습니다.\n%s캔이 지급되었습니다.",
Lang.EN to "Coupon redeemed successfully.\n%s cans have been granted.",
Lang.JA to "クーポンの使用が完了しました。\n%sCANが支給されました。"
),
"can.coupon.use_complete_point" to mapOf(
Lang.KO to "쿠폰 사용이 완료되었습니다.\n%s포인트가 지급되었습니다.",
Lang.EN to "Coupon redeemed successfully.\n%s points have been granted.",
Lang.JA to "クーポンの使用が完了しました。\n%sポイントが付与されました。"
),
"can.coupon.single_use_only" to mapOf(
Lang.KO to "해당 쿠폰은 1회만 충전이 가능합니다.",
Lang.EN to "This coupon can be used only once for charging.",
Lang.JA to "このクーポンは1回のみチャージに使用できます。"
),
"can.coupon.expired" to mapOf(
Lang.KO to "유효기간이 경과된 쿠폰입니다.",
Lang.EN to "This coupon has expired.",
Lang.JA to "有効期限が切れたクーポンです。"
),
"can.coupon.inactive" to mapOf(
Lang.KO to "이용이 불가능한 쿠폰입니다.",
Lang.EN to "This coupon is not available.",
Lang.JA to "利用できないクーポンです。"
),
"can.coupon.no_changes" to mapOf(
Lang.KO to "변경사항이 없습니다.",
Lang.EN to "No changes found.",
Lang.JA to "変更データがありません。"
),
"can.coupon.validity_after_current" to mapOf(
Lang.KO to "유효기간은 기존 유효기간 이후 날짜로 설정하실 수 있습니다.",
Lang.EN to "Validity must be set after the current expiration date.",
Lang.JA to "有効期限は現在の有効期限以降に設定できます。"
),
"can.coupon.auth_required" to mapOf(
Lang.KO to "쿠폰은 본인인증을 하셔야 사용이 가능합니다.",
Lang.EN to "You must verify your identity to use coupons.",
Lang.JA to "クーポンの使用には本人確認が必要です。"
),
"can.coupon.download_failed_retry" to mapOf(
Lang.KO to "다운로드를 하지 못했습니다.\n다시 시도해 주세요.",
Lang.EN to "Download failed.\nPlease try again.",
Lang.JA to "ダウンロードできませんでした。\nもう一度お試しください。"
),
"can.coupon.download_filename" to mapOf(
Lang.KO to "쿠폰번호리스트.xlsx",
Lang.EN to "coupon_number_list.xlsx",
Lang.JA to "クーポン番号リスト.xlsx"
),
"can.coupon.download_header.index" to mapOf(
Lang.KO to "순번",
Lang.EN to "No.",
Lang.JA to "番号"
),
"can.coupon.download_header.number" to mapOf(
Lang.KO to "쿠폰번호",
Lang.EN to "Coupon Number",
Lang.JA to "クーポン番号"
),
"can.coupon.download_header.used" to mapOf(
Lang.KO to "사용여부",
Lang.EN to "Used",
Lang.JA to "使用有無"
),
"can.coupon.download_used_mark" to mapOf(
Lang.KO to "O",
Lang.EN to "O",
Lang.JA to "O"
),
"can.coupon.download_unused_mark" to mapOf(
Lang.KO to "X",
Lang.EN to "X",
Lang.JA to "X"
)
)
private val canPaymentMessages = mapOf(
"can.payment.invalid_request_retry" to mapOf(
Lang.KO to "잘못된 요청입니다.\n다시 시도해 주세요.",
Lang.EN to "Invalid request.\ntry again.",
Lang.JA to "不正なリクエストです。\n恐れ入りますが、もう一度お試しください。"
),
"can.payment.invalid_reservation" to mapOf(
Lang.KO to "잘못된 예약정보 입니다.",
Lang.EN to "Invalid reservation information.",
Lang.JA to "無効な予約情報です。"
),
"can.payment.method.refund" to mapOf(
Lang.KO to "환불",
Lang.EN to "Refund",
Lang.JA to "返金"
),
"can.payment.insufficient_can" to mapOf(
Lang.KO to "%s 캔이 부족합니다. 충전 후 이용해 주세요.",
Lang.EN to "You are short of %s cans. Please recharge and try again.",
Lang.JA to "%sCANが不足しています。チャージしてからご利用ください。"
)
)
private val adminChatBannerMessages = mapOf(
"admin.chat.banner.image_save_failed" to mapOf(
Lang.KO to "이미지 저장에 실패했습니다.",
Lang.EN to "Failed to save image.",
Lang.JA to "画像の保存に失敗しました。"
),
"admin.chat.banner.delete_success" to mapOf(
Lang.KO to "배너가 성공적으로 삭제되었습니다.",
Lang.EN to "Banner deleted successfully.",
Lang.JA to "バナーが削除されました。"
),
"admin.chat.banner.reorder_success" to mapOf(
Lang.KO to "배너 정렬 순서가 성공적으로 변경되었습니다.",
Lang.EN to "Banner order updated successfully.",
Lang.JA to "バナーの並び順が変更されました。"
)
)
private val adminChatCalculateMessages = mapOf(
"admin.chat.calculate.end_date_max_today" to mapOf(
Lang.KO to "끝 날짜는 오늘 날짜까지만 입력 가능합니다.",
Lang.EN to "End date can be at most today.",
Lang.JA to "終了日は本日まで指定できます。"
),
"admin.chat.calculate.start_date_after_end" to mapOf(
Lang.KO to "시작 날짜는 끝 날짜보다 이후일 수 없습니다.",
Lang.EN to "Start date cannot be after end date.",
Lang.JA to "開始日は終了日より後にできません。"
),
"admin.chat.calculate.max_period_6_months" to mapOf(
Lang.KO to "조회 가능 기간은 최대 6개월입니다.",
Lang.EN to "Maximum query period is 6 months.",
Lang.JA to "照会期間は最大6ヶ月です。"
)
)
private val adminChatCharacterMessages = mapOf(
"admin.chat.character.duplicate_name" to mapOf(
Lang.KO to "동일한 이름은 등록이 불가능합니다.",
Lang.EN to "A character with the same name already exists.",
Lang.JA to "同じ名前は登録できません。"
),
"admin.chat.character.register_failed_retry" to mapOf(
Lang.KO to "등록에 실패했습니다. 다시 시도해 주세요.",
Lang.EN to "Registration failed. Please try again.",
Lang.JA to "登録に失敗しました。もう一度お試しください。"
),
"admin.chat.character.register_failed_no_id" to mapOf(
Lang.KO to "등록에 실패했습니다. 응답에 ID가 없습니다.",
Lang.EN to "Registration failed. No ID in response.",
Lang.JA to "登録に失敗しました。応答にIDがありません。"
),
"admin.chat.character.image_save_failed" to mapOf(
Lang.KO to "이미지 저장에 실패했습니다.",
Lang.EN to "Failed to save image.",
Lang.JA to "画像の保存に失敗しました。"
),
"admin.chat.character.no_changes" to mapOf(
Lang.KO to "변경된 데이터가 없습니다.",
Lang.EN to "No changes detected.",
Lang.JA to "変更されたデータがありません。"
),
"admin.chat.character.not_found" to mapOf(
Lang.KO to "해당 캐릭터를 찾을 수 없습니다.",
Lang.EN to "Character not found.",
Lang.JA to "該当キャラクターが見つかりません。"
),
"admin.chat.character.update_failed_retry" to mapOf(
Lang.KO to "수정에 실패했습니다. 다시 시도해 주세요.",
Lang.EN to "Update failed. Please try again.",
Lang.JA to "更新に失敗しました。もう一度お試しください。"
)
)
private val adminChatCurationMessages = mapOf(
"admin.chat.curation.not_found" to mapOf(
Lang.KO to "큐레이션을 찾을 수 없습니다.",
Lang.EN to "Curation not found.",
Lang.JA to "キュレーションが見つかりません。"
),
"admin.chat.curation.character_ids_empty" to mapOf(
Lang.KO to "등록할 캐릭터 ID 리스트가 비어있습니다",
Lang.EN to "Character ID list to register is empty.",
Lang.JA to "登録するキャラクターIDリストが空です。"
),
"admin.chat.curation.inactive" to mapOf(
Lang.KO to "비활성화된 큐레이션입니다.",
Lang.EN to "Curation is inactive.",
Lang.JA to "無効化されたキュレーションです。"
),
"admin.chat.curation.invalid_character_ids" to mapOf(
Lang.KO to "유효한 캐릭터 ID가 없습니다",
Lang.EN to "No valid character IDs.",
Lang.JA to "有効なキャラクターIDがありません。"
),
"admin.chat.curation.mapping_not_found" to mapOf(
Lang.KO to "매핑을 찾을 수 없습니다.",
Lang.EN to "Mapping not found.",
Lang.JA to "マッピングが見つかりません。"
),
"admin.chat.curation.character_not_in_curation" to mapOf(
Lang.KO to "큐레이션에 포함되지 않은 캐릭터입니다.",
Lang.EN to "Character not included in this curation.",
Lang.JA to "このキュレーションに含まれていないキャラクターです。"
)
)
private val adminChatCharacterImageMessages = mapOf(
"admin.chat.character.image_deleted" to mapOf(
Lang.KO to "이미지가 삭제되었습니다.",
Lang.EN to "Image deleted.",
Lang.JA to "画像が削除されました。"
),
"admin.chat.character.character_id_required" to mapOf(
Lang.KO to "characterId는 필수입니다",
Lang.EN to "characterId is required.",
Lang.JA to "characterIdは必須です。"
),
"admin.chat.character.order_updated" to mapOf(
Lang.KO to "정렬 순서가 변경되었습니다.",
Lang.EN to "Order updated.",
Lang.JA to "並び順が変更されました。"
),
"admin.chat.character.image_format_invalid" to mapOf(
Lang.KO to "이미지 포맷을 인식할 수 없습니다.",
Lang.EN to "Unsupported image format.",
Lang.JA to "画像形式を認識できません。"
),
"admin.chat.character.blur_image_save_failed" to mapOf(
Lang.KO to "블러 이미지 저장에 실패했습니다.",
Lang.EN to "Failed to save blurred image.",
Lang.JA to "ぼかし画像の保存に失敗しました。"
)
)
private val adminChatOriginalWorkMessages = mapOf(
"admin.chat.original.image_save_failed" to mapOf(
Lang.KO to "이미지 저장에 실패했습니다.",
Lang.EN to "Failed to save image.",
Lang.JA to "画像の保存に失敗しました。"
),
"admin.chat.original.duplicate_title" to mapOf(
Lang.KO to "동일한 제목의 원작이 이미 존재합니다.",
Lang.EN to "An original work with the same title already exists.",
Lang.JA to "同じタイトルの原作が既に存在します。"
),
"admin.chat.original.not_found" to mapOf(
Lang.KO to "해당 원작을 찾을 수 없습니다.",
Lang.EN to "Original work not found.",
Lang.JA to "該当の原作が見つかりません。"
)
)
private val adminContentMessages = mapOf(
"admin.content.search_word_min_length" to mapOf(
Lang.KO to "2글자 이상 입력하세요.",
Lang.EN to "Please enter at least 2 characters.",
Lang.JA to "2文字以上入力してください。"
),
"admin.content.not_found" to mapOf(
Lang.KO to "없는 콘텐츠 입니다.",
Lang.EN to "Content not found.",
Lang.JA to "該当のコンテンツが見つかりません。"
)
)
private val adminContentBannerMessages = mapOf(
"admin.content.banner.creator_required" to mapOf(
Lang.KO to "크리에이터를 선택하세요.",
Lang.EN to "Please select a creator.",
Lang.JA to "クリエイターを選択してください。"
),
"admin.content.banner.series_required" to mapOf(
Lang.KO to "시리즈를 선택하세요.",
Lang.EN to "Please select a series.",
Lang.JA to "シリーズを選択してください。"
),
"admin.content.banner.link_required" to mapOf(
Lang.KO to "링크 url을 입력하세요.",
Lang.EN to "Please enter a link URL.",
Lang.JA to "リンクURLを入力してください。"
),
"admin.content.banner.event_required" to mapOf(
Lang.KO to "이벤트를 선택하세요.",
Lang.EN to "Please select an event.",
Lang.JA to "イベントを選択してください。"
)
)
private val adminHashTagCurationMessages = mapOf(
"admin.content.hash_tag.already_registered" to mapOf(
Lang.KO to "이미 등록된 태그 입니다.",
Lang.EN to "Tag already registered.",
Lang.JA to "既に登録されたタグです。"
)
)
private val adminContentSeriesMessages = mapOf(
"admin.content.series.random_days_conflict" to mapOf(
Lang.KO to "랜덤과 연재요일 동시에 선택할 수 없습니다.",
Lang.EN to "Random and published days cannot be selected together.",
Lang.JA to "ランダムと連載曜日を同時に選択できません。"
)
)
private val adminContentSeriesBannerMessages = mapOf(
"admin.content.series.banner.delete_success" to mapOf(
Lang.KO to "배너가 성공적으로 삭제되었습니다.",
Lang.EN to "Banner deleted successfully.",
Lang.JA to "バナーが削除されました。"
),
"admin.content.series.banner.reorder_success" to mapOf(
Lang.KO to "배너 정렬 순서가 성공적으로 변경되었습니다.",
Lang.EN to "Banner order updated successfully.",
Lang.JA to "バナーの並び順が変更されました。"
),
"admin.content.series.banner.image_save_failed" to mapOf(
Lang.KO to "이미지 저장에 실패했습니다.",
Lang.EN to "Failed to save image.",
Lang.JA to "画像の保存に失敗しました。"
)
)
private val adminContentSeriesGenreMessages = mapOf(
"admin.content.series.genre.no_changes" to mapOf(
Lang.KO to "변경사항이 없습니다.",
Lang.EN to "No changes to update.",
Lang.JA to "変更データがありません。"
)
)
private val adminContentThemeMessages = mapOf(
"admin.content.theme.already_registered" to mapOf(
Lang.KO to "이미 등록된 테마 입니다.",
Lang.EN to "Theme already registered.",
Lang.JA to "既に登録されたテーマです。"
)
)
private val adminEventBannerMessages = mapOf(
"admin.event.banner.detail_or_link_required" to mapOf(
Lang.KO to "상세이미지 혹은 링크를 등록하세요",
Lang.EN to "Please register a detail image or a link.",
Lang.JA to "詳細画像またはリンクを登録してください。"
),
"admin.event.banner.create_failed" to mapOf(
Lang.KO to "이벤트 등록을 하지 못했습니다.",
Lang.EN to "Failed to create the event.",
Lang.JA to "イベントの登録に失敗しました。"
)
)
private val adminChargeEventMessages = mapOf(
"admin.charge_event.not_found_retry" to mapOf(
Lang.KO to "해당하는 충전이벤트가 없습니다\n다시 시도해 주세요.",
Lang.EN to "Charge event not found.\nPlease try again.",
Lang.JA to "該当するチャージイベントがありません。\nもう一度お試しください。"
)
)
private val adminExplorerMessages = mapOf(
"admin.explorer.title_required" to mapOf(
Lang.KO to "제목을 입력하세요.",
Lang.EN to "Please enter a title.",
Lang.JA to "タイトルを入力してください。"
),
"admin.explorer.title_duplicate" to mapOf(
Lang.KO to "동일한 제목이 있습니다.",
Lang.EN to "A section with the same title already exists.",
Lang.JA to "同じタイトルが存在します。"
),
"admin.explorer.tags_required" to mapOf(
Lang.KO to "관심사를 선택하세요.",
Lang.EN to "Please select interests.",
Lang.JA to "関心事を選択してください。"
),
"admin.explorer.no_changes" to mapOf(
Lang.KO to "변경사항이 없습니다.",
Lang.EN to "No changes to update.",
Lang.JA to "変更データがありません。"
),
"admin.explorer.section_not_found" to mapOf(
Lang.KO to "해당하는 섹션이 없습니다.",
Lang.EN to "Section not found.",
Lang.JA to "該当するセクションがありません。"
),
"admin.explorer.valid_title_required" to mapOf(
Lang.KO to "올바른 제목을 입력하세요.",
Lang.EN to "Please enter a valid title.",
Lang.JA to "正しいタイトルを入力してください。"
),
"admin.explorer.tags_input_required" to mapOf(
Lang.KO to "관심사를 입력하세요.",
Lang.EN to "Please enter interests.",
Lang.JA to "関心事を入力してください。"
)
)
private val adminLiveMessages = mapOf(
"admin.live.creator_required" to mapOf(
Lang.KO to "올바른 크리에이터를 선택해 주세요.",
Lang.EN to "Please select a valid creator.",
Lang.JA to "正しいクリエイターを選択してください。"
),
"admin.live.start_after_now" to mapOf(
Lang.KO to "노출 시작일은 현재시간 이후로 설정하셔야 합니다.",
Lang.EN to "Start date must be set after the current time.",
Lang.JA to "表示開始日は現在時刻より後に設定してください。"
),
"admin.live.end_after_now" to mapOf(
Lang.KO to "노출 종료일은 현재시간 이후로 설정하셔야 합니다.",
Lang.EN to "End date must be set after the current time.",
Lang.JA to "表示終了日は現在時刻より後に設定してください。"
),
"admin.live.start_before_end" to mapOf(
Lang.KO to "노출 시작일은 노출 종료일 이전으로 설정하셔야 합니다.",
Lang.EN to "Start date must be before the end date.",
Lang.JA to "表示開始日は表示終了日より前に設定してください。"
),
"admin.live.recommend_not_found_retry" to mapOf(
Lang.KO to "해당하는 추천라이브가 없습니다. 다시 확인해 주세요.",
Lang.EN to "Recommended live not found. Please check again.",
Lang.JA to "該当するおすすめライブがありません。もう一度確認してください。"
),
"admin.live.end_after_start" to mapOf(
Lang.KO to "노출 종료일은 노출 시작일 이후로 설정하셔야 합니다.",
Lang.EN to "End date must be after the start date.",
Lang.JA to "表示終了日は表示開始日より後に設定してください。"
),
"admin.live.cancel_reason.no_show" to mapOf(
Lang.KO to "관리자에 의한 취소 - 노쇼",
Lang.EN to "Canceled by admin - no-show",
Lang.JA to "管理者によるキャンセル - ノーショー"
)
)
private val adminSignatureCanMessages = mapOf(
"admin.signature_can.created" to mapOf(
Lang.KO to "등록되었습니다.",
Lang.EN to "Successfully registered.",
Lang.JA to "投稿しました。"
),
"admin.signature_can.no_changes" to mapOf(
Lang.KO to "변경사항이 없습니다.",
Lang.EN to "No changes to update.",
Lang.JA to "変更データがありません。"
),
"admin.signature_can.updated" to mapOf(
Lang.KO to "수정되었습니다.",
Lang.EN to "Updated.",
Lang.JA to "更新されました。"
),
"admin.signature_can.creator_required" to mapOf(
Lang.KO to "올바른 크리에이터를 선택해 주세요.",
Lang.EN to "Please select a valid creator.",
Lang.JA to "正しいクリエイターを選択してください。"
),
"admin.signature_can.min_can" to mapOf(
Lang.KO to "1캔 이상 설정할 수 있습니다.",
Lang.EN to "You can set at least 1 can.",
Lang.JA to "1CAN以上設定できます。"
),
"admin.signature_can.time_range" to mapOf(
Lang.KO to "시간은 3초 이상 20초 이하로 설정할 수 있습니다.",
Lang.EN to "Time must be between 3 and 20 seconds.",
Lang.JA to "時間は3秒以上20秒以下に設定できます。"
)
)
private val adminAdMediaPartnerMessages = mapOf(
"admin.media_partner.invalid_access" to mapOf(
Lang.KO to "잘못된 접근입니다",
Lang.EN to "Invalid access.",
Lang.JA to "無効なアクセスです。"
)
)
private val adminMemberMessages = mapOf(
"admin.member.not_found" to mapOf(
Lang.KO to "해당 유저가 없습니다.",
Lang.EN to "User not found.",
Lang.JA to "該当するユーザーがいません。"
),
"admin.member.search_word_min_length" to mapOf(
Lang.KO to "2글자 이상 입력하세요.",
Lang.EN to "Please enter at least 2 characters.",
Lang.JA to "2文字以上入力してください。"
),
"admin.member.reset_password_invalid" to mapOf(
Lang.KO to "잘못된 회원정보입니다.\n다시 시도해 주세요.",
Lang.EN to "Invalid member information.\nPlease try again.",
Lang.JA to "不正な会員情報です。もう一度お試しください。"
),
"admin.member.role.admin" to mapOf(
Lang.KO to "관리자",
Lang.EN to "Admin",
Lang.JA to "管理者"
),
"admin.member.role.user" to mapOf(
Lang.KO to "일반회원",
Lang.EN to "User",
Lang.JA to "一般会員"
),
"admin.member.role.creator" to mapOf(
Lang.KO to "크리에이터",
Lang.EN to "Creator",
Lang.JA to "クリエイター"
),
"admin.member.role.agent" to mapOf(
Lang.KO to "에이전트",
Lang.EN to "Agent",
Lang.JA to "エージェント"
),
"admin.member.role.bot" to mapOf(
Lang.KO to "",
Lang.EN to "Bot",
Lang.JA to "ボット"
)
)
private val adminMemberTagMessages = mapOf(
"admin.member.tag.already_registered" to mapOf(
Lang.KO to "이미 등록된 태그 입니다.",
Lang.EN to "Tag already registered.",
Lang.JA to "既に登録されたタグです。"
)
)
private val adminPointPolicyMessages = mapOf(
"admin.point.policy.invalid_access" to mapOf(
Lang.KO to "잘못된 접근입니다.",
Lang.EN to "Invalid access.",
Lang.JA to "無効なアクセスです。"
)
)
private val adminMemberStatisticsMessages = mapOf(
"admin.member.statistics.invalid_access" to mapOf(
Lang.KO to "잘못된 접근입니다.",
Lang.EN to "Invalid access.",
Lang.JA to "無効なアクセスです。"
)
)
private val messageMessages = mapOf(
"message.error.recipient_not_found" to mapOf(
Lang.KO to "받는 사람이 없습니다.",
Lang.EN to "Recipient not found.",
Lang.JA to "受信者が見つかりません。"
),
"message.error.recipient_inactive" to mapOf(
Lang.KO to "탈퇴한 유저에게는 메시지를 보내실 수 없습니다.",
Lang.EN to "You cannot send messages to a deactivated user.",
Lang.JA to "退会したユーザーにはメッセージを送れません。"
),
"message.error.blocked_by_recipient" to mapOf(
Lang.KO to "%s님의 요청으로 메시지를 보낼 수 없습니다.",
Lang.EN to "You cannot send messages at %s's request.",
Lang.JA to "%sさんの要請によりメッセージを送信できません。"
),
"message.fcm.title" to mapOf(
Lang.KO to "메시지",
Lang.EN to "Message",
Lang.JA to "メッセージ"
),
"message.fcm.text_received" to mapOf(
Lang.KO to "%s님으로 부터 문자메시지가 도착했습니다.",
Lang.EN to "You have received a text message from %s.",
Lang.JA to "%sからテキストメッセージが届きました。"
),
"message.fcm.voice_received" to mapOf(
Lang.KO to "%s님으로 부터 음성메시지가 도착했습니다.",
Lang.EN to "You have received a voice message from %s.",
Lang.JA to "%sからボイスメッセージが届きました。"
),
"message.error.not_found_retry" to mapOf(
Lang.KO to "해당하는 메시지가 없습니다.\n다시 확인해 주시기 바랍니다.",
Lang.EN to "Message not found. Please check again.",
Lang.JA to "該当するメッセージがありません。もう一度ご確認ください。"
),
"message.error.already_kept" to mapOf(
Lang.KO to "이미 보관된 메시지 입니다.",
Lang.EN to "This message is already archived.",
Lang.JA to "すでに保管されたメッセージです。"
)
)
private val noticeMessages = mapOf(
"notice.error.title_required" to mapOf(
Lang.KO to "제목을 입력하세요.",
Lang.EN to "Please enter a title.",
Lang.JA to "タイトルを入力してください。"
),
"notice.error.content_required" to mapOf(
Lang.KO to "내용을 입력하세요.",
Lang.EN to "Please enter content.",
Lang.JA to "内容を入力してください。"
),
"notice.error.update_required" to mapOf(
Lang.KO to "수정할 내용을 입력하세요.",
Lang.EN to "Please enter content to update.",
Lang.JA to "修正する内容を入力してください。"
)
)
private val reportMessages = mapOf(
"report.received" to mapOf(
Lang.KO to "신고가 접수되었습니다.",
Lang.EN to "Your report has been submitted.",
Lang.JA to "通報が受け付けられました。"
)
)
private val imageValidationMessages = mapOf(
"image.error.only_image_allowed" to mapOf(
Lang.KO to "이미지 파일만 업로드할 수 있습니다.",
Lang.EN to "Only image files can be uploaded.",
Lang.JA to "画像ファイルのみアップロードできます。"
),
"image.error.gif_paid_only" to mapOf(
Lang.KO to "GIF 파일은 유료 게시물만 업로드 할 수 있습니다.",
Lang.EN to "GIF files can be uploaded only for paid posts.",
Lang.JA to "GIFファイルは有料投稿のみアップロードできます。"
)
)
private val memberAuthMessages = mapOf(
"member.auth.blocked_policy" to mapOf(
Lang.KO to "운영정책을 위반하여 이용을 제한합니다.",
Lang.EN to "Your access is restricted due to policy violations.",
Lang.JA to "運営ポリシー違反のため利用が制限されています。"
),
"member.auth.already_verified" to mapOf(
Lang.KO to "이미 인증된 계정입니다.",
Lang.EN to "This account is already verified.",
Lang.JA to "既に確認済みのアカウントです。"
),
"member.auth.certificate_invalid_retry" to mapOf(
Lang.KO to "인증정보에 오류가 있습니다.\n다시 시도해 주세요.",
Lang.EN to "There is an error with the verification information.\nPlease try again.",
Lang.JA to "情報にエラーがあります。恐れ入りますがもう一度お試しください。"
),
"member.auth.max_accounts" to mapOf(
Lang.KO to "이미 본인인증한 계정 %s개 이용중입니다.\n" +
"소다라이브의 본인인증은 최대 3개의 계정만 이용할 수 있습니다.",
Lang.EN to "You are already using %s verified account(s).\n" +
"Identity verification is limited to up to 3 accounts on Sodalive.",
Lang.JA to "本人確認済みのアカウントを%s件利用中です。ソダライブの本人確認は最大3アカウントまでです。"
),
"member.auth.age_limit" to mapOf(
Lang.KO to "%s년 1월 1일 이전 출생자만 본인인증이 가능합니다.",
Lang.EN to "Only users born on or before January 1, %s can be verified.",
Lang.JA to "%s年1月1日以前に生まれた方のみ本人確認が可能です。"
)
)
private val memberMessages = mapOf(
"member.signup.failed_retry" to mapOf(
Lang.KO to "회원가입을 하지 못했습니다.\n다시 시도해 주세요.",
Lang.EN to "Sign up failed.\nPlease try again.",
Lang.JA to "会員登録に失敗しました。\nもう一度お試しください。"
),
"member.signup.success" to mapOf(
Lang.KO to "회원가입을 축하드립니다.",
Lang.EN to "Congratulations on your sign up.",
Lang.JA to "ご登録おめでとうございます。"
),
"member.login.success" to mapOf(
Lang.KO to "로그인 되었습니다.",
Lang.EN to "You are logged in.",
Lang.JA to "ログインしました。"
),
"member.signout.success" to mapOf(
Lang.KO to "정상적으로 탈퇴 처리되었습니다.",
Lang.EN to "Your account has been successfully deleted.",
Lang.JA to "正常に退会処理されました。"
)
)
private val memberValidationMessages = mapOf(
"member.validation.invalid_request_retry" to mapOf(
Lang.KO to "잘못된 요청입니다\n앱 종료 후 다시 시도해 주세요.",
Lang.EN to "Invalid request.\nPlease close the app and try again.",
Lang.JA to "不正なリクエストです。\nアプリを終了して再度お試しください。"
),
"member.validation.agree_required" to mapOf(
Lang.KO to "약관에 동의하셔야 회원가입이 가능합니다.",
Lang.EN to "You must agree to the terms to sign up.",
Lang.JA to "利用規約に同意すると会員登録できます。"
),
"member.validation.user_not_found" to mapOf(
Lang.KO to "없는 사용자 입니다.",
Lang.EN to "User not found.",
Lang.JA to "ユーザーが見つかりません。"
),
"member.validation.account_not_found" to mapOf(
Lang.KO to "없는 계정입니다.",
Lang.EN to "Account not found.",
Lang.JA to "アカウントが見つかりません。"
),
"member.validation.inactive_account" to mapOf(
Lang.KO to "탈퇴한 계정입니다.\n고객센터로 문의해 주시기 바랍니다.",
Lang.EN to "This account has been deleted.\nPlease contact customer support.",
Lang.JA to "退会したアカウントです。\nサポートにお問い合わせください。"
),
"member.validation.creator_not_found" to mapOf(
Lang.KO to "크리에이터 정보를 확인해주세요.",
Lang.EN to "Please check the creator information.",
Lang.JA to "クリエイター情報を確認してください。"
),
"member.validation.nickname_min_length" to mapOf(
Lang.KO to "두 글자 이상 입력 하셔야 합니다.",
Lang.EN to "Please enter at least 2 characters.",
Lang.JA to "2文字以上入力してください。"
),
"member.validation.password_mismatch" to mapOf(
Lang.KO to "비밀번호가 일치하지 않습니다.",
Lang.EN to "Password does not match.",
Lang.JA to "パスワードが一致しません。"
),
"member.validation.signout_reason_required" to mapOf(
Lang.KO to "탈퇴하려는 이유를 입력해 주세요.",
Lang.EN to "Please enter a reason for deleting your account.",
Lang.JA to "退会理由を入力してください。"
),
"member.validation.email_available" to mapOf(
Lang.KO to "사용 가능한 이메일 입니다.",
Lang.EN to "This email is available.",
Lang.JA to "使用可能なメールアドレスです。"
),
"member.validation.nickname_available" to mapOf(
Lang.KO to "사용 가능한 닉네임 입니다.",
Lang.EN to "This nickname is available.",
Lang.JA to "使用可能なハンドルネームです。"
),
"member.validation.email_in_use" to mapOf(
Lang.KO to "이미 사용중인 이메일 입니다.",
Lang.EN to "This email is already in use.",
Lang.JA to "このメールアドレスは既に使用されています。"
),
"member.validation.nickname_in_use" to mapOf(
Lang.KO to "이미 사용중인 닉네임 입니다.",
Lang.EN to "This nickname is already in use.",
Lang.JA to "このハンドルネームは既に使用されています。"
),
"member.validation.email_registered_with_provider" to mapOf(
Lang.KO to "해당 이메일은 %s 계정으로 가입되어 있습니다. 해당 소셜 로그인을 사용해 주세요.",
Lang.EN to "This email is registered with a %s account. Please use that social login.",
Lang.JA to "このメールアドレスは%sアカウントで登録されています。該当のソーシャルログインをご利用ください。"
),
"member.validation.email_registered_with_provider_already" to mapOf(
Lang.KO to "해당 이메일은 %s 계정으로 이미 가입되어 있습니다. 해당 소셜 로그인을 사용해 주세요.",
Lang.EN to "This email is already registered with a %s account. Please use that social login.",
Lang.JA to "このメールアドレスは既に%sアカウントで登録されています。該当のソーシャルログインをご利用ください。"
),
"member.validation.unregistered_account_retry" to mapOf(
Lang.KO to "등록되지 않은 계정입니다.\n확인 후 다시 시도해 주세요.",
Lang.EN to "This account is not registered.\nPlease check and try again.",
Lang.JA to "登録されていないアカウントです。\n確認してもう一度お試しください。"
)
)
private val memberSocialMessages = mapOf(
"member.social.google_login_failed" to mapOf(
Lang.KO to "구글 로그인을 하지 못했습니다. 다시 시도해 주세요",
Lang.EN to "Google sign-in failed. Please try again.",
Lang.JA to "Googleでログインできませんでした。もう一度お試しください。"
),
"member.social.kakao_login_failed" to mapOf(
Lang.KO to "카카오 로그인을 하지 못했습니다. 다시 시도해 주세요",
Lang.EN to "Kakao login failed. Please try again.",
Lang.JA to "Kakaoでログインできませんでした。もう一度お試しください。"
),
"member.social.apple_login_failed" to mapOf(
Lang.KO to "애플 로그인을 하지 못했습니다. 다시 시도해 주세요",
Lang.EN to "Apple sign-in failed. Please try again.",
Lang.JA to "Appleでログインできませんでした。もう一度お試しください。"
),
"member.social.line_login_failed" to mapOf(
Lang.KO to "라인 로그인을 하지 못했습니다. 다시 시도해 주세요",
Lang.EN to "LINE sign-in failed. Please try again.",
Lang.JA to "LINEでログインできませんでした。もう一度お試しください。"
),
"member.social.email_consent_required" to mapOf(
Lang.KO to "이메일 제공에 동의하셔야 서비스 이용이 가능합니다.",
Lang.EN to "You must agree to provide your email to use the service.",
Lang.JA to "サービス利用にはメール提供への同意が必要です。"
)
)
private val eventMessages = mapOf(
"event.detail_or_link_required" to mapOf(
Lang.KO to "상세이미지 혹은 링크를 등록하세요",
Lang.EN to "Please register a detail image or link.",
Lang.JA to "詳細画像またはリンクを登録してください。"
),
"event.save_failed" to mapOf(
Lang.KO to "이벤트 등록을 하지 못했습니다.",
Lang.EN to "Failed to register the event.",
Lang.JA to "イベントの登録に失敗しました。"
)
)
private val faqMessages = mapOf(
"faq.question_required" to mapOf(
Lang.KO to "질문을 입력하세요.",
Lang.EN to "Please enter a question.",
Lang.JA to "質問を入力してください。"
),
"faq.answer_required" to mapOf(
Lang.KO to "답변을 입력하세요.",
Lang.EN to "Please enter an answer.",
Lang.JA to "回答を入力してください。"
),
"faq.category_required" to mapOf(
Lang.KO to "카테고리를 선택하세요.",
Lang.EN to "Please select a category.",
Lang.JA to "カテゴリーを選択してください。"
),
"faq.invalid_category" to mapOf(
Lang.KO to "잘못된 카테고리 입니다.",
Lang.EN to "Invalid category.",
Lang.JA to "不正なカテゴリーです。"
)
)
private val liveReservationMessages = mapOf(
"live.reservation.invalid_request_retry" to mapOf(
Lang.KO to "잘못된 요청입니다.\n다시 시도해 주세요.",
Lang.EN to "Invalid request.\ntry again.",
Lang.JA to "不正なリクエストです。\n恐れ入りますが、もう一度お試しください。"
),
"live.reservation.already_reserved" to mapOf(
Lang.KO to "이미 예약한 라이브 입니다.",
Lang.EN to "You have already reserved this live.",
Lang.JA to "すでに予約済みのライブです。"
),
"live.reservation.invalid_reservation" to mapOf(
Lang.KO to "잘못된 예약정보 입니다.",
Lang.EN to "Invalid reservation information.",
Lang.JA to "不正な予約情報です。"
),
"live.reservation.cancel_not_allowed_within_4_hours" to mapOf(
Lang.KO to "라이브 시작 4시간 이내에는 예약취소가 불가능 합니다.",
Lang.EN to "Reservations cannot be canceled within 4 hours of the live start.",
Lang.JA to "ライブ開始4時間以内は予約をキャンセルできません。"
),
"live.reservation.price_free" to mapOf(
Lang.KO to "무료",
Lang.EN to "Free",
Lang.JA to "無料"
),
"live.reservation.datetime_format" to mapOf(
Lang.KO to "yyyy년 M월 d일 (E), a hh:mm",
Lang.EN to "yyyy MMM d (EEE), h:mm a",
Lang.JA to "yyyy年 M月 d日 (E) a hh:mm"
)
)
private val liveRouletteMessages = mapOf(
"live.roulette.unavailable" to mapOf(
Lang.KO to "룰렛을 사용할 수 없습니다.",
Lang.EN to "Roulette is unavailable.",
Lang.JA to "ルーレットを使用できません。"
),
"live.roulette.live_not_found" to mapOf(
Lang.KO to "해당하는 라이브가 없습니다.",
Lang.EN to "Live session not found.",
Lang.JA to "該当するライブがありません。"
),
"live.roulette.live_info_not_found" to mapOf(
Lang.KO to "해당하는 라이브의 정보가 없습니다.",
Lang.EN to "Live session information not found.",
Lang.JA to "該当するライブの情報がありません。"
),
"live.roulette.creator_contract_only" to mapOf(
Lang.KO to "주식회사 소다라이브와 계약한\n크리에이터의 룰렛만 사용하실 수 있습니다.",
Lang.EN to "Only roulette from creators contracted with Sodalive Co., Ltd. can be used.",
Lang.JA to "株式会社ソダライブと契約したクリエイターのルーレットのみ利用できます。"
),
"live.roulette.refund_failed" to mapOf(
Lang.KO to "룰렛 돌리기에 실패한 캔이 환불되지 않았습니다\n고객센터로 문의해주세요.",
Lang.EN to "Cans from the failed roulette spin have not been refunded.\nPlease contact customer support.",
Lang.JA to "ルーレットの失敗分のCANが返金されていません。\nサポートへお問い合わせください。"
),
"live.roulette.min_can" to mapOf(
Lang.KO to "룰렛 금액은 최소 5캔 입니다.",
Lang.EN to "Roulette cost is at least 5 cans.",
Lang.JA to "ルーレット金額は最低5CANです。"
),
"live.roulette.item_count_range" to mapOf(
Lang.KO to "룰렛 옵션은 최소 2개, 최대 10개까지 설정할 수 있습니다.",
Lang.EN to "Roulette options must be between 2 and 10 items.",
Lang.JA to "ルーレットのオプションは最小2個、最大10個まで設定できます。"
),
"live.roulette.probability_invalid" to mapOf(
Lang.KO to "확률이 100%가 아닙니다",
Lang.EN to "The probability is not 100%.",
Lang.JA to "確率が100%ではありません。"
),
"live.roulette.result_message" to mapOf(
Lang.KO to "[%s] 당첨!",
Lang.EN to "[%s] Won!",
Lang.JA to "[%s] 当選!"
),
"live.roulette.can_title" to mapOf(
Lang.KO to "%s 캔",
Lang.EN to "%s cans",
Lang.JA to "%s CAN"
),
"live.roulette.refund_method" to mapOf(
Lang.KO to "룰렛 환불",
Lang.EN to "Roulette refund",
Lang.JA to "ルーレット返金"
)
)
private val liveTagMessages = mapOf(
"live.tag.registered" to mapOf(
Lang.KO to "등록되었습니다.",
Lang.EN to "Successfully registered.",
Lang.JA to "投稿しました。"
),
"live.tag.deleted" to mapOf(
Lang.KO to "삭제되었습니다.",
Lang.EN to "Deleted.",
Lang.JA to "削除されました。"
),
"live.tag.updated" to mapOf(
Lang.KO to "수정되었습니다.",
Lang.EN to "Updated.",
Lang.JA to "更新されました。"
),
"live.tag.duplicate" to mapOf(
Lang.KO to "이미 등록된 태그 입니다.",
Lang.EN to "Tag already registered.",
Lang.JA to "すでに登録されたタグです。"
)
)
private val liveRoomMessages = mapOf(
"live.room.max_reservations" to mapOf(
Lang.KO to "예약 라이브는 최대 3개까지 가능합니다.",
Lang.EN to "You can reserve up to 3 live sessions.",
Lang.JA to "予約ライブは最大3件まで可能です。"
),
"live.room.cover_image_required" to mapOf(
Lang.KO to "커버이미지를 선택해 주세요.",
Lang.EN to "Please select a cover image.",
Lang.JA to "カバー画像を選択してください。"
),
"live.room.start_time_minimum" to mapOf(
Lang.KO to "현재시각 기준, 30분 이후부터 설정가능합니다.",
Lang.EN to "You can set it from 30 minutes after the current time.",
Lang.JA to "現在時刻から30分後以降に設定できます。"
),
"live.room.password_required" to mapOf(
Lang.KO to "방 입장 비밀번호 6자리를 입력해 주세요.",
Lang.EN to "Please enter a 6-digit room password.",
Lang.JA to "入室パスワード6桁を入力してください。"
),
"live.room.paid_min_can" to mapOf(
Lang.KO to "유료라이브는 10캔부터 설정 가능 합니다.",
Lang.EN to "Paid live can be set from 10 cans.",
Lang.JA to "有料ライブは10CANから設定できます。"
),
"live.room.already_ended" to mapOf(
Lang.KO to "이미 종료된 방입니다.",
Lang.EN to "This room has already ended.",
Lang.JA to "すでに終了したルームです。"
),
"live.room.adult_verification_required" to mapOf(
Lang.KO to "본인인증이 필요한 서비스 입니다.",
Lang.EN to "This service requires identity verification.",
Lang.JA to "本人確認が必要なサービスです。"
),
"live.room.not_found" to mapOf(
Lang.KO to "해당하는 라이브가 없습니다.",
Lang.EN to "Live session not found.",
Lang.JA to "該当するライブがありません。"
),
"live.room.start_available_after" to mapOf(
Lang.KO to "%s 이후에 시작할 수 있습니다.",
Lang.EN to "You can start after %s.",
Lang.JA to "%s以降に開始できます。"
),
"live.room.cancel_reason_required" to mapOf(
Lang.KO to "취소사유를 입력해 주세요.",
Lang.EN to "Please enter a cancellation reason.",
Lang.JA to "キャンセル理由を入力してください。"
),
"live.room.password_mismatch" to mapOf(
Lang.KO to "비밀번호가 일치하지 않습니다.\n다시 확인 후 입력해주세요.",
Lang.EN to "Password does not match.\nPlease check and try again.",
Lang.JA to "パスワードが一致しません。\n確認して入力してください。"
),
"live.room.enter_blocked_by_host" to mapOf(
Lang.KO to "%s님의 요청으로 라이브에 입장할 수 없습니다.",
Lang.EN to "You cannot enter the live at %s's request.",
Lang.JA to "%sさんの要請によりライブに入室できません。"
),
"live.room.participation_blocked_by_host" to mapOf(
Lang.KO to "%s님의 요청으로 라이브에 참여할 수 없습니다.",
Lang.EN to "You cannot participate in the live at %s's request.",
Lang.JA to "%sさんの要請によりライブに参加できません。"
),
"live.room.full" to mapOf(
Lang.KO to "방이 가득찼습니다.",
Lang.EN to "The room is full.",
Lang.JA to "ルームが満員です。"
),
"live.room.insufficient_can" to mapOf(
Lang.KO to "%d캔이 부족합니다. 충전 후 이용해 주세요.",
Lang.EN to "You need %d more cans. Please top up and try again.",
Lang.JA to "%dCANが不足しています。チャージしてご利用ください。"
),
"live.room.recent_not_found" to mapOf(
Lang.KO to "최근 데이터가 없습니다.",
Lang.EN to "No recent data found.",
Lang.JA to "最近のデータがありません。"
),
"live.room.no_changes" to mapOf(
Lang.KO to "변경사항이 없습니다.",
Lang.EN to "There are no changes.",
Lang.JA to "変更データがありません。"
),
"live.room.info_not_found" to mapOf(
Lang.KO to "해당하는 라이브의 정보가 없습니다.",
Lang.EN to "Live session information not found.",
Lang.JA to "該当するライブの情報がありません。"
),
"live.room.speaker_limit_exceeded" to mapOf(
Lang.KO to "스피커 정원이 초과하였습니다.",
Lang.EN to "Speaker capacity exceeded.",
Lang.JA to "スピーカーの定員を超えました。"
),
"live.room.user_not_found" to mapOf(
Lang.KO to "해당하는 유저가 없습니다.",
Lang.EN to "User not found.",
Lang.JA to "該当するユーザーがいません。"
),
"live.room.already_manager" to mapOf(
Lang.KO to "이미 매니저 입니다.",
Lang.EN to "Already a manager.",
Lang.JA to "すでにマネージャーです。"
),
"live.room.creator_contract_only_donation" to mapOf(
Lang.KO to "주식회사 소다라이브와 계약한\n크리에이터에게만 후원을 하실 수 있습니다.",
Lang.EN to "You can only donate to creators contracted with Sodalive Co., Ltd.",
Lang.JA to "株式会社ソダライブと契約したクリエイターにのみギフトできます。"
),
"live.room.donation_refund_failed" to mapOf(
Lang.KO to "후원에 실패한 캔이 환불되지 않았습니다\n고객센터로 문의해주세요.",
Lang.EN to "Cans from the failed donation have not been refunded.\nPlease contact customer support.",
Lang.JA to "ギフト失敗分のCANが返金されていません。\nサポートへお問い合わせください。"
),
"live.room.datetime_format" to mapOf(
Lang.KO to "yyyy년 MM월 dd일 (E) a hh시 mm분",
Lang.EN to "yyyy MMM dd (EEE) h:mm a",
Lang.JA to "yyyy年 MM月 dd日 (E) a hh:mm"
),
"live.room.datetime_format_detail" to mapOf(
Lang.KO 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"
),
"live.room.fcm.message.started" to mapOf(
Lang.KO to "라이브를 시작했습니다. - %s",
Lang.EN to "Live started. - %s",
Lang.JA to "ライブを開始しました。 - %s"
),
"live.room.fcm.message.reserved" to mapOf(
Lang.KO to "라이브를 예약했습니다. - %s",
Lang.EN to "Live reserved. - %s",
Lang.JA to "ライブを予約しました。 - %s"
),
"live.room.fcm.message.started_now" to mapOf(
Lang.KO to "라이브를 시작했습니다 - %s",
Lang.EN to "Live started - %s",
Lang.JA to "ライブを開始しました - %s"
),
"live.room.fcm.message.canceled" to mapOf(
Lang.KO to "라이브 취소 : %s",
Lang.EN to "Live canceled: %s",
Lang.JA to "ライブ取消: %s"
),
"live.room.can_title" to mapOf(
Lang.KO to "%d 캔",
Lang.EN to "%d cans",
Lang.JA to "%d CAN"
),
"live.room.refund_method" to mapOf(
Lang.KO to "환불",
Lang.EN to "Refund",
Lang.JA to "返金"
)
)
private val liveRoomMenuMessages = mapOf(
"live.room.menu.max_count" to mapOf(
Lang.KO to "메뉴판의 최대개수는 3개입니다.",
Lang.EN to "Menu presets are limited to 3.",
Lang.JA to "メニューボードは最大3個までです。"
),
"live.room.menu.blank_not_allowed" to mapOf(
Lang.KO to "메뉴판은 빈칸일 수 없습니다.",
Lang.EN to "Menu cannot be blank.",
Lang.JA to "メニューを入力してください。"
)
)
private val memberProviderMessages = mapOf(
"member.provider.email" to mapOf(
Lang.KO to "이메일",
Lang.EN to "Email",
Lang.JA to "メール"
),
"member.provider.kakao" to mapOf(
Lang.KO to "카카오",
Lang.EN to "Kakao",
Lang.JA to "カカオ"
),
"member.provider.google" to mapOf(
Lang.KO to "구글",
Lang.EN to "Google",
Lang.JA to "Google"
),
"member.provider.apple" to mapOf(
Lang.KO to "애플",
Lang.EN to "Apple",
Lang.JA to "Apple"
),
"member.provider.line" to mapOf(
Lang.KO to "라인",
Lang.EN to "LINE",
Lang.JA to "LINE"
)
)
private val memberGenderMessages = mapOf(
"member.gender.male" to mapOf(
Lang.KO to "",
Lang.EN to "Male",
Lang.JA to "男性"
),
"member.gender.female" to mapOf(
Lang.KO to "",
Lang.EN to "Female",
Lang.JA to "女性"
),
"member.gender.unknown" to mapOf(
Lang.KO to "",
Lang.EN to "Unknown",
Lang.JA to "不明"
)
)
private val explorerSectionMessages = mapOf(
"explorer.section.creator_rank.title" to mapOf(
Lang.KO to "인기 크리에이터",
Lang.EN to "Top creators",
Lang.JA to "人気クリエイター"
),
"explorer.section.creator_rank.colored_title" to mapOf(
Lang.KO to "인기",
Lang.EN to "Top",
Lang.JA to "人気"
),
"explorer.section.new_creators.title" to mapOf(
Lang.KO to "새로 시작",
Lang.EN to "New creators",
Lang.JA to "新規クリエイター"
),
"explorer.section.new_creators.colored_title" to mapOf(
Lang.KO to "새로",
Lang.EN to "New",
Lang.JA to "新規"
),
"explorer.section.male_creators.title" to mapOf(
Lang.KO to "남자 크리에이터",
Lang.EN to "Male creators",
Lang.JA to "男性クリエイター"
),
"explorer.section.male_creators.colored_title" to mapOf(
Lang.KO to "남자",
Lang.EN to "Male",
Lang.JA to "男性"
),
"explorer.section.female_creators.title" to mapOf(
Lang.KO to "여자 크리에이터",
Lang.EN to "Female creators",
Lang.JA to "女性クリエイター"
),
"explorer.section.female_creators.colored_title" to mapOf(
Lang.KO to "여자",
Lang.EN to "Female",
Lang.JA to "女性"
)
)
private val explorerDateMessages = mapOf(
"explorer.date.creator_rank.start_format" to mapOf(
Lang.KO to "yyyy년 MM월 dd일",
Lang.EN to "MMM dd, yyyy",
Lang.JA to "yyyy年MM月dd日"
),
"explorer.date.creator_rank.end_format" to mapOf(
Lang.KO to "MM월 dd일",
Lang.EN to "MMM dd",
Lang.JA to "MM月dd日"
),
"explorer.date.live_room.datetime_format" to mapOf(
Lang.KO to "yyyy년 MM월 dd일 (E) a hh시 mm분",
Lang.EN to "EEE, MMM dd, yyyy h:mm a",
Lang.JA to "yyyy年 MM月 dd日 (E) a hh:mm"
),
"explorer.date.cheers.format" to mapOf(
Lang.KO to "yyyy.MM.dd E hh:mm a",
Lang.EN to "MMM dd, yyyy E hh:mm a",
Lang.JA to "yyyy.MM.dd E hh:mm a"
)
)
private val explorerResponseMessages = mapOf(
"explorer.cheers.created" to mapOf(
Lang.KO to "등록되었습니다.",
Lang.EN to "Registered.",
Lang.JA to "投稿しました。"
),
"explorer.cheers.updated" to mapOf(
Lang.KO to "수정되었습니다.",
Lang.EN to "Updated.",
Lang.JA to "更新されました。"
),
"explorer.notice.saved" to mapOf(
Lang.KO to "공지사항이 저장되었습니다.",
Lang.EN to "Notice has been saved.",
Lang.JA to "お知らせが保存されました。"
),
"explorer.notice.fcm.message" to mapOf(
Lang.KO to "새 글이 등록되었습니다.",
Lang.EN to "A new post has been added.",
Lang.JA to "新しい投稿が登録されました。"
)
)
private val explorerValidationMessages = mapOf(
"explorer.search.channel.min_length" to mapOf(
Lang.KO to "두 글자 이상 입력 하셔야 합니다.",
Lang.EN to "Please enter at least 2 characters.",
Lang.JA to "2文字以上入力してください。"
)
)
private val explorerAccessMessages = mapOf(
"explorer.creator.blocked_access" to mapOf(
Lang.KO to "%s님의 요청으로 채널 접근이 제한됩니다.",
Lang.EN to "Channel access is restricted at %s's request.",
Lang.JA to "%sさんの要請によりチャンネルへのアクセスが制限されています。"
),
"explorer.creator.blocked_cheers" to mapOf(
Lang.KO to "%s님의 요청으로 팬토크 작성이 제한됩니다.",
Lang.EN to "Fan talk posting is restricted at %s's request.",
Lang.JA to "%sさんの要請によりファントークの投稿が制限されています。"
)
)
private val creatorAdminMemberMessages = mapOf(
"creator.admin.member.login_success" to mapOf(
Lang.KO to "로그인 되었습니다.",
Lang.EN to "Logged in.",
Lang.JA to "ログインしました。"
),
"creator.admin.member.inactive_account" to mapOf(
Lang.KO to "탈퇴한 계정입니다.\n고객센터로 문의해 주시기 바랍니다.",
Lang.EN to "This account has been deactivated.\nPlease contact customer support.",
Lang.JA to "退会したアカウントです。\nサポートにお問い合わせください。"
)
)
private val creatorAdminSignatureMessages = mapOf(
"creator.admin.signature.created" to mapOf(
Lang.KO to "등록되었습니다.",
Lang.EN to "Successfully registered.",
Lang.JA to "投稿しました。"
),
"creator.admin.signature.updated" to mapOf(
Lang.KO to "수정되었습니다.",
Lang.EN to "Updated.",
Lang.JA to "更新されました。"
),
"creator.admin.signature.deleted" to mapOf(
Lang.KO to "삭제되었습니다.",
Lang.EN to "Deleted.",
Lang.JA to "削除されました。"
),
"creator.admin.signature.no_changes" to mapOf(
Lang.KO to "변경사항이 없습니다.",
Lang.EN to "No changes to update.",
Lang.JA to "変更データがありません。"
),
"creator.admin.signature.min_can" to mapOf(
Lang.KO to "1캔 이상 설정할 수 있습니다.",
Lang.EN to "You can set at least 1 can.",
Lang.JA to "1CAN以上設定できます。"
),
"creator.admin.signature.time_range" to mapOf(
Lang.KO to "시간은 3초 이상 20초 이하로 설정할 수 있습니다.",
Lang.EN to "Time must be between 3 and 20 seconds.",
Lang.JA to "時間は3秒以上20秒以下に設定できます。"
),
"creator.admin.signature.invalid_access" to mapOf(
Lang.KO to "잘못된 접근입니다.",
Lang.EN to "Invalid access.",
Lang.JA to "無効なアクセスです。"
),
"creator.admin.signature.invalid_request" to mapOf(
Lang.KO to "잘못된 요청입니다.",
Lang.EN to "Invalid request.",
Lang.JA to "無効なリクエストです。"
)
)
private val creatorAdminContentMessages = mapOf(
"creator.admin.content.search_word_min_length" to mapOf(
Lang.KO to "2글자 이상 입력하세요.",
Lang.EN to "Please enter at least 2 characters.",
Lang.JA to "2文字以上入力してください。"
),
"creator.admin.content.invalid_content" to mapOf(
Lang.KO to "잘못된 콘텐츠 입니다.",
Lang.EN to "Invalid content.",
Lang.JA to "不正なコンテンツです。"
),
"creator.admin.content.min_price" to mapOf(
Lang.KO to "콘텐츠의 최소금액은 5캔 입니다.",
Lang.EN to "Minimum price for content is 5 cans.",
Lang.JA to "コンテンツの最低価格は5CANです。"
)
)
private val creatorAdminSeriesRequestMessages = mapOf(
"creator.admin.series.title_required" to mapOf(
Lang.KO to "시리즈 제목을 입력하세요",
Lang.EN to "Please enter a series title.",
Lang.JA to "シリーズのタイトルを入力してください。"
),
"creator.admin.series.introduction_required" to mapOf(
Lang.KO to "시리즈 소개를 입력하세요",
Lang.EN to "Please enter a series introduction.",
Lang.JA to "シリーズ紹介を入力してください。"
),
"creator.admin.series.keyword_required" to mapOf(
Lang.KO to "시리즈를 설명할 수 있는 키워드를 입력하세요",
Lang.EN to "Please enter keywords that describe the series.",
Lang.JA to "シリーズを説明できるキーワードを入力してください。"
),
"creator.admin.series.genre_required" to mapOf(
Lang.KO to "올바른 장르를 선택하세요",
Lang.EN to "Please select a valid genre.",
Lang.JA to "正しいジャンルを選択してください。"
),
"creator.admin.series.published_days_required" to mapOf(
Lang.KO to "시리즈 연재요일을 선택하세요",
Lang.EN to "Please select publishing days.",
Lang.JA to "シリーズの連載曜日を選択してください。"
),
"creator.admin.series.published_days_random_exclusive" to mapOf(
Lang.KO to "랜덤과 연재요일 동시에 선택할 수 없습니다.",
Lang.EN to "You cannot select random and specific days at the same time.",
Lang.JA to "ランダムと連載曜日を同時に選択することはできません。"
),
"creator.admin.series.cover_image_required" to mapOf(
Lang.KO to "커버이미지를 선택해 주세요.",
Lang.EN to "Please select a cover image.",
Lang.JA to "カバー画像を選択してください。"
),
"creator.admin.series.no_changes" to mapOf(
Lang.KO to "변경사항이 없습니다.",
Lang.EN to "No changes to update.",
Lang.JA to "変更データがありません。"
),
"creator.admin.series.invalid_access" to mapOf(
Lang.KO to "잘못된 접근입니다.",
Lang.EN to "Invalid access.",
Lang.JA to "無効なアクセスです。"
),
"creator.admin.series.no_content_added" to mapOf(
Lang.KO to "추가된 콘텐츠가 없습니다.",
Lang.EN to "No content was added.",
Lang.JA to "追加されたコンテンツがありません。"
)
)
private val creatorAdminSeriesMessages = mapOf(
"creator.admin.series.created" to mapOf(
Lang.KO to "시리즈가 생성되었습니다.",
Lang.EN to "Series created.",
Lang.JA to "シリーズが作成されました。"
),
"creator.admin.series.updated" to mapOf(
Lang.KO to "시리즈가 수정되었습니다.",
Lang.EN to "Series updated.",
Lang.JA to "シリーズが更新されました。"
),
"creator.admin.series.content_added" to mapOf(
Lang.KO to "콘텐츠가 추가되었습니다.",
Lang.EN to "Content added.",
Lang.JA to "コンテンツが追加されました。"
),
"creator.admin.series.content_removed" to mapOf(
Lang.KO to "콘텐츠를 삭제하였습니다.",
Lang.EN to "Content removed.",
Lang.JA to "コンテンツが削除されました。"
),
"creator.admin.series.orders_updated" to mapOf(
Lang.KO to "수정되었습니다.",
Lang.EN to "Updated.",
Lang.JA to "更新されました。"
)
)
private val chatCharacterCommentMessages = mapOf(
"chat.character.comment.required" to mapOf(
Lang.KO to "댓글 내용을 입력해주세요.",
Lang.EN to "Please enter a comment.",
Lang.JA to "コメント内容を入力してください。"
),
"chat.character.comment.deleted" to mapOf(
Lang.KO to "댓글이 삭제되었습니다.",
Lang.EN to "The comment has been deleted.",
Lang.JA to "コメントが削除されました。"
),
"chat.character.comment.reported" to mapOf(
Lang.KO to "신고가 접수되었습니다.",
Lang.EN to "Your report has been submitted.",
Lang.JA to "通報が受け付けられました。"
),
"chat.character.comment.invalid" to mapOf(
Lang.KO to "유효하지 않은 댓글입니다.",
Lang.EN to "Invalid comment.",
Lang.JA to "無効なコメントです。"
),
"chat.character.comment.not_found" to mapOf(
Lang.KO to "댓글을 찾을 수 없습니다.",
Lang.EN to "Comment not found.",
Lang.JA to "コメントが見つかりません。"
),
"chat.character.comment.inactive" to mapOf(
Lang.KO to "비활성화된 댓글입니다.",
Lang.EN to "This comment is inactive.",
Lang.JA to "無効化されたコメントです。"
),
"chat.character.comment.delete_forbidden" to mapOf(
Lang.KO to "삭제 권한이 없습니다.",
Lang.EN to "You do not have permission to delete.",
Lang.JA to "削除権限がありません。"
),
"chat.character.comment.report_content_required" to mapOf(
Lang.KO to "신고 내용을 입력해주세요.",
Lang.EN to "Please enter a report message.",
Lang.JA to "通報内容を入力してください。"
)
)
private val chatCharacterMessages = mapOf(
"chat.character.not_found" to mapOf(
Lang.KO to "캐릭터를 찾을 수 없습니다.",
Lang.EN to "Character not found.",
Lang.JA to "キャラクターが見つかりません。"
),
"chat.character.inactive" to mapOf(
Lang.KO to "비활성화된 캐릭터입니다.",
Lang.EN to "This character is inactive.",
Lang.JA to "無効化されたキャラクターです。"
),
"chat.character.inactive_image_register" to mapOf(
Lang.KO to "비활성화된 캐릭터에는 이미지를 등록할 수 없습니다.",
Lang.EN to "Images cannot be registered for an inactive character.",
Lang.JA to "無効化されたキャラクターには画像を登録できません。"
),
"chat.character.inactive_banner_register" to mapOf(
Lang.KO to "비활성화된 캐릭터에는 배너를 등록할 수 없습니다.",
Lang.EN to "Banners cannot be registered for an inactive character.",
Lang.JA to "無効化されたキャラクターにはバナーを登録できません。"
),
"chat.character.inactive_banner_change" to mapOf(
Lang.KO to "비활성화된 캐릭터로는 변경할 수 없습니다.",
Lang.EN to "You cannot change to an inactive character.",
Lang.JA to "無効化されたキャラクターには変更できません。"
)
)
private val chatCharacterImageMessages = mapOf(
"chat.character.image.not_found" to mapOf(
Lang.KO to "캐릭터 이미지를 찾을 수 없습니다.",
Lang.EN to "Character image not found.",
Lang.JA to "キャラクター画像が見つかりません。"
),
"chat.character.image.inactive" to mapOf(
Lang.KO to "비활성화된 이미지입니다.",
Lang.EN to "This image is inactive.",
Lang.JA to "無効化された画像です。"
),
"chat.character.image.min_price" to mapOf(
Lang.KO to "가격은 0 can 이상이어야 합니다.",
Lang.EN to "Price must be at least 0 can.",
Lang.JA to "価格は0CAN以上である必要があります。"
),
"chat.character.image.inactive_update" to mapOf(
Lang.KO to "비활성화된 이미지는 수정할 수 없습니다.",
Lang.EN to "Inactive images cannot be updated.",
Lang.JA to "無効化された画像は修正できません。"
),
"chat.character.image.other_character_included" to mapOf(
Lang.KO to "다른 캐릭터의 이미지가 포함되어 있습니다.",
Lang.EN to "Images from another character are included.",
Lang.JA to "別のキャラクターの画像が含まれています。"
),
"chat.character.image.inactive_order_change" to mapOf(
Lang.KO to "비활성화된 이미지는 순서를 변경할 수 없습니다.",
Lang.EN to "Inactive images cannot change order.",
Lang.JA to "無効化された画像の順序は変更できません。"
)
)
private val chatCharacterBannerMessages = mapOf(
"chat.character.banner.not_found" to mapOf(
Lang.KO to "배너를 찾을 수 없습니다.",
Lang.EN to "Banner not found.",
Lang.JA to "バナーが見つかりません。"
),
"chat.character.banner.inactive_update" to mapOf(
Lang.KO to "비활성화된 배너는 수정할 수 없습니다.",
Lang.EN to "Inactive banners cannot be updated.",
Lang.JA to "無効化されたバナーは修正できません。"
)
)
private val chatOriginalWorkMessages = mapOf(
"chat.original.not_found" to mapOf(
Lang.KO to "해당 원작을 찾을 수 없습니다.",
Lang.EN to "Original work not found.",
Lang.JA to "該当する原作が見つかりません。"
)
)
private val chatQuotaMessages = mapOf(
"chat.quota.container_required" to mapOf(
Lang.KO to "container를 확인해주세요.",
Lang.EN to "Please check the container.",
Lang.JA to "containerを確認してください。"
)
)
private val chatRoomQuotaMessages = mapOf(
"chat.room.quota.invalid_access" to mapOf(
Lang.KO to "잘못된 접근입니다",
Lang.EN to "Invalid access.",
Lang.JA to "無効なアクセスです。"
),
"chat.room.quota.not_ai_room" to mapOf(
Lang.KO to "AI 캐릭터 채팅방이 아닙니다.",
Lang.EN to "This is not an AI character chat room.",
Lang.JA to "AIキャラクターのチャットルームではありません。"
),
"chat.room.quota.character_required" to mapOf(
Lang.KO to "잘못된 요청입니다. 캐릭터 정보를 확인해주세요.",
Lang.EN to "Invalid request. Please check the character information.",
Lang.JA to "不正なリクエストです。キャラクター情報を確認してください。"
),
"chat.room.quota.global_free_exhausted" to mapOf(
Lang.KO to "오늘의 무료 채팅이 모두 소진되었습니다. 내일 다시 이용해 주세요.",
Lang.EN to "Today's free chats have been used up. Please try again tomorrow.",
Lang.JA to "本日の無料チャットはすべて使い切りました。明日またご利用ください。"
),
"chat.room.quota.room_free_exhausted" to mapOf(
Lang.KO to "무료 채팅이 모두 소진되었습니다.",
Lang.EN to "Free chats have been used up.",
Lang.JA to "無料チャットはすべて使い切りました。"
)
)
private val chatRoomMessages = mapOf(
"chat.room.invalid_access" to mapOf(
Lang.KO to "잘못된 접근입니다",
Lang.EN to "Invalid access.",
Lang.JA to "無効なアクセスです。"
),
"chat.room.not_ai_room" to mapOf(
Lang.KO to "AI 캐릭터 채팅방이 아닙니다.",
Lang.EN to "This is not an AI character chat room.",
Lang.JA to "AIキャラクターのチャットルームではありません。"
),
"chat.message.not_found" to mapOf(
Lang.KO to "메시지를 찾을 수 없습니다.",
Lang.EN to "Message not found.",
Lang.JA to "メッセージが見つかりません。"
),
"chat.message.inactive" to mapOf(
Lang.KO to "비활성화된 메시지입니다.",
Lang.EN to "This message is inactive.",
Lang.JA to "無効化されたメッセージです。"
),
"chat.message.not_purchasable" to mapOf(
Lang.KO to "구매할 수 없는 메시지입니다.",
Lang.EN to "This message cannot be purchased.",
Lang.JA to "購入できないメッセージです。"
),
"chat.purchase.invalid_price" to mapOf(
Lang.KO to "구매 가격이 잘못되었습니다.",
Lang.EN to "Invalid purchase price.",
Lang.JA to "購入価格が正しくありません。"
),
"chat.room.character_not_found" to mapOf(
Lang.KO to "해당 ID의 캐릭터를 찾을 수 없습니다.",
Lang.EN to "Character not found for the given ID.",
Lang.JA to "該当IDのキャラクターが見つかりません。"
),
"chat.room.create_failed_retry" to mapOf(
Lang.KO to "채팅방 생성에 실패했습니다. 다시 시도해 주세요.",
Lang.EN to "Failed to create the chat room. Please try again.",
Lang.JA to "チャットルームの作成に失敗しました。恐れ入りますが、もう一度お試しください。"
),
"chat.error.retry" to mapOf(
Lang.KO to "오류가 발생했습니다. 다시 시도해 주세요.",
Lang.EN to "An error occurred. Please try again.",
Lang.JA to "エラーが発生しました。もう一度お試しください。"
),
"chat.room.session_end_failed" to mapOf(
Lang.KO to "채팅방 세션 종료에 실패했습니다. 다시 시도해 주세요.",
Lang.EN to "Failed to end the chat room session. Please try again.",
Lang.JA to "チャットルームのセッション終了に失敗しました。恐れ入りますが、もう一度お試しください。"
),
"chat.message.send_failed" to mapOf(
Lang.KO to "메시지 전송을 실패했습니다.",
Lang.EN to "Failed to send the message.",
Lang.JA to "メッセージの送信に失敗しました。"
),
"chat.room.last_message_image" to mapOf(
Lang.KO to "[이미지]",
Lang.EN to "[Image]",
Lang.JA to "[画像]"
),
"chat.room.time.just_now" to mapOf(
Lang.KO to "방금",
Lang.EN to "Just now",
Lang.JA to "たった今"
),
"chat.room.time.minutes_ago" to mapOf(
Lang.KO to "%d분 전",
Lang.EN to "%d minutes ago",
Lang.JA to "%d分前"
),
"chat.room.time.hours_ago" to mapOf(
Lang.KO to "%d시간 전",
Lang.EN to "%d hours ago",
Lang.JA to "%d時間前"
)
)
private val creatorCommunityMessages = mapOf(
"creator.community.paid_post_image_required" to mapOf(
Lang.KO to "유료 게시글 등록을 위해서는 이미지가 필요합니다.",
Lang.EN to "An image is required to post paid content.",
Lang.JA to "有料投稿を登録するには画像が必要です。"
),
"creator.community.audio_post_image_required" to mapOf(
Lang.KO to "오디오 등록을 위해서는 이미지가 필요합니다.",
Lang.EN to "An image is required to upload audio.",
Lang.JA to "オーディオを登録するには画像が必要です。"
),
"creator.community.fcm.new_post" to mapOf(
Lang.KO to "새 글이 등록되었습니다.",
Lang.EN to "A new post has been added.",
Lang.JA to "新しい投稿が登録されました。"
),
"creator.community.invalid_request_retry" to mapOf(
Lang.KO to "잘못된 요청입니다.\n다시 시도해 주세요.",
Lang.EN to "Invalid request.\ntry again.",
Lang.JA to "不正なリクエストです。恐れ入りますが、もう一度お試しください。"
),
"creator.community.invalid_post_retry" to mapOf(
Lang.KO to "잘못된 게시물 입니다.\n다시 시도해 주세요.",
Lang.EN to "Invalid post.\nPlease try again.",
Lang.JA to "不正な投稿です。恐れ入りますが、もう一度お試しください。"
),
"creator.community.secret_comment_purchase_required" to mapOf(
Lang.KO to "게시글을 구매 후 비밀댓글을 등록할 수 있습니다.",
Lang.EN to "You can post a secret comment after purchasing the post.",
Lang.JA to "投稿を購入した後にシークレットコメントを登録できます。"
),
"creator.community.invalid_access_retry" to mapOf(
Lang.KO to "잘못된 접근 입니다.\n확인 후 다시 시도해 주세요.",
Lang.EN to "Invalid access.\nPlease check and try again.",
Lang.JA to "不正なアクセスです。\n恐れ入りますが、確認後再度お試しください。"
),
"creator.community.blocked_access" to mapOf(
Lang.KO to "%s님의 요청으로 접근이 제한됩니다.",
Lang.EN to "Access is restricted at %s's request.",
Lang.JA to "%sさんの要請によりアクセスが制限されています。"
)
)
fun getMessage(key: String, lang: Lang): String? {
val messageGroups = listOf(
commonMessages,
contentErrorMessages,
contentNotificationMessages,
contentFormatMessages,
contentRankingMessages,
contentCommentMessages,
contentDonationMessages,
orderMessages,
playlistMessages,
seriesMessages,
seriesBannerMessages,
categoryMessages,
alarmMessages,
auditionMessages,
auditionRequestMessages,
auditionNotificationMessages,
auditionRoleMessages,
auditionClientMessages,
auditionApplicantMessages,
auditionVoteMessages,
settlementRatioMessages,
adminCanMessages,
canChargeMessages,
canChargeEventMessages,
canCouponMessages,
canPaymentMessages,
adminChatBannerMessages,
adminChatCalculateMessages,
adminChatCharacterMessages,
adminChatCurationMessages,
adminChatCharacterImageMessages,
adminChatOriginalWorkMessages,
adminContentMessages,
adminContentBannerMessages,
adminHashTagCurationMessages,
adminContentSeriesMessages,
adminContentSeriesBannerMessages,
adminContentSeriesGenreMessages,
adminContentThemeMessages,
adminEventBannerMessages,
adminChargeEventMessages,
adminExplorerMessages,
adminLiveMessages,
adminSignatureCanMessages,
adminAdMediaPartnerMessages,
adminMemberMessages,
adminMemberTagMessages,
adminPointPolicyMessages,
adminMemberStatisticsMessages,
messageMessages,
noticeMessages,
reportMessages,
imageValidationMessages,
memberAuthMessages,
memberMessages,
memberValidationMessages,
memberSocialMessages,
eventMessages,
faqMessages,
liveRouletteMessages,
liveReservationMessages,
liveTagMessages,
liveRoomMessages,
liveRoomMenuMessages,
memberProviderMessages,
memberGenderMessages,
explorerSectionMessages,
explorerDateMessages,
explorerResponseMessages,
explorerValidationMessages,
explorerAccessMessages,
creatorAdminMemberMessages,
creatorAdminSignatureMessages,
creatorAdminContentMessages,
creatorAdminSeriesRequestMessages,
creatorAdminSeriesMessages,
chatCharacterCommentMessages,
chatCharacterMessages,
chatCharacterImageMessages,
chatCharacterBannerMessages,
chatOriginalWorkMessages,
chatQuotaMessages,
chatRoomQuotaMessages,
chatRoomMessages,
creatorCommunityMessages
)
for (messages in messageGroups) {
val translations = messages[key] ?: continue
return translations[lang] ?: translations[Lang.KO]
}
return null
}
}