라이브룸 메시지 다국어 처리

This commit is contained in:
2025-12-23 14:20:52 +09:00
parent fd94df338b
commit 39d13ab7c3
7 changed files with 339 additions and 114 deletions

View File

@@ -707,6 +707,177 @@ class SodaMessageSource {
)
)
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 "이메일",
@@ -740,6 +911,11 @@ class SodaMessageSource {
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 "不明"
)
)
@@ -775,6 +951,8 @@ class SodaMessageSource {
memberSocialMessages,
liveRouletteMessages,
liveTagMessages,
liveRoomMessages,
liveRoomMenuMessages,
memberProviderMessages,
memberGenderMessages
)