Files
sodalive-backend-spring-boot/src/main/kotlin/kr/co/vividnext/sodalive/i18n/SodaMessageSource.kt

1784 lines
83 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. 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 "チャットルームが見つかりません。"
)
)
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. Please try again.",
Lang.JA to "不正なリクエストです。もう一度やり直してください。"
),
"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.\nPlease try 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 "1缶以上入力してください。"
),
"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 "不正なリクエストです。\nアプリを終了して再度お試しください。"
),
"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缶"
)
)
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 "%s缶が追加で支給されました。"
),
"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%s缶が支給されました。"
),
"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.\nPlease try 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 "%s缶が不足しています。チャージしてからご利用ください。"
)
)
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 "1缶以上設定できます。"
),
"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 "不正な会員情報です。\nもう一度お試しください。"
),
"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 "該当するメッセージがありません。\nもう一度ご確認ください。"
),
"message.error.already_kept" to mapOf(
Lang.KO to "이미 보관된 메시지 입니다.",
Lang.EN to "Message is already kept.",
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 received.",
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 "認証情報にエラーがあります。\nもう一度お試しください。"
),
"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件利用中です。\n" +
"ソダライブの本人認証は最大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 login 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 "カカオログインに失敗しました。もう一度お試しください。"
),
"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.\nPlease try 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 "株式会社ソダライブと契約した\nクリエイターのルーレットのみ利用できます。"
),
"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 "ルーレットの失敗分の缶が返金されていません。\nカスタマーサポートへお問い合わせください。"
),
"live.roulette.min_can" to mapOf(
Lang.KO to "룰렛 금액은 최소 5캔 입니다.",
Lang.EN to "Roulette cost is at least 5 cans.",
Lang.JA to "ルーレット金額は最低5缶です。"
),
"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 缶"
),
"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 "有料ライブは10缶から設定できます。"
),
"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 "%d缶が不足しています。チャージしてご利用ください。"
),
"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 "株式会社ソダライブと契約した\nクリエイターにのみ支援できます。"
),
"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 "支援失敗分の缶が返金されていません。\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 缶"
),
"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"
)
)
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 "1缶以上設定できます。"
),
"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 "コンテンツの最低価格は5缶です。"
)
)
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 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.\nPlease try again.",
Lang.JA to "不正なリクエストです。\nもう一度お試しください。"
),
"creator.community.invalid_post_retry" to mapOf(
Lang.KO to "잘못된 게시물 입니다.\n다시 시도해 주세요.",
Lang.EN to "Invalid post.\nPlease try again.",
Lang.JA to "不正な投稿です。\nもう一度お試しください。"
),
"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,
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,
creatorCommunityMessages
)
for (messages in messageGroups) {
val translations = messages[key] ?: continue
return translations[lang] ?: translations[Lang.KO]
}
return null
}
}