feat(i18n): 탐색 프로필 하드코딩 문구를 I18n 키로 통일한다

This commit is contained in:
Yu Sung
2026-04-01 14:40:37 +09:00
parent bceec46ebc
commit 038d66e363
39 changed files with 599 additions and 247 deletions

View File

@@ -2651,6 +2651,328 @@ If you block this user, the following features will be restricted.
}
}
enum Explorer {
static var channel: String {
pick(ko: "채널", en: "Channel", ja: "チャンネル")
}
static var searchChannelPlaceholder: String {
pick(ko: "채널명을 입력해 보세요", en: "Search channel name", ja: "チャンネル名を入力してください")
}
static var searchEmptyResult: String {
pick(ko: "검색 결과가 없습니다.", en: "No search results.", ja: "検索結果がありません。")
}
static var rankingWeeklyUpdateNotice: String {
pick(ko: "※ 인기 크리에이터의 순위는 매주 업데이트됩니다.", en: "※ Popular creator rankings are updated weekly.", ja: "※ 人気クリエイターのランキングは毎週更新されます。")
}
static var communityTitle: String {
pick(ko: "커뮤니티", en: "Community", ja: "コミュニティ")
}
static var viewMore: String {
pick(ko: "더보기", en: "More", ja: "もっと見る")
}
static var secretComment: String {
pick(ko: "비밀댓글", en: "Secret comment", ja: "秘密コメント")
}
static var commentInputPlaceholder: String {
pick(ko: "댓글을 입력해 보세요.", en: "Enter a comment.", ja: "コメントを入力してください。")
}
static var replyTitle: String {
pick(ko: "답글", en: "Replies", ja: "返信")
}
static var replyWrite: String {
pick(ko: "답글 쓰기", en: "Write reply", ja: "返信を書く")
}
static func replyCount(_ count: Int) -> String {
pick(ko: "답글 \(count)", en: "\(count) replies", ja: "返信\(count)")
}
static var edit: String {
pick(ko: "수정", en: "Edit", ja: "編集")
}
static var report: String {
pick(ko: "신고", en: "Report", ja: "通報")
}
static var reportAction: String {
pick(ko: "신고하기", en: "Report", ja: "通報する")
}
static var noChanges: String {
pick(ko: "변경사항이 없습니다.", en: "No changes.", ja: "変更事項がありません。")
}
static var inputContent: String {
pick(ko: "내용을 입력하세요", en: "Enter content.", ja: "内容を入力してください。")
}
static var inputContentWithPeriod: String {
pick(ko: "내용을 입력하세요.", en: "Enter content.", ja: "内容を入力してください。")
}
static func minContentLength(_ count: Int) -> String {
pick(ko: "내용을 \(count)자 이상 입력해 주세요.", en: "Please enter at least \(count) characters.", ja: "内容を\(count)文字以上入力してください。")
}
static var deleted: String {
pick(ko: "삭제되었습니다", en: "Deleted.", ja: "削除されました。")
}
static var imageLoadFailed: String {
pick(ko: "이미지를 로드하지 못했습니다.", en: "Could not load the image.", ja: "画像を読み込めませんでした。")
}
static var postCreated: String {
pick(ko: "게시물이 등록되었습니다.", en: "Post has been created.", ja: "投稿が登録されました。")
}
static var postUpdated: String {
pick(ko: "게시물이 수정되었습니다.", en: "Post has been updated.", ja: "投稿が修正されました。")
}
static var minPriceFiveCans: String {
pick(ko: "최소금액은 5캔 입니다.", en: "The minimum price is 5 cans.", ja: "最低金額は5canです。")
}
static var pinRelease: String {
pick(ko: "고정 해제", en: "Unpin", ja: "固定解除")
}
static var pinToTop: String {
pick(ko: "최상단에 고정", en: "Pin to top", ja: "最上部に固定")
}
static func viewPostWithCans(_ can: Int) -> String {
pick(ko: "\(can)캔으로 게시글 보기", en: "View post with \(can) cans", ja: "\(can)canで投稿を見る")
}
static var postRegister: String {
pick(ko: "게시물 등록", en: "Create post", ja: "投稿登録")
}
static var postRegisterDescription: String {
pick(ko: "게시 후에 게시물이 여기에 표시되고\n커뮤니티에 공개됩니다.", en: "After posting, your post appears here\nand is published to the community.", ja: "投稿後、ここに表示され\nコミュニティに公開されます。")
}
static var postWriteTitle: String {
pick(ko: "게시글 등록", en: "Create post", ja: "投稿登録")
}
static var postModifyTitle: String {
pick(ko: "게시글 수정", en: "Edit post", ja: "投稿修正")
}
static var imageTitle: String {
pick(ko: "이미지", en: "Image", ja: "画像")
}
static var imageOptionalNotice: String {
pick(ko: "등록할 이미지가 없으면 이미지 없이 게시글만 등록 하셔도 됩니다.", en: "If there is no image to upload, you can post without an image.", ja: "登録する画像がない場合、画像なしで投稿できます。")
}
static var contentTitle: String {
pick(ko: "내용", en: "Content", ja: "内容")
}
static var contentCharacterUnit: String {
pick(ko: "", en: "", ja: "文字")
}
static var max500Chars: String {
pick(ko: " / 최대 500자", en: " / up to 500 chars", ja: " / 最大500文字")
}
static var commentAvailability: String {
pick(ko: "댓글 가능 여부", en: "Comment availability", ja: "コメント可否")
}
static var ageRestriction: String {
pick(ko: "연령 제한", en: "Age restriction", ja: "年齢制限")
}
static var priceSetting: String {
pick(ko: "가격 설정", en: "Price setting", ja: "価格設定")
}
static var close: String {
pick(ko: "닫기", en: "Close", ja: "閉じる")
}
static var register: String {
pick(ko: "등록", en: "Register", ja: "登録")
}
static var modify: String {
pick(ko: "수정", en: "Edit", ja: "編集")
}
static var recordingDefaultFileName: String {
pick(ko: "녹음", en: "Recording", ja: "録音")
}
static var recordingTitle: String {
pick(ko: "음성녹음", en: "Voice recording", ja: "音声録音")
}
static var recordAgain: String {
pick(ko: "다시 녹음", en: "Record again", ja: "再録音")
}
static var recordingComplete: String {
pick(ko: "녹음완료", en: "Done recording", ja: "録音完了")
}
static var recordingPermissionDenied: String {
pick(ko: "권한을 허용하지 않으시면 음성녹음을 하실 수 없습니다.", en: "Voice recording is unavailable without permission.", ja: "権限を許可しないと音声録音を利用できません。")
}
static var recordingFileCreateFailed: String {
pick(ko: "녹음파일을 생성하지 못했습니다.\n다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다.", en: "Could not create the recording file.\nPlease try again.\nIf the issue persists, contact customer support.", ja: "録音ファイルを作成できませんでした。\nもう一度お試しください。\n問題が続く場合はカスタマーサポートにお問い合わせください。")
}
static var audioRecordingTitle: String {
pick(ko: "오디오 녹음", en: "Audio recording", ja: "オーディオ録音")
}
static var audioRecordingMax3Minutes: String {
pick(ko: "※ 오디오 녹음은 최대 3분입니다", en: "※ Audio recording is limited to 3 minutes.", ja: "※ オーディオ録音は最大3分です。")
}
static var fanTalkTitle: String {
pick(ko: "팬 Talk", en: "Fan Talk", ja: "ファントーク")
}
static var fanTalkAllTitle: String {
pick(ko: "팬 Talk 전체보기", en: "All Fan Talk", ja: "ファントーク一覧")
}
static var cheerTitle: String {
pick(ko: "응원", en: "Cheer", ja: "応援")
}
static var cheerInputPlaceholder: String {
pick(ko: "응원댓글을 입력하세요", en: "Enter a cheer comment", ja: "応援コメントを入力してください")
}
static var cheerEmpty: String {
pick(ko: "응원이 없습니다.\n\n처음으로 응원을 해보세요!", en: "No cheers yet.\n\nBe the first to cheer!", ja: "応援がありません。\n\n最初の応援をしてみましょう!")
}
static var cheerReplyPlaceholder: String {
pick(ko: "응원댓글에 답글을 남겨보세요!", en: "Leave a reply to this cheer!", ja: "応援コメントに返信してみましょう!")
}
static var replyEdit: String {
pick(ko: "답글 수정", en: "Edit reply", ja: "返信を編集")
}
static var seriesTitle: String {
pick(ko: "시리즈", en: "Series", ja: "シリーズ")
}
static var channelIntroduceTitle: String {
pick(ko: "채널 소개", en: "Channel intro", ja: "チャンネル紹介")
}
static var donationRankingTitle: String {
pick(ko: "후원랭킹", en: "Donation ranking", ja: "後援ランキング")
}
static var donationRankingAllTitle: String {
pick(ko: "후원랭킹 전체보기", en: "All donation rankings", ja: "後援ランキング一覧")
}
static var donationRankActivation: String {
pick(ko: "채널에 후원랭킹 활성화", en: "Enable donation ranking on channel", ja: "チャンネルで後援ランキングを有効化")
}
static var donationRankActivationNotice: String {
pick(ko: "※ 비활성화하면 채널 내 후원랭킹이 표시되지 않으며,\n라이브 중에도 후원랭킹에 따른 뱃지가 반영되지 않습니다.", en: "※ If disabled, donation ranking is hidden in your channel, and ranking badges are not reflected during live.", ja: "※ 無効にするとチャンネル内に後援ランキングが表示されず、ライブ中のランキングバッジも反映されません。")
}
static var today: String {
pick(ko: "오늘", en: "Today", ja: "今日")
}
static var lastWeek: String {
pick(ko: "지난주", en: "Last week", ja: "先週")
}
static var thisMonthUntilYesterday: String {
pick(ko: "이번 달 어제까지", en: "This month until yesterday", ja: "今月(昨日まで)")
}
static var canUnitWithSpace: String {
pick(ko: "", en: " cans", ja: " can")
}
static var canUnitCompact: String {
pick(ko: "", en: "cans", ja: "can")
}
static func canWithSpace(_ can: Int) -> String {
pick(ko: "\(can)", en: "\(can) cans", ja: "\(can)can")
}
static var myContent: String {
pick(ko: "내 콘텐츠", en: "My content", ja: "マイコンテンツ")
}
static var content: String {
pick(ko: "콘텐츠", en: "Content", ja: "コンテンツ")
}
static var createNewContent: String {
pick(ko: "새로운 콘텐츠 등록하기", en: "Create new content", ja: "新しいコンテンツを登録")
}
static func ownedPercentage(_ percentage: Int) -> String {
pick(ko: "\(percentage)% 보유중", en: "\(percentage)% owned", ja: "\(percentage)%保有中")
}
static var noOwnedContent: String {
pick(ko: "소장 중인 작품이 없어요!", en: "No owned works yet!", ja: "所蔵中の作品がありません!")
}
static func totalContentCount(_ count: Int) -> String {
pick(ko: "\(count)", en: "\(count)", ja: "\(count)")
}
static func month(_ value: String) -> String {
pick(ko: "\(value)", en: "\(value)", ja: "\(value)")
}
static var reservationDone: String {
pick(ko: "예약완료", en: "Reserved", ja: "予約完了")
}
static var activityLiveCount: String {
pick(ko: "라이브\n횟수", en: "Live\ncount", ja: "ライブ\n回数")
}
static var activityLiveTime: String {
pick(ko: "라이브\n시간", en: "Live\ntime", ja: "ライブ\n時間")
}
static var activityLiveParticipants: String {
pick(ko: "라이브\n참여자", en: "Live\nparticipants", ja: "ライブ\n参加者")
}
static var activityRegisteredContent: String {
pick(ko: "등록\n콘텐츠", en: "Registered\ncontent", ja: "登録\nコンテンツ")
}
}
enum Dialog {
enum ApplyAuditionComplete {
static var thankYouDescription: String {