영문 리소스와 스플래시 문구 갱신

This commit is contained in:
Yu Sung
2025-12-30 19:24:57 +09:00
parent 7775e4f0d9
commit 921c7e008c
3 changed files with 6265 additions and 6256 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -32,7 +32,7 @@ enum I18n {
// //
static var resetTitle: String { static var resetTitle: String {
pick(ko: "대화 초기화", en: "Reset conversation", ja: "会話をリセット") pick(ko: "대화 초기화", en: "Reset", ja: "会話をリセット")
} }
static var resetDescription: String { static var resetDescription: String {
@@ -97,13 +97,12 @@ enum I18n {
} }
enum CharacterDetailGallery { enum CharacterDetailGallery {
static var purchaseConfirmTitle: String { static var purchaseConfirmTitle: String {
pick(ko: "구매 확인", en: "Purchase confirmation", ja: "購入確認") pick(ko: "구매 확인", en: "Confirmation", ja: "購入確認")
} }
static var purchaseConfirmDescription: String { static var purchaseConfirmDescription: String {
pick( pick(
ko: "선택한 이미지를 구매하시겠습니까?", ko: "선택한 이미지를 구매하시겠습니까?", en: "Buy the selected image?",
en: "Do you want to purchase the selected image?",
ja: "選択した画像を購入しますか?" ja: "選択した画像を購入しますか?"
) )
} }
@@ -165,7 +164,7 @@ enum I18n {
static var viewAll: String { pick(ko: "전체보기", en: "View all", ja: "すべて見る") } static var viewAll: String { pick(ko: "전체보기", en: "View all", ja: "すべて見る") }
// //
static var apply: String { pick(ko: "적용", en: "Apply", ja: "適用") } static var apply: String { pick(ko: "적용", en: "Save", ja: "適用") }
static var confirm: String { pick(ko: "확인", en: "Confirm", ja: "確認") } static var confirm: String { pick(ko: "확인", en: "Confirm", ja: "確認") }
static var cancel: String { pick(ko: "취소", en: "Cancel", ja: "キャンセル") } static var cancel: String { pick(ko: "취소", en: "Cancel", ja: "キャンセル") }
static var yes: String { pick(ko: "", en: "Yes", ja: "はい") } static var yes: String { pick(ko: "", en: "Yes", ja: "はい") }
@@ -190,20 +189,31 @@ enum I18n {
static var confirmDeleteQuestion: String { pick(ko: "삭제하시겠습니까?", en: "Are you sure you want to delete?", ja: "削除しますか?") } static var confirmDeleteQuestion: String { pick(ko: "삭제하시겠습니까?", en: "Are you sure you want to delete?", ja: "削除しますか?") }
static var followers: String { pick(ko: "팔로워", en: "Followers", ja: "フォロワー") } static var followers: String { pick(ko: "팔로워", en: "Followers", ja: "フォロワー") }
static var latestContent: String { pick(ko: "최신 콘텐츠", en: "Latest content", ja: "最新コンテンツ") } static var latestContent: String { pick(ko: "최신 콘텐츠", en: "New", ja: "最新コンテンツ") }
static var openScheduled: String { pick(ko: "오픈예정", en: "Scheduled to open", ja: "オープン予定") } static var openScheduled: String { pick(ko: "오픈예정", en: "Scheduled to open", ja: "オープン予定") }
static var points: String { pick(ko: "포인트", en: "Points", ja: "ポイント") } static var points: String { pick(ko: "포인트", en: "Points", ja: "ポイント") }
} }
enum Splash { enum Splash {
static var tagline: String {
pick(
ko: "목소리로 만나는 새로운 세계",
en: "A new world you meet by voice",
ja: "声で出会う新しい世界"
)
}
static var brandName: String {
pick(ko: "소다라이브", en: "SodaLive", ja: "ソーダライブ")
}
static var maintenanceTitle: String { static var maintenanceTitle: String {
pick(ko: "안내", en: "Notice", ja: "お知らせ") pick(ko: "안내", en: "Notice", ja: "お知らせ")
} }
static var maintenanceDesc: String { static var maintenanceDesc: String {
pick( pick(
ko: "서비스 점검중입니다.", ko: "서비스 점검중입니다.", en: "Service Under Maintenance",
en: "The service is under maintenance.",
ja: "ただいまメンテナンス中です。" ja: "ただいまメンテナンス中です。"
) )
} }
@@ -361,8 +371,7 @@ enum I18n {
// //
static var selectReasonRequired: String { static var selectReasonRequired: String {
pick( pick(
ko: "계정을 삭제하려는 이유를 선택해 주세요.", ko: "계정을 삭제하려는 이유를 선택해 주세요.", en: "select a reason for deleting your account.",
en: "Please select a reason for deleting your account.",
ja: "アカウント削除の理由を選択してください。" ja: "アカウント削除の理由を選択してください。"
) )
} }
@@ -518,11 +527,11 @@ enum I18n {
} }
// //
static var startNow: String { pick(ko: "지금 즉시", en: "Start now", ja: "今すぐ開始") } static var startNow: String { pick(ko: "지금 즉시", en: "Now", ja: "今すぐ開始") }
static var schedule: String { pick(ko: "예약 설정", en: "Schedule", ja: "予約設定") } static var schedule: String { pick(ko: "예약 설정", en: "Booking", ja: "予約設定") }
// //
static var publicRoom: String { pick(ko: "공개", en: "Public", ja: "公開") } static var publicRoom: String { pick(ko: "공개", en: "Open", ja: "公開") }
static var privateRoom: String { pick(ko: "비공개", en: "Private", ja: "非公開") } static var privateRoom: String { pick(ko: "비공개", en: "Private", ja: "非公開") }
// //
@@ -582,7 +591,7 @@ enum I18n {
enum CreateContent { enum CreateContent {
static var selectFile: String { pick(ko: "파일 선택", en: "Select file", ja: "ファイル選択") } static var selectFile: String { pick(ko: "파일 선택", en: "Select file", ja: "ファイル選択") }
static var selectTheme: String { pick(ko: "테마 선택", en: "Select theme", ja: "テーマを選択") } static var selectTheme: String { pick(ko: "테마 선택", en: "Select theme", ja: "テーマを選択") }
static var uploadContentDescriptionHint: String { pick(ko: "내용을 입력하세요", en: "Enter a description", ja: "内容を入力してください") } static var uploadContentDescriptionHint: String { pick(ko: "내용을 입력하세요", en: "Enter the details.", ja: "内容を入力してください") }
static var uploadTitle: String { pick(ko: "콘텐츠 업로드", en: "Content upload", ja: "コンテンツのアップロード") } static var uploadTitle: String { pick(ko: "콘텐츠 업로드", en: "Content upload", ja: "コンテンツのアップロード") }
static var uploadDescription: String { static var uploadDescription: String {
pick( pick(
@@ -643,7 +652,7 @@ enum I18n {
enum RankingSort { enum RankingSort {
// / // /
static var revenue: String { pick(ko: "매출", en: "Revenue", ja: "売上高") } static var revenue: String { pick(ko: "매출", en: "Revenue", ja: "売上高") }
static var salesVolume: String { pick(ko: "판매량", en: "Sales", ja: "販売量") } static var salesVolume: String { pick(ko: "판매량", en: "Units", ja: "販売量") }
static var comments: String { pick(ko: "댓글", en: "Comments", ja: "コメント") } static var comments: String { pick(ko: "댓글", en: "Comments", ja: "コメント") }
static var likes: String { pick(ko: "좋아요", en: "Likes", ja: "いいね") } static var likes: String { pick(ko: "좋아요", en: "Likes", ja: "いいね") }
} }
@@ -651,8 +660,8 @@ enum I18n {
enum Tab { enum Tab {
// / // /
static var character: String { pick(ko: "캐릭터", en: "Character", ja: "キャラクター") } static var character: String { pick(ko: "캐릭터", en: "Character", ja: "キャラクター") }
static var work: String { pick(ko: "작품별", en: "Works", ja: "作品別") } static var work: String { pick(ko: "작품별", en: "By Original", ja: "作品別") }
static var talk: String { pick(ko: "", en: "Talk", ja: "トーク") } static var talk: String { pick(ko: "", en: "Chat", ja: "トーク") }
static var workInfo: String { pick(ko: "작품정보", en: "Work info", ja: "作品情報") } static var workInfo: String { pick(ko: "작품정보", en: "Work info", ja: "作品情報") }
static var detail: String { pick(ko: "상세", en: "Details", ja: "詳細") } static var detail: String { pick(ko: "상세", en: "Details", ja: "詳細") }
@@ -666,7 +675,7 @@ enum I18n {
static var unfollow: String { pick(ko: "팔로우 취소", en: "Unfollow", ja: "フォロー解除") } static var unfollow: String { pick(ko: "팔로우 취소", en: "Unfollow", ja: "フォロー解除") }
static var liveOnNow: String { pick(ko: "현재 라이브 중입니다.", en: "Live is currently ongoing.", ja: "現在ライブ配信中です。") } static var liveOnNow: String { pick(ko: "현재 라이브 중입니다.", en: "Live is currently ongoing.", ja: "現在ライブ配信中です。") }
static var cannotReserveOwnLive: String { pick(ko: "내가 만든 라이브는 예약할 수 없습니다.", en: "You cannot reserve your own live.", ja: "自分が作成したライブは予約できません。") } static var cannotReserveOwnLive: String { pick(ko: "내가 만든 라이브는 예약할 수 없습니다.", en: "reserve a live you created is required.", ja: "自分が作成したライブは予約できません。") }
static var enterLiveFailed: String { pick(ko: "라이브에 입장하지 못했습니다.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다.", en: "Could not enter the live.\nIf the problem persists, please contact customer support.", ja: "ライブに入室できませんでした。\n問題が続く場合はカスタマーサポートにお問い合わせください。") } static var enterLiveFailed: String { pick(ko: "라이브에 입장하지 못했습니다.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다.", en: "Could not enter the live.\nIf the problem persists, please contact customer support.", ja: "ライブに入室できませんでした。\n問題が続く場合はカスタマーサポートにお問い合わせください。") }
static var fetchLiveInfoFailed: String { pick(ko: "라이브 정보를 가져오지 못했습니다.\n다시 시도해 주세요.", en: "Failed to fetch live information.\nPlease try again.", ja: "ライブ情報を取得できませんでした。\nもう一度お試しください。") } static var fetchLiveInfoFailed: String { pick(ko: "라이브 정보를 가져오지 못했습니다.\n다시 시도해 주세요.", en: "Failed to fetch live information.\nPlease try again.", ja: "ライブ情報を取得できませんでした。\nもう一度お試しください。") }
static var userBlocked: String { pick(ko: "차단하였습니다.", en: "User has been blocked.", ja: "ブロックしました。") } static var userBlocked: String { pick(ko: "차단하였습니다.", en: "User has been blocked.", ja: "ブロックしました。") }
@@ -749,10 +758,10 @@ enum I18n {
// //
static var genre: String { pick(ko: "장르", en: "Genre", ja: "ジャンル") } static var genre: String { pick(ko: "장르", en: "Genre", ja: "ジャンル") }
static var ageLimit: String { pick(ko: "연령제한", en: "Age rating", ja: "年齢制限") } static var ageLimit: String { pick(ko: "연령제한", en: "Age Restriction", ja: "年齢制限") }
static var writer: String { pick(ko: "작가", en: "Writer", ja: "作家") } static var writer: String { pick(ko: "작가", en: "Writer", ja: "作家") }
static var studio: String { pick(ko: "제작사", en: "Studio", ja: "制作会社") } static var studio: String { pick(ko: "제작사", en: "Produced by", ja: "制作会社") }
static var schedule: String { pick(ko: "연재", en: "Schedule", ja: "連載") } static var schedule: String { pick(ko: "연재", en: "Ongoing", ja: "連載") }
static var releaseDate: String { pick(ko: "출시일", en: "Release date", ja: "リリース日") } static var releaseDate: String { pick(ko: "출시일", en: "Release date", ja: "リリース日") }
// () // ()
@@ -760,9 +769,9 @@ enum I18n {
static var buyLabel: String { pick(ko: "소장", en: "Buy", ja: "購入") } static var buyLabel: String { pick(ko: "소장", en: "Buy", ja: "購入") }
// //
static var ageAll: String { pick(ko: "전체연령가", en: "All ages", ja: "全年齢") } static var ageAll: String { pick(ko: "전체연령가", en: "All", ja: "全年齢") }
static var age19Plus: String { pick(ko: "19세 이상", en: "19+", ja: "成人") } static var age19Plus: String { pick(ko: "19세 이상", en: "19+", ja: "成人") }
static var random: String { pick(ko: "랜덤", en: "Random", ja: "ランダム") } static var random: String { pick(ko: "랜덤", en: "Irregular", ja: "ランダム") }
// //
static func cansUnit(_ value: Int) -> String { static func cansUnit(_ value: Int) -> String {
@@ -865,7 +874,7 @@ enum I18n {
enum TextMessage { enum TextMessage {
// //
static var send: String { static var send: String {
pick(ko: "메시지 보내기", en: "Send message", ja: "メッセージを送る") pick(ko: "메시지 보내기", en: "Send", ja: "メッセージを送る")
} }
// //
@@ -875,12 +884,12 @@ enum I18n {
// //
static var recipientPlaceholder: String { static var recipientPlaceholder: String {
pick(ko: "받는 사람", en: "Recipient", ja: "受信者") pick(ko: "받는 사람", en: "To.", ja: "受信者")
} }
// //
static var selectRecipient: String { static var selectRecipient: String {
pick(ko: "받는 사람을 선택해 주세요.", en: "Please select a recipient.", ja: "受信者を選択してください。") pick(ko: "받는 사람을 선택해 주세요.", en: "Select a recipient.", ja: "受信者を選択してください。")
} }
// / // /

View File

@@ -23,7 +23,7 @@ struct SplashView: View {
.edgesIgnoringSafeArea(.all) .edgesIgnoringSafeArea(.all)
VStack(spacing: 0) { VStack(spacing: 0) {
Text("목소리로 만나는 새로운 세계") Text(I18n.Splash.tagline)
.font(.custom(Font.preBold.rawValue, size: 23)) .font(.custom(Font.preBold.rawValue, size: 23))
.foregroundColor(Color(hex: "263238")) .foregroundColor(Color(hex: "263238"))
@@ -31,7 +31,7 @@ struct SplashView: View {
Spacer() Spacer()
Text("소다라이브") Text(I18n.Splash.brandName)
.font(.custom(Font.preBold.rawValue, size: 21)) .font(.custom(Font.preBold.rawValue, size: 21))
.foregroundColor(.white) .foregroundColor(.white)
} }