diff --git a/SodaLive/Resources/Localizable.xcstrings b/SodaLive/Resources/Localizable.xcstrings index b22d4e2..1379cc3 100644 --- a/SodaLive/Resources/Localizable.xcstrings +++ b/SodaLive/Resources/Localizable.xcstrings @@ -444,7 +444,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "(チャット12件) すぐ会話を開始" + "value": "(チャット12回) すぐに開始" } } } @@ -524,7 +524,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "[登録および利用ガイド]" + "value": "[登録および使用案内]" } } } @@ -620,7 +620,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "* 英字と数字を含む8文字以上" + "value": "* 英数字含む8文字以上" } } } @@ -1155,7 +1155,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "レンタル価格は購入価格の70%に自動設定されます" + "value": "※ レンタル価格は購入価格の70%で自動反映" } } } @@ -1203,7 +1203,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "保管しない受信メッセージは3日後に自動削除されます。" + "value": "※ 保存していない受信メッセージは3日後に自動削除されます。" } } } @@ -1283,7 +1283,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "人気順位は毎週更新されます。" + "value": "※ 人気順位は毎週更新されます。" } } } @@ -1299,7 +1299,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "人気コンテンツの順位は毎週更新されます。" + "value": "※ 人気コンテンツ順位は毎週更新されます。" } } } @@ -1315,7 +1315,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "人気クリエイターの順位は毎週更新されます。" + "value": "※ 人気クリエイター順位は毎週更新されます。" } } } @@ -1331,7 +1331,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "※直近2週間に投稿された新しいASMRです。" + "value": "※ 直近2週間に投稿された新しいASMRです。" } } } @@ -1363,7 +1363,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "※直近2週間に投稿された新しいアラームです。" + "value": "※ 直近2週間に投稿された新しいアラームです。" } } } @@ -1379,7 +1379,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "過去2週間に投稿された新しいコンテンツです。" + "value": "※ 直近2週間に投稿された新しいコンテンツです。" } } } @@ -1395,7 +1395,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "※ コンテンツの最低価格は5CANです" + "value": "※ コンテンツ最低価格は5CANです" } } } @@ -1427,7 +1427,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "アップロード可能なファイルはmp3、aacのみです。" + "value": "※ ファイルはmp3、 aacのみアップロード可能" } } } @@ -1443,7 +1443,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "獲得ポイントは72時間経過後に自動消滅します。" + "value": "※ 獲得ポイントは72時間後に自動消滅します。" } } } @@ -1507,7 +1507,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "+10" + "value": "10" } } } @@ -1539,7 +1539,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "+100" + "value": "100" } } } @@ -1603,7 +1603,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "00:00" + "value": "00:00:00" } } } @@ -1651,7 +1651,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "0.00" + "value": "0" } } } @@ -1667,7 +1667,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "1can以上入力してください" + "value": "1CAN以上入力してください" } } } @@ -1731,7 +1731,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "10can以上入力してください" + "value": "10CAN以上入力してください" } } } @@ -1747,7 +1747,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "18" + "value": "R-18" } } } @@ -1763,7 +1763,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "18+" + "value": "R-18" } } } @@ -1779,7 +1779,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "18歳" + "value": "R-18" } } } @@ -1795,7 +1795,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "成人" + "value": "R-18" } } } @@ -1843,7 +1843,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "AI Cloneはクリエイター情報に基づき会話しますが、すべての情報を完全に反映したり実際の会話と一致しない場合があります。" + "value": "AIクローンはクリエイターのデータを基に会話しますが、完全に再現されない場合があります。" } } } @@ -1971,7 +1971,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "売り切れ" + "value": "Sold Out" } } } @@ -2115,7 +2115,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "個人情報の収集および利用同意" + "value": "個人情報収集および利用同意" } } } @@ -2131,7 +2131,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "プライバシーポリシー" + "value": "個人情報処理方針" } } } @@ -2227,7 +2227,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "投稿登録" + "value": "投稿作成" } } } @@ -2243,7 +2243,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "投稿を通報" + "value": "投稿通報" } } } @@ -2259,7 +2259,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "お支払い方法の選択" + "value": "決済方法選択" } } } @@ -2291,7 +2291,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "お支払いCAN" + "value": "決済CAN" } } } @@ -2307,7 +2307,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "お支払いして入場" + "value": "決済して入室" } } } @@ -2323,7 +2323,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "お支払い金額" + "value": "決済金額" } } } @@ -2355,7 +2355,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "お支払い情報" + "value": "決済情報" } } } @@ -2387,7 +2387,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "お支払いする" + "value": "決済する" } } } @@ -2483,7 +2483,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "カスタマーセンター" + "value": "サポート" } } } @@ -2499,7 +2499,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "カスタマーセンターに問い合わせ" + "value": "サポートへ問い合わせる" } } } @@ -2627,7 +2627,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "興味を選択" + "value": "関心タグ選択" } } } @@ -2691,7 +2691,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "購入条件を確認し、お支払い進行に同意" + "value": "購入条件確認および決済進行同意" } } } @@ -2803,7 +2803,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "マイ保管庫" + "value": "Myライブラリ" } } } @@ -2819,7 +2819,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "マイチャンネルを見る" + "value": "Myチャンネル" } } } @@ -2835,7 +2835,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "マイチャンネルに固定" + "value": "チャンネルに固定" } } } @@ -2851,7 +2851,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "マイチャンネルの固定を解除" + "value": "チャンネル固定解除" } } } @@ -2867,7 +2867,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "マイコンテンツ" + "value": "Myコンテンツ" } } } @@ -2979,7 +2979,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "押してロック解除" + "value": "タップしてアンロック" } } } @@ -2995,7 +2995,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ニックネーム" + "value": "ハンドルネーム" } } } @@ -3011,7 +3011,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ニックネーム変更" + "value": "ハンドルネーム変更" } } } @@ -3027,7 +3027,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ニックネーム変更による被害が継続的に発生しているため、やむなく有料に変更します。" + "value": "ハンドルネーム変更によるトラブル防止のため、変更を有料化いたしました。" } } } @@ -3043,7 +3043,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ニックネームを変更" + "value": "ハンドルネーム変更" } } } @@ -3107,7 +3107,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "別のライブを予約" + "value": "他のライブを予約する" } } } @@ -3123,7 +3123,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "再録音" + "value": "録音やり直し" } } } @@ -3219,7 +3219,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "返信を編集" + "value": "返信修正" } } } @@ -3331,7 +3331,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "チャット設定" + "value": "トーク設定" } } } @@ -3555,7 +3555,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "LIVE" + "value": "ライブ" } } } @@ -3587,7 +3587,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ライブを作成" + "value": "ライブ作成" } } } @@ -3619,7 +3619,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ライブ変更" + "value": "ライブ修正" } } } @@ -3699,7 +3699,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ライブをオープンする" + "value": "ライブ開始" } } } @@ -4131,7 +4131,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "すべての端末でログアウト" + "value": "全端末からログアウト" } } } @@ -4291,7 +4291,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "試聴時間を設定しない場合、冒頭15秒が自動で設定されます。試聴時間に制限はありません。" + "value": "プレビュー時間を設定しない場合、冒頭15秒が自動設定されます。時間制限はありません。" } } } @@ -4339,7 +4339,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "センシティブなコンテンツを見る" + "value": "センシティブなコンテンツ表示" } } } @@ -4483,7 +4483,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "背景画像を変更" + "value": "背景画像の変更" } } } @@ -4563,7 +4563,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "VoiceOn週間チャート" + "value": "ボイスオン週間チャート" } } } @@ -4643,7 +4643,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ボイスオン カスタマーセンター" + "value": "ボイスオンサポート" } } } @@ -4659,7 +4659,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ボイスオンオーディションの利用方法" + "value": "ボイスオンオーディション利用方法" } } } @@ -4707,7 +4707,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ボイスオン会員ではありませんか? 今すぐ登録してください。" + "value": "ボイスオンは初めてですか?今すぐ登録しましょう。" } } } @@ -4803,7 +4803,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "秘密コメント" + "value": "シークレットコメント" } } } @@ -4963,7 +4963,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ユーザーを通報" + "value": "ユーザー通報" } } } @@ -4995,7 +4995,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ユーザーをブロック" + "value": "ユーザーブロック" } } } @@ -5027,7 +5027,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ユーザーのブロック解除" + "value": "ユーザーブロック解除" } } } @@ -5059,7 +5059,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "削除したコンテンツは元に戻せないことを理解しました。" + "value": "削除されたコンテンツは復元できないことを理解しています。" } } } @@ -5107,7 +5107,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "新しい再生リストを作成" + "value": "新しいプレイリスト作成" } } } @@ -5187,7 +5187,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "新しいコンテンツを登録" + "value": "新しいコンテンツを投稿する" } } } @@ -5203,7 +5203,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "新しいコンテンツの追加/削除" + "value": "コンテンツ追加/削除" } } } @@ -5347,7 +5347,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "残高している作品がありません。" + "value": "購入済みの作品がありません!" } } } @@ -5363,7 +5363,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "所有中" + "value": "所持中" } } } @@ -5411,7 +5411,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "変更" + "value": "修正" } } } @@ -5427,7 +5427,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "変更する" + "value": "修正する" } } } @@ -5459,7 +5459,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "スタッフを指定" + "value": "スタッフ指定" } } } @@ -5619,7 +5619,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "開始する" + "value": "スタート" } } } @@ -5651,7 +5651,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "通報制度を乱用するとアカウントに制限がかかる場合があります。\nこのプロフィール写真を通報しますか?" + "value": "通報を乱用した場合、アカウント制限される可能性があります。プロフ画像を通報しますか?" } } } @@ -5699,7 +5699,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "新キャラクター" + "value": "新着キャラ" } } } @@ -5715,7 +5715,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "新規キャラクターをすべて見る" + "value": "新着キャラ一覧" } } } @@ -5827,7 +5827,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "アプリのバージョン情報" + "value": "アプリバージョン情報" } } } @@ -6003,7 +6003,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "予約日付" + "value": "予約日" } } } @@ -6179,7 +6179,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "キャンセル理由を選んでください。サービス改善に活用します。" + "value": "予約キャンセル理由を選択してください。サービス改善の参考にさせていただきます。" } } } @@ -6195,7 +6195,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "予約のキャンセルが完了しました。" + "value": "予約キャンセルが完了しました。" } } } @@ -6307,7 +6307,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "オーディション台本を表示" + "value": "オーディション台本確認" } } } @@ -6403,7 +6403,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "オーディションキャラクター" + "value": "オーディションキャラ" } } } @@ -6419,7 +6419,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "オーディションキャラクター情報" + "value": "オーディションキャラ情報" } } } @@ -6483,7 +6483,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "オープン予定" + "value": "公開予定" } } } @@ -6739,7 +6739,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "として入場" + "value": "で入室" } } } @@ -6963,7 +6963,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "今月の昨日まで" + "value": "今月(昨日まで)" } } } @@ -7075,7 +7075,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "人気キャラクター" + "value": "人気キャラ" } } } @@ -7091,7 +7091,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "人気キャラクターチャット" + "value": "人気キャラチャット" } } } @@ -7283,7 +7283,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "入場する" + "value": "入室する" } } } @@ -7523,7 +7523,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ジャンルの他のキャラクター" + "value": "同ジャンルの他キャラ" } } } @@ -7651,7 +7651,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "すべて" + "value": "全" } } } @@ -7843,7 +7843,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "重複確認" + "value": "重複チェック" } } } @@ -7923,7 +7923,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "これまでの会話がすべて初期化され、新しいキャラクターとして改めて会話を始めます。" + "value": "これまでの会話がすべてリセットされ、新しいキャラとしてトークを再開します。" } } } @@ -8115,7 +8115,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "リスナー " + "value": "リスナー" } } } @@ -8195,7 +8195,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "チャンネルを見る" + "value": "チャンネルへ" } } } @@ -8259,7 +8259,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "合計" + "value": "全" } } } @@ -8387,7 +8387,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "最大人数 999人" + "value": "最大999人" } } } @@ -8435,7 +8435,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "初回1回のみ無料で変更でき、その後は有料になります。" + "value": "初回1回のみ無料で変更可能で、それ以降は有料となります。" } } } @@ -8483,7 +8483,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "おすすめキャラクター" + "value": "おすすめキャラ" } } } @@ -8707,7 +8707,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "CAN履歴を表示" + "value": "CAN履歴を確認する" } } } @@ -8771,7 +8771,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "コンテンツ登録" + "value": "コンテンツ投稿" } } } @@ -8803,7 +8803,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "コンテンツ保管庫" + "value": "コンテンツ保管箱" } } } @@ -8883,7 +8883,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "アップロード" + "value": "コンテンツ投稿" } } } @@ -8899,7 +8899,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "アップロード通知" + "value": "コンテンツ投稿通知" } } } @@ -9171,7 +9171,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "統合お支払い" + "value": "統合決済" } } } @@ -9331,7 +9331,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ファントーク" + "value": "ファンTalk" } } } @@ -9347,7 +9347,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ファントークをすべて見る" + "value": "ファンTalkをすべて見る" } } } @@ -9379,7 +9379,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "展開" + "value": "もっと見る" } } } @@ -9443,7 +9443,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "ポイントレンタルコンテンツ" + "value": "ポイントレンタル・コンテンツ" } } } @@ -9491,7 +9491,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "プロフィール写真を通報" + "value": "プロフ画像通報" } } } @@ -9523,7 +9523,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "プロフィールを通報" + "value": "プロフィール通報" } } } @@ -9667,7 +9667,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "該当コンテンツは完売しました。" + "value": "このコンテンツは完売しました。" } } } @@ -9699,7 +9699,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "現在のライブ ハートランキング" + "value": "現在のライブ・ハートランキング" } } } @@ -9715,7 +9715,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "現在のライブ 支援ランキング" + "value": "現在のライブ・ギフトランキング" } } } @@ -9859,7 +9859,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "後援" + "value": "ギフト" } } } @@ -9875,7 +9875,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "後援履歴" + "value": "ギフト履歴" } } } @@ -9891,7 +9891,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "後援履歴がありません。" + "value": "ギフト履歴がありません。" } } } @@ -9939,7 +9939,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "後援する" + "value": "ギフトする" } } } @@ -9955,7 +9955,7 @@ "ja": { "stringUnit": { "state": "translated", - "value": "携帯電話お支払い" + "value": "携帯電話決済" } } } diff --git a/SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/Report/CreatorCommunityReportView.swift b/SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/Report/CreatorCommunityReportView.swift index 88bb141..59f1c14 100644 --- a/SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/Report/CreatorCommunityReportView.swift +++ b/SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/Report/CreatorCommunityReportView.swift @@ -12,16 +12,7 @@ struct CreatorCommunityReportView: View { let confirmAction: (String) -> Void @State private var selectedIndex: Int? = nil - let reasons = [ - "원치 않는 상업성 콘텐츠 또는 스팸", - "포르노 또는 음란물", - "아동 학대", - "증오심 표현 또는 노골적인 폭력", - "테러 조장", - "괴롭힘 또는 폭력", - "자살 또는 자해", - "잘못된 정보" - ] + let reasons = I18n.Report.reasons var body: some View { ZStack { @@ -31,7 +22,7 @@ struct CreatorCommunityReportView: View { .onTapGesture { isShowing = false } VStack(spacing: 13.3) { - Text("게시물 신고") + Text(I18n.Report.postReportTitle) .font(.custom(Font.medium.rawValue, size: 16.7)) .foregroundColor(Color(hex: "eeeeee")) @@ -59,14 +50,14 @@ struct CreatorCommunityReportView: View { HStack(spacing: 26.7) { Spacer() - Text("취소") + Text(I18n.Common.cancel) .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color(hex: "9970ff")) .onTapGesture { isShowing = false } - Text("신고") + Text(I18n.Report.reportAction) .font(.custom(Font.medium.rawValue, size: 13.3)) .foregroundColor(Color(hex: "9970ff")) .onTapGesture { diff --git a/SodaLive/Sources/I18n/I18n.swift b/SodaLive/Sources/I18n/I18n.swift index 9b65279..d03dc39 100644 --- a/SodaLive/Sources/I18n/I18n.swift +++ b/SodaLive/Sources/I18n/I18n.swift @@ -27,12 +27,12 @@ enum I18n { } static var unlock: String { - pick(ko: "잠금해제", en: "Unlock", ja: "解除する") + pick(ko: "잠금해제", en: "Unlock", ja: "アンロック") } // 대화 초기화 다이얼로그 static var resetTitle: String { - pick(ko: "대화 초기화", en: "Reset", ja: "会話をリセット") + pick(ko: "대화 초기화", en: "Reset", ja: "トークをリセット") } static var resetDescription: String { @@ -67,7 +67,7 @@ enum I18n { pick( ko: "크리에이터의 다른 콘텐츠", en: "More from this creator", - ja: "このクリエイターの他のコンテンツ" + ja: "クリエイターの他コンテンツ" ) } @@ -75,7 +75,7 @@ enum I18n { pick( ko: "테마의 다른 콘텐츠", en: "More in this theme", - ja: "このテーマの他のコンテンツ" + ja: "このテーマの他コンテンツ" ) } @@ -83,7 +83,7 @@ enum I18n { pick( ko: "고정 한도 도달", en: "Pin limit reached", - ja: "固定上限に到達" + ja: "固定上限到達" ) } @@ -188,24 +188,91 @@ enum I18n { ) } - static var roulette1: String { pick(ko: "룰렛 1", en: "Roulette 1", ja: "ルーレット1") } - static var roulette2: String { pick(ko: "룰렛 2", en: "Roulette 2", ja: "ルーレット2") } - static var roulette3: String { pick(ko: "룰렛 3", en: "Roulette 3", ja: "ルーレット3") } + static var roulette1: String { pick(ko: "룰렛 1", en: "Roulette 1", ja: "ルーレット 1") } + static var roulette2: String { pick(ko: "룰렛 2", en: "Roulette 2", ja: "ルーレット 2") } + static var roulette3: String { pick(ko: "룰렛 3", en: "Roulette 3", ja: "ルーレット 3") } 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 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: "ポイント") } } + enum Report { + static var postReportTitle: String { + pick(ko: "게시물 신고", en: "Report post", ja: "投稿通報") + } + + static var reportAction: String { + pick(ko: "신고", en: "Report", ja: "報告する") + } + + static var reasons: [String] { + [ + reasonSpam, + reasonAdult, + reasonChildAbuse, + reasonHateOrViolence, + reasonTerrorism, + reasonHarassment, + reasonSelfHarm, + reasonMisinformation + ] + } + + static var reasonSpam: String { + pick( + ko: "원치 않는 상업성 콘텐츠 또는 스팸", + en: "Unwanted commercial content or spam", + ja: "望まない商業コンテンツまたはスパム" + ) + } + + static var reasonAdult: String { + pick( + ko: "포르노 또는 음란물", + en: "Pornography or sexually explicit content", + ja: "ポルノまたはわいせつ物" + ) + } + + static var reasonChildAbuse: String { + pick(ko: "아동 학대", en: "Child abuse", ja: "児童虐待") + } + + static var reasonHateOrViolence: String { + pick( + ko: "증오심 표현 또는 노골적인 폭력", + en: "Hate speech or graphic violence", + ja: "憎悪表現または過度な暴力表現" + ) + } + + static var reasonTerrorism: String { + pick(ko: "테러 조장", en: "Promotion of terrorism", ja: "テロ助長") + } + + static var reasonHarassment: String { + pick(ko: "괴롭힘 또는 폭력", en: "Harassment or violence", ja: "嫌がらせまたは暴力") + } + + static var reasonSelfHarm: String { + pick(ko: "자살 또는 자해", en: "Suicide or self-harm", ja: "自殺または自傷行為") + } + + static var reasonMisinformation: String { + pick(ko: "잘못된 정보", en: "Misinformation", ja: "誤情報") + } + } + enum Splash { static var tagline: String { pick( ko: "목소리로 만나는 새로운 세계", en: "A new world you meet by voice", - ja: "声で出会う新しい世界" + ja: "声でつながる新しいワールド" ) } @@ -298,7 +365,7 @@ enum I18n { pick( ko: "닉네임을 변경하고 싶어서", en: "I want to change my nickname", - ja: "ニックネームを変更したいから" + ja: "ハンドルネームを変えたいから" ) } @@ -306,7 +373,7 @@ enum I18n { pick( ko: "다른 사용자와의 다툼이 있어서", en: "Conflict with another user", - ja: "他のユーザーとトラブルがあったから" + ja: "他ユーザーとのトラブルがあったから" ) } @@ -314,7 +381,7 @@ enum I18n { pick( ko: "이용이 불편하고 장애가 많아서", en: "Inconvenient to use and many errors", - ja: "使いにくく障害が多いから" + ja: "使いにくく不具合が多いから" ) } @@ -322,7 +389,7 @@ enum I18n { pick( ko: "서비스 운영이 마음에 들지 않아서", en: "Dissatisfied with service operations", - ja: "サービス運営が気に入らないから" + ja: "運営が気に入らないから" ) } @@ -330,7 +397,7 @@ enum I18n { pick( ko: "다른 서비스가 더 좋아서", en: "Another service is better", - ja: "他のサービスの方が良いから" + ja: "他サービスの方が良いから" ) } @@ -354,7 +421,7 @@ enum I18n { pick( ko: "원하는 콘텐츠나 크리에이터가 없어서", en: "I can't find desired content or creators", - ja: "望むコンテンツやクリエイターがいないから" + ja: "好きなコンテンツやクリエイターがいないから" ) } @@ -378,7 +445,7 @@ enum I18n { static var selectReasonRequired: String { pick( ko: "계정을 삭제하려는 이유를 선택해 주세요.", en: "select a reason for deleting your account.", - ja: "アカウント削除の理由を選択してください。" + ja: "アカウント削除理由を選択してください。" ) } @@ -403,7 +470,7 @@ enum I18n { enum Charge { static var inAppPurchase: String { - pick(ko: "인 앱 결제", en: "In-app purchase", ja: "アプリ内お支払い") + pick(ko: "인 앱 결제", en: "In-app purchase", ja: "アプリ内課金") } } @@ -434,7 +501,7 @@ enum I18n { // 섹션 헤더 static var guideHeader: String { - pick(ko: "[등록 및 사용안내]", en: "[Registration and usage]", ja: "[登録および利用ガイド]") + pick(ko: "[등록 및 사용안내]", en: "[Registration and usage]", ja: "[登録および使用案内]") } static var cautionHeader: String { @@ -518,12 +585,12 @@ enum I18n { } enum MissionMenu { - static var menu1: String { pick(ko: "메뉴 1", en: "Menu 1", ja: "メニュー1") } - static var menu2: String { pick(ko: "메뉴 2", en: "Menu 2", ja: "メニュー2") } - static var menu3: String { pick(ko: "메뉴 3", en: "Menu 3", ja: "メニュー3") } + static var menu1: String { pick(ko: "메뉴 1", en: "Menu 1", ja: "メニュー 1") } + static var menu2: String { pick(ko: "메뉴 2", en: "Menu 2", ja: "メニュー 2") } + static var menu3: String { pick(ko: "메뉴 3", en: "Menu 3", ja: "メニュー 3") } static var needMenu1First: String { pick(ko: "메뉴 1을 먼저 설정하세요", en: "Please set Menu 1 first", ja: "まずメニュー1を設定してください") } - static var needMenu1And2First: String { pick(ko: "메뉴 1과 메뉴 2를 먼저 설정하세요", en: "Please set Menu 1 and Menu 2 first", ja: "まずメニュー1とメニュー2を設定してください") } + static var needMenu1And2First: String { pick(ko: "메뉴 1과 메뉴 2를 먼저 설정하세요", en: "Please set Menu 1 and Menu 2 first", ja: "メニュー1と2を先に設定してください") } } enum CreateLive { @@ -533,7 +600,7 @@ enum I18n { } // 시간 설정 - static var startNow: String { pick(ko: "지금 즉시", en: "Now", ja: "今すぐ開始") } + static var startNow: String { pick(ko: "지금 즉시", en: "Now", ja: "今すぐ") } static var schedule: String { pick(ko: "예약 설정", en: "Booking", ja: "予約設定") } // 공개 범위 @@ -546,7 +613,7 @@ enum I18n { // 연령 제한 static var allAges: String { pick(ko: "전체 연령", en: "All ages", ja: "全年齢") } - static var over19: String { pick(ko: "19세 이상", en: "19+", ja: "成人") } + static var over19: String { pick(ko: "19세 이상", en: "19+", ja: "R-18") } // 최근 데이터 관련 토스트/알림 static var recentDataLoaded: String { pick(ko: "최근데이터를 불러왔습니다.", en: "Recent data has been loaded.", ja: "最新データを読み込みました。") } @@ -557,7 +624,7 @@ enum I18n { static var selectCoverImage: String { pick(ko: "커버이미지를 선택해주세요.", en: "Please select a cover image.", ja: "カバー画像を選択してください。") } static var enterTitle: String { pick(ko: "제목을 입력해 주세요.", en: "Please enter a title.", ja: "タイトルを入力してください。") } static var enterNoticeMin5: String { pick(ko: "공지를 5자 이상 입력해주세요.", en: "Please enter at least 5 characters for the notice.", ja: "お知らせは5文字以上で入力してください。") } - static var enterPeopleRange: String { pick(ko: "인원을 3~999명 사이로 입력해주세요.", en: "Please enter the number of people between 3 and 999.", ja: "参加人数は3〜999の範囲で入力してください。") } + static var enterPeopleRange: String { pick(ko: "인원을 3~999명 사이로 입력해주세요.", en: "Please enter the number of people between 3 and 999.", ja: "人数を3~999名の間で入力してください。") } static var enterPassword6: String { pick(ko: "방 입장 비밀번호 6자리를 입력해 주세요.", en: "Please enter a 6-digit room entry password.", ja: "入室パスワード(6桁)を入力してください。") } } @@ -602,8 +669,8 @@ enum I18n { static var backgroundOn: String { pick(ko: "배경 ON", en: "Back ON", ja: "背景 ON") } static var backgroundOff: String { pick(ko: "배경 OFF", en: "Back OFF", ja: "背景 OFF") } static var notice: String { pick(ko: "공지", en: "Notice", ja: "お知らせ") } - static var menuPan: String { pick(ko: "메뉴판", en: "Menu", ja: "メニュー") } - static var participants: String { pick(ko: "참여자", en: "Participants", ja: "リスナー ") } + static var menuPan: String { pick(ko: "메뉴판", en: "Menu", ja: "メニュー表") } + static var participants: String { pick(ko: "참여자", en: "Participants", ja: "リスナー") } } enum LiveCancel { @@ -626,9 +693,9 @@ enum I18n { enum CreateContent { 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 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 { pick( ko: "등록한 콘텐츠가 업로드 중입니다.\n콘텐츠 등록이 완료되면 알림을 보내드립니다.\n이 페이지를 나가도 콘텐츠는 자동으로 등록됩니다.", @@ -656,7 +723,7 @@ enum I18n { // 연령 제한 static var allAges: String { pick(ko: "전체 연령", en: "All ages", ja: "全年齢") } - static var over19: String { pick(ko: "19세 이상", en: "19+", ja: "成人") } + static var over19: String { pick(ko: "19세 이상", en: "19+", ja: "R-18") } // 댓글 가능 여부 static var commentAllowed: String { pick(ko: "댓글 가능", en: "Comments allowed", ja: "コメント可") } @@ -682,7 +749,7 @@ enum I18n { } enum Category { - static var all: String { pick(ko: "전체", en: "All", ja: "すべて") } + static var all: String { pick(ko: "전체", en: "All", ja: "全") } } enum RankingSort { @@ -711,16 +778,16 @@ enum I18n { static var unfollow: String { pick(ko: "팔로우 취소", en: "Unfollow", ja: "フォロー解除") } static var liveOnNow: String { pick(ko: "현재 라이브 중입니다.", en: "Live is currently ongoing.", ja: "現在ライブ配信中です。") } - static var cannotReserveOwnLive: String { pick(ko: "내가 만든 라이브는 예약할 수 없습니다.", en: "reserve a live you created is required.", 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 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 userUnblocked: String { pick(ko: "차단이 해제 되었습니다.", en: "User has been unblocked.", ja: "ブロックを解除しました。") } static var shareLinkCreateFailed: String { pick(ko: "공유링크를 생성하지 못했습니다.\n다시 시도해 주세요.", en: "Failed to create a share link.\nPlease try again.", ja: "共有リンクを作成できませんでした。\nもう一度お試しください。") } - static var cheersDeleteTitle: String { pick(ko: "응원글 삭제", en: "Delete Cheer", ja: "応援メッセージを削除") } + static var cheersDeleteTitle: String { pick(ko: "응원글 삭제", en: "Delete Cheer", ja: "応援削除") } - static var liveHeader: String { pick(ko: "라이브", en: "Live", ja: "LIVE") } + static var liveHeader: String { pick(ko: "라이브", en: "Live", ja: "ライブ") } static var rouletteSettings: String { pick(ko: "룰렛 설정", en: "Roulette settings", ja: "ルーレット設定") } static var menuSettings: String { pick(ko: "메뉴 설정", en: "Menu settings", ja: "メニュー設定") } static var communityHeader: String { pick(ko: "커뮤니티", en: "Community", ja: "コミュニティ") } @@ -747,7 +814,7 @@ enum I18n { static var reservePaymentConfirmTitle: String { pick(ko: "결제 후 예약하기", en: "Pay and reserve", ja: "決済して予約") } - static var paidLiveEnterTitle: String { pick(ko: "유료 라이브 입장", en: "Enter paid live", ja: "有料ライブに入場") } + static var paidLiveEnterTitle: String { pick(ko: "유료 라이브 입장", en: "Enter paid live", ja: "有料ライブ入室") } static func paidLiveEnterDesc(_ price: Int) -> String { pick(ko: "\(price)캔을 차감하고\n라이브에 입장 하시겠습니까?", en: "\(price) cans will be used.\nDo you want to enter the live?", ja: "\(price)缶が消費されます。\nライブに入場しますか?") } @@ -806,7 +873,7 @@ enum I18n { // 값 표기 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: "R-18") } static var random: String { pick(ko: "랜덤", en: "Irregular", ja: "ランダム") } // 단위 및 포맷 @@ -852,23 +919,23 @@ enum I18n { // 마이페이지 > 프로필 수정 내 소셜 링크 섹션 enum ProfileUpdate { // 라벨 - static var instagram: String { pick(ko: "인스타그램", en: "Instagram", ja: "インスタグラム") } + static var instagram: String { pick(ko: "인스타그램", en: "Instagram", ja: "Instagram") } static var youtube: String { pick(ko: "유튜브", en: "YouTube", ja: "YouTube") } static var website: String { pick(ko: "웹사이트", en: "Website", ja: "ウェブサイト") } static var blog: String { pick(ko: "블로그", en: "Blog", ja: "ブログ") } // 플레이스홀더 static var instagramUrlPlaceholder: String { - pick(ko: "인스타그램 URL", en: "Instagram URL", ja: "インスタグラムURL") + pick(ko: "인스타그램 URL", en: "Instagram URL", ja: "Instagram URL") } static var youtubeUrlPlaceholder: String { pick(ko: "유튜브 URL", en: "YouTube URL", ja: "YouTubeのURL") } static var websiteUrlPlaceholder: String { - pick(ko: "웹사이트 URL", en: "Website URL", ja: "ウェブサイトのURL") + pick(ko: "웹사이트 URL", en: "Website URL", ja: "ウェブサイト URL") } static var blogUrlPlaceholder: String { - pick(ko: "블로그 URL", en: "Blog URL", ja: "ブログのURL") + pick(ko: "블로그 URL", en: "Blog URL", ja: "ブログ URL") } // 소개글 입력 플레이스홀더 @@ -891,7 +958,7 @@ enum I18n { pick(ko: "비밀번호가 일치하지 않습니다.", en: "Passwords do not match.", ja: "パスワードが一致しません。") } static var passwordRuleHint: String { - pick(ko: "영문, 숫자 포함 8자 이상의 비밀번호를 입력해 주세요.", en: "Enter a password of at least 8 characters with letters and numbers.", ja: "英字と数字を含む8文字以上のパスワードを入力してください。") + pick(ko: "영문, 숫자 포함 8자 이상의 비밀번호를 입력해 주세요.", en: "Enter a password of at least 8 characters with letters and numbers.", ja: "英数字を含む8文字以上のパスワードを入力してください。") } static var passwordUpdated: String { pick(ko: "비밀번호가 변경되었습니다.", en: "Password has been changed.", ja: "パスワードが変更されました。")