docs(i18n): 일본어 리소스 반영 계획을 추가한다
This commit is contained in:
307
docs/20260811_일본어_string_resource_반영/kr_jp_string_resource.csv
Normal file
307
docs/20260811_일본어_string_resource_반영/kr_jp_string_resource.csv
Normal file
@@ -0,0 +1,307 @@
|
||||
,KR,JP,,,,
|
||||
,홈,ホーム,,,,
|
||||
,콘텐츠,コンテンツ,,,,
|
||||
,대화,トーク,,,,
|
||||
,마이,マイページ,,,,
|
||||
,추천,おすすめ,,,,
|
||||
,랭킹,ランキング,,,,
|
||||
,팔로잉,フォロー中,,,,
|
||||
,전체,すべて,,,,
|
||||
,방금 활동한 크리에이터,最近活動したクリエイター,,,,
|
||||
,최근 데뷔한 크리에이터,新着クリエイター,,,,
|
||||
,처음부터 함께 성장!,今から推せる,,,,
|
||||
,크리에이터와 이야기를 나눠요!,クリエイターと話す,,,,
|
||||
,추천 필모그래피,おすすめフィルモグラフィー,,,,
|
||||
,또 다른 모습,写真集,,,,
|
||||
,{{장르}}의 크리에이터,{{ジャンル}}のクリエイター,,,,
|
||||
,최근 응원이 많은 크리에이터,最近応援の多いクリエイター,,,,
|
||||
,인기 커뮤니티,人気コミュニティ,,,,
|
||||
,주간 인기,週間人気,,,,
|
||||
,지금 뜨는 중,急上昇,,,,
|
||||
,남성 인기,男性人気,,,,
|
||||
,여성 인기,女性人気,,,,
|
||||
,최근 대화,最近のトーク,,,,
|
||||
,이달의 스케줄,今月のスケジュール,,,,
|
||||
,최근 소식,最新情報,,,,
|
||||
,{{크리에이터 이름}}님이 이번 주 랭킹 n위에 올랐어요!,{{크리에이터 이름}}が今週のランキングでn位にランクイン!,,,,
|
||||
,아직 팔로우한 크리에이터가 없어요. 관심 있는 크리에이터를 팔로우해 보세요.,"まだフォローしているクリエイターがいません。
|
||||
気になるクリエイターをフォローしてみましょう。",,,,
|
||||
,찾아보기,探す,,,,
|
||||
,오직 보이스온에서만!,VOICE ON限定,,,,
|
||||
,새로 올라온 오디오,新着オーディオ,,,,
|
||||
,추천 시리즈,おすすめシリーズ,,,,
|
||||
,무료 오디오,無料オーディオ,,,,
|
||||
,포인트 오디오,ポイントオーディオ,,,,
|
||||
,최근 댓글이 많은 오디오,最近コメントの多いオーディオ,,,,
|
||||
,{{키워드}}의 오디오,{{キーワード}}のオーディオ,,,,
|
||||
,추천 오디오,おすすめオーディオ,,,,
|
||||
,매출,売上,,,,
|
||||
,판매량,販売数,,,,
|
||||
,댓글수,コメント数,,,,
|
||||
,좋아요,いいね,,,,
|
||||
,오디오,オーディオ,,,,
|
||||
,시리즈,シリーズ,,,,
|
||||
,오리지널,オリジナル,,,,
|
||||
,무료,無料,,,,
|
||||
,포인트,ポイント,,,,
|
||||
,화보,フォト,,,,
|
||||
,최신순,最新順,,,,
|
||||
,추천순,おすすめ順,,,,
|
||||
,인기순,人気順,,,,
|
||||
,높은 가격순,高い順,,,,
|
||||
,낮은 가격순,安い順,,,,
|
||||
,소장순,保有順,,,,
|
||||
,팔로우,フォロー,,,,
|
||||
,팔로워,フォロワー,,,,
|
||||
,대화하기,トークする,,,,
|
||||
,DM 보내기,DMを送る,,,,
|
||||
,라이브,ライブ,,,,
|
||||
,커뮤니티,コミュニティ,,,,
|
||||
,팬Talk,ファントーク,,,,
|
||||
,후원,サポート,,,,
|
||||
,팬레터,ファンレター,,,,
|
||||
,후원하기,サポートする,,,,
|
||||
,공지,お知らせ,,,,
|
||||
,스케줄,スケジュール,,,,
|
||||
,전체보기,すべて見る,,,,
|
||||
,전체 오디오의 n%를 소장하고 있어요.,全オーディオのn%を所持しています。,,,,
|
||||
,전체 화보의 n%를 소장하고 있어요.,全フォトのn%を所持しています。,,,,
|
||||
,전체소장,全話購入,,,,
|
||||
,완결,完結,,,,
|
||||
,연재,連載,,,,
|
||||
,소장중,保有中,,,,
|
||||
,리스트형,リスト,,,,
|
||||
,썸네일형,グリッド,,,,
|
||||
,구매완료,購入済み,,,,
|
||||
,삭제,削除,,,,
|
||||
,신고,通報,,,,
|
||||
,후원 랭킹,サポートランキング,,,,
|
||||
,"크리에이터가 라이브를 준비 중입니다.
|
||||
기대해 주세요!","クリエイターがライブを準備しています。
|
||||
お楽しみに!",,,,
|
||||
,"크리에이터가 오디오를 준비 중입니다.
|
||||
기대해 주세요!","クリエイターがオーディオを準備しています。
|
||||
お楽しみに!",,,,
|
||||
,"크리에이터가 시리즈를 준비 중입니다.
|
||||
기대해 주세요!","クリエイターがシリーズを準備しています。
|
||||
お楽しみに!",,,,
|
||||
,"크리에이터가 화보를 준비 중입니다.
|
||||
기대해 주세요!","クリエイターがフォトを準備しています。
|
||||
お楽しみに!",,,,
|
||||
,"크리에이터가 커뮤니티를 준비 중입니다.
|
||||
기대해 주세요!","クリエイターがコミュニティを準備しています。
|
||||
お楽しみに!",,,,
|
||||
,"아직 응원이 없습니다.
|
||||
처음으로 크리에이터를 응원해 보세요!","まだファンレターがありません。
|
||||
最初のファンレターを送ってみましょう!",,,,
|
||||
,응원 남기기,ファンレターを送る,,,,
|
||||
,"아직 후원이 없습니다.
|
||||
처음으로 크리에이터를 후원해 보세요!","まだサポートがありません。
|
||||
最初のサポートをしてみましょう!",,,,
|
||||
,당신의 첫 응원을 기다리고 있어요!,あなたの最初のファンレターを待っています!,,,,
|
||||
,댓글,コメント,,,,
|
||||
,취소,キャンセル,,,,
|
||||
,보내기,送信,,,,
|
||||
,입력 종료,入力終了,,,,
|
||||
,"입력을 종료할까요?
|
||||
지금 나가면 입력한 내용이 저장되지 않아요.","入力を終了しますか?
|
||||
終了すると、入力内容は保存されません。",,,,
|
||||
,종료,終了,,,,
|
||||
,계속 작성,続ける,,,,
|
||||
,응원 삭제,ファンレターを削除,,,,
|
||||
,"응원을 삭제할까요?
|
||||
삭제 시 크리에이터의 답글도 같이 사라져요.","ファンレターを削除しますか?
|
||||
削除すると、クリエイターからの返信も削除されます。",,,,
|
||||
,오늘,今日,,,,
|
||||
,지금,今,,,,
|
||||
,지난,終了,,,,
|
||||
,"아직 대화가 없어요.
|
||||
크리에이터와 이야기를 시작해 보세요.","まだ会話がありません。
|
||||
クリエイターと話してみましょう。",,,,
|
||||
,"아직 나눈 AI 채팅이 없어요.
|
||||
크리에이터와 대화를 시작해 보세요.","まだAIチャットがありません。
|
||||
クリエイターと会話を始めてみましょう。",,,,
|
||||
,"아직 나눈 대화가 없어요.
|
||||
좋아하는 크리에이터에게 메세지를 보내보세요.","まだメッセージがありません。
|
||||
好きなクリエイターにメッセージを送ってみましょう。",,,,
|
||||
,크리에이터의 이름을 입력하세요,クリエイター名を入力,,,,
|
||||
,대화 시작,トーク開始,,,,
|
||||
,{{크리에이터이름}}님과 AI 채팅 혹은 DM을 시작해 볼까요?,{{クリエイター名}}とAIチャットまたはDMを始めてみませんか?,,,,
|
||||
,AI 채팅하기,AIチャット,,,,
|
||||
,채팅 설정,チャット設定,,,,
|
||||
,이미지 보관함,ギャラリー,,,,
|
||||
,배경 이미지 설정,背景設定,,,,
|
||||
,채팅 초기화,チャットを初期化,,,,
|
||||
,신규 크리에이터,新着クリエイター,,,,
|
||||
,나의 크리에이터,マイクリエイター,,,,
|
||||
,AI 캐릭터 채팅,AIキャラクターチャット,,,,
|
||||
,팔로우 해제,フォロー解除,,,,
|
||||
,"팔로우를 해제할까요?
|
||||
{{크리에이터이름}}의 소식을 받을 수 없어요.","{{크리에이터이름}}からの最新情報を受け取れなくなります。
|
||||
フォローを解除しますか?",,,,
|
||||
,해제하기,解除する,,,,
|
||||
,검색어를 입력하세요,キーワードを入力,,,,
|
||||
,전체삭제,すべて削除,,,,
|
||||
,최근 검색,最近の検索,,,,
|
||||
,인기 검색어,急上昇ワード,,,,
|
||||
,AI 채팅 인기 검색 키워드,AIチャット急上昇ワード,,,,
|
||||
,시리즈 인기 검색 키워드,シリーズ急上昇ワード,,,,
|
||||
,오디오 인기 검색 키워드,オーディオ急上昇ワード,,,,
|
||||
,키워드,キーワード,,,,
|
||||
,검색 결과,検索結果,,,,
|
||||
,정확도순,関連度順,,,,
|
||||
,많이 찾는 크리에이터,人気のクリエイター,,,,
|
||||
,"관련 크리에이터가 없어요.
|
||||
다른 검색어로 다시 찾아보세요.","該当するクリエイターがいません。
|
||||
別のキーワードで検索してください。",,,,
|
||||
,"관련 시리즈가 없어요.
|
||||
다른 검색어로 다시 찾아보세요.","該当するシリーズがありません。
|
||||
別のキーワードで検索してください。",,,,
|
||||
,"관련 화보가 없어요.
|
||||
다른 검색어로 다시 찾아보세요.","該当するフォトがありません。
|
||||
別のキーワードで検索してください。",,,,
|
||||
,"관련 키워드가 없어요.
|
||||
다른 검색어로 다시 찾아보세요.","該当するキーワードがありません。
|
||||
別のキーワードで検索してください。",,,,
|
||||
,라이브 시작하기,ライブを開始,,,,
|
||||
,오디오 올리기,オーディオを投稿,,,,
|
||||
,커뮤니티 글 올리기,コミュニティ投稿,,,,
|
||||
,이메일을 입력해 주세요,メールアドレスを入力してください,,,,
|
||||
,이메일,メールアドレス,,,,
|
||||
,이용약관,利用規約,,,,
|
||||
,개인정보수집 및 이용동의,個人情報の収集・利用への同意,,,,
|
||||
,올바른 이메일을 입력해 주세요,正しいメールアドレスを入力してください,,,,
|
||||
,다음으로,次へ,,,,
|
||||
,이미 가입된 이메일이에요,登録済みのメールアドレスです,,,,
|
||||
,비밀번호를 입력해 주세요,パスワードを入力してください,,,,
|
||||
,비밀번호,パスワード,,,,
|
||||
,"8자 이상 (영문 대/소문자, 특수문자 포함)",8文字以上(英大文字・小文字・記号を含む),,,,
|
||||
,완료,完了,,,,
|
||||
,"8자 이상, 영문 대/소문자와 특수문자를 포함해 주세요",8文字以上、英大文字・小文字・記号を含めてください,,,,
|
||||
,이메일로 로그인하기,メールアドレスでログイン,,,,
|
||||
,로그인,ログイン,,,,
|
||||
,가입되지 않은 이메일이에요,登録されていないメールアドレスです,,,,
|
||||
,입력한 비밀번호를 다시 확인해 주세요,パスワードをもう一度確認してください,,,,
|
||||
,인증코드를 입력해 주세요,認証コードを入力してください,,,,
|
||||
,{email}로 인증코드를 보냈어요,{email}に認証コードを送信しました,,,,
|
||||
,인증코드,認証コード,,,,
|
||||
,0:00 후에 인증코드 다시 보내기,0:00後に認証コードを再送する,,,,
|
||||
,인증 가능한 시간을 초과했어요,認証可能時間を超過しました,,,,
|
||||
,인증코드 다시 보내기,認証コードを再送する,,,,
|
||||
,올바른 인증코드를 입력해 주세요,正しい認証コードを入力してください,,,,
|
||||
,새 비밀번호를 입력해 주세요,新しいパスワードを入力してください,,,,
|
||||
,기존 비밀번호와 다르게 설정해 주세요,現在のパスワードとは異なるものを設定してください,,,,
|
||||
,비밀번호 설정 완료!,パスワード設定完了!,,,,
|
||||
,"비밀번호 설정을 완료했어요.
|
||||
다시 로그인해 주세요.","パスワードを設定しました。
|
||||
もう一度ログインしてください。",,,,
|
||||
,재설정 종료,再設定を終了,,,,
|
||||
,"지금 나가면 현재 진행중인 재설정이 종료되고,
|
||||
처음부터 다시 진행해야 해요.","終了すると、進行中の再設定が終了し、
|
||||
最初からやり直す必要があります。",,,,
|
||||
,계속 재설정,再設定を続ける,,,,
|
||||
,AI 채팅,AIチャット,,,,
|
||||
,전체 크리에이터,すべてのクリエイター,,,,
|
||||
,필수,必須,,,,
|
||||
,가입한 이메일을 입력해 주세요,"登録メールアドレスを
|
||||
入力してください",,,,
|
||||
,존재하지 않는 이메일이에요,登録されていないメールアドレスです,,,,
|
||||
,모두 팔로우하기,すべてフォロー,,,,
|
||||
,대여중,レンタル中,,,,
|
||||
,데뷔,デビュー,,,,
|
||||
,라이브 총 진행 수,ライブ配信回数,,,,
|
||||
,라이브 누적 진행 시간,ライブ累計配信時間,,,,
|
||||
,라이브 누적 참여자,ライブ累計参加者数,,,,
|
||||
,고정 해제,固定を解除,,,,
|
||||
,수정하기,編集,,,,
|
||||
,삭제하기,削除,,,,
|
||||
,크리에이터에게만 보여요.,クリエイターにのみ表示されます。,,,,
|
||||
,답글쓰기,返信する,,,,
|
||||
,신고하기,通報する,,,,
|
||||
,댓글을 입력하세요,コメントを入力,,,,
|
||||
,크리에이터에게 응원의 메세지를 보내주세요!,クリエイターへファンレターを送りましょう!,,,,
|
||||
,답글을 삭제할까요?,返信を削除しますか?,,,,
|
||||
,답글 삭제,返信を削除,,,,
|
||||
,크리에이터,クリエイター,,,,
|
||||
,시리즈 자세히 보기,シリーズの詳細を見る,,,,
|
||||
,소개,紹介,,,,
|
||||
,장르,ジャンル,,,,
|
||||
,연령 제한,年齢制限,,,,
|
||||
,소장,購入,,,,
|
||||
,페이지 수,ページ数,,,,
|
||||
,발매일,発売日,,,,
|
||||
,크리에이터의 다른 화보,このクリエイターの他のフォト,,,,
|
||||
,{{화보이름 12자 ...}}와 비슷한 화보,「{{화보이름 12자 ...}}」に似たフォト,,,,
|
||||
,[Premium Photo]의 다른 화보,「Premium Photo」の他のフォト,,,,
|
||||
,소장하기,購入する,,,,
|
||||
,스크랩,クリップ,,,,
|
||||
,"마음에 드는 페이지를 스크랩하여
|
||||
감상해 보세요!","お気に入りのページをクリップして
|
||||
楽しみましょう!",,,,
|
||||
,마지막 페이지,最後のページ,,,,
|
||||
,"{{메거진 이름 12자 초과시...}}은 어떠셨나요?
|
||||
후기를 댓글로 남겨보세요.","「{{雑誌名...}}」はいかがでしたか
|
||||
感想をコメントでお聞かせください。",,,,
|
||||
,댓글 쓰기,コメントを書く,,,,
|
||||
,첫 페이지에요.,最初のページです。,,,,
|
||||
,오래된순,古い順,,,,
|
||||
,보관함,ライブラリ,,,,
|
||||
,구매,購入,,,,
|
||||
,재생목록,プレイリスト,,,,
|
||||
,최근,最近,,,,
|
||||
,제목순,タイトル順,,,,
|
||||
,발매순,発売日順,,,,
|
||||
,대여,レンタル,,,,
|
||||
,업로드순,アップロード順,,,,
|
||||
,"구매한 오디오가 없어요.
|
||||
관심있는 오디오를 구매해 보세요!","購入したオーディオはありません。
|
||||
気になるオーディオを購入してみましょう!",,,,
|
||||
,"구매한 화보가 없어요.
|
||||
관심있는 화보를 구매해 보세요!","購入したフォトはありません。
|
||||
気になるフォトを購入してみましょう!",,,,
|
||||
,"구매한 커뮤니티 글이 없어요.
|
||||
좋아하는 크리에이터의 글을 구매해 보세요!","購入したコミュニティ投稿はありません。
|
||||
お気に入りのクリエイターの投稿を購入してみましょう!",,,,
|
||||
,나중에 들을 오디오,あとで聴く,,,,
|
||||
,"좋아요한 오디오가 없어요.
|
||||
마음에 드는 오디오에 좋아요를 남겨 보세요!","「いいね」したオーディオはありません。
|
||||
お気に入りのオーディオに「いいね」してみましょう!",,,,
|
||||
,"좋아요한 화보가 없어요.
|
||||
마음에 드는 화보에 좋아요를 남겨 보세요!","「いいね」したフォトはありません。
|
||||
お気に入りのフォトに「いいね」してみましょう!",,,,
|
||||
,"좋아요한 커뮤니티 글이 없어요.
|
||||
마음에 드는 글에 좋아요를 남겨 보세요!","「いいね」した投稿はありません。
|
||||
お気に入りの投稿に「いいね」してみましょう!",,,,
|
||||
,"최근 본 콘텐츠가 없어요.
|
||||
새로운 콘텐츠를 만나보세요!","最近見たコンテンツはありません。
|
||||
新しいコンテンツを見つけましょう!",,,,
|
||||
,"최근 본 오디오가 없어요.
|
||||
새로운 오디오를 만나보세요!","最近聴いたオーディオはありません。
|
||||
新しいオーディオを見つけましょう!",,,,
|
||||
,"최근 본 시리즈가 없어요.
|
||||
새로운 시리즈를 만나보세요!","最近見たシリーズはありません。
|
||||
しいシリーズを見つけましょう!",,,,
|
||||
,"최근 본 화보가 없어요.
|
||||
새로운 화보를 만나보세요!","最近見たフォトはありません。
|
||||
新しいフォトを見つけましょう!",,,,
|
||||
,충전하기,チャージ,,,,
|
||||
,현재 보유한 캔,現在のカン,,,,
|
||||
,사용할 캔,使用するカン,,,,
|
||||
,사용할 포인트,使用するポイント,,,,
|
||||
,*포인트 일부를 차감하여 대여합니다.,*ポイントを使用してレンタルします。,,,,
|
||||
,캔이 부족해요! 충전 후 이용해 주세요.,カンが不足しています。チャージしてご利用ください。,,,,
|
||||
,소장이 완료되었어요!,購入が完了しました!,,,,
|
||||
,대여가 완료되었어요!,レンタルが完了しました!,,,,
|
||||
,구매에 실패했어요. 다시 시도해 주세요.,購入に失敗しました。もう一度お試しください。,,,,
|
||||
,오늘 하루 보지 않기,今日一日は表示しない,,,,
|
||||
,닫기,閉じる,,,,
|
||||
,콘텐츠 보호를 위해 캡처를 지원하지 않아요.,コンテンツ保護のため、スクリーンショットはご利用いただけません。,,,,
|
||||
,답글을 입력하세요,返信を入力,,,,
|
||||
,전체 인기,人気ランキング,,,,
|
||||
,현재 보유,所持数,,,,
|
||||
,활동,アクティビティ,,,,
|
||||
,익명,匿名,,,,
|
||||
,DM 확인하기,DMを確認,,,,
|
||||
,예정,予定,,,,
|
||||
,대화 찾기,トークを探す,,,,
|
||||
,{요일}요 인기 시리즈,{요일}曜人気シリーズ,,,,
|
||||
|
300
docs/20260811_일본어_string_resource_반영/plan-task.md
Normal file
300
docs/20260811_일본어_string_resource_반영/plan-task.md
Normal file
@@ -0,0 +1,300 @@
|
||||
# 일본어 string resource 반영 Goal 실행형 구현 계획
|
||||
|
||||
| 문서 항목 | 내용 |
|
||||
|---|---|
|
||||
| 상태 | 계획 작성 완료 |
|
||||
| 작성일 | `2026-08-11` |
|
||||
| 요구사항 기준 | `docs/20260811_일본어_string_resource_반영/prd.md` |
|
||||
| API 기준 | API 변경 없음 |
|
||||
| 현재 Phase | Phase 1 매핑 확정 대기 |
|
||||
| 현재 활성 Goal | 없음 |
|
||||
|
||||
## 목표
|
||||
|
||||
`kr_jp_string_resource.csv`의 일본어 문구를 resource key 단위로 안전하게 확정한 뒤 Android `values-ja/strings.xml`에 최소 반영한다.
|
||||
|
||||
## 현재 상태
|
||||
|
||||
| Phase | 상태 | 완료 Task | 활성/다음 Goal | 차단 또는 남은 조건 |
|
||||
|---:|---|---:|---|---|
|
||||
| 1 | 대기 | `0/2` | `P1-T1` | 확정 매핑표 작성 필요 |
|
||||
| 2 | 대기 | `0/1` | `P2-T1` | `P1-GATE` 완료 필요 |
|
||||
|
||||
- 동시에 하나의 미완료 goal만 운용한다.
|
||||
- 완료된 Task와 검증 기록은 되돌리거나 삭제하지 않는다.
|
||||
- 후속 수정은 기존 완료 Task를 다시 열지 않고 신규 회귀 수정 Task로 추가한다.
|
||||
|
||||
## 범위
|
||||
|
||||
### 포함
|
||||
|
||||
- `docs/20260811_일본어_string_resource_반영/kr_jp_string_resource.csv` 기준 KR/JP 쌍 분석.
|
||||
- `app/src/main/res/values/strings.xml`의 KR 값과 resource key 후보 대조.
|
||||
- `app/src/main/res/values-ja/strings.xml`의 기존 JP 값과 CSV JP 값 차이 확인.
|
||||
- 확정된 key에 한해 `app/src/main/res/values-ja/strings.xml` 수정.
|
||||
- Android resource XML 빌드 검증.
|
||||
|
||||
### 제외
|
||||
|
||||
- `app/src/main/res/values/strings.xml` 한국어 원문 수정.
|
||||
- `app/src/main/res/values-en/strings.xml` 영어 리소스 수정.
|
||||
- layout, Kotlin, API, navigation, ViewModel 변경.
|
||||
- 신규 dependency 추가.
|
||||
- `app/src/androidTest`, 기기·에뮬레이터 조작, 스크린샷 QA.
|
||||
- CSV JP 문구를 임의 재번역하는 작업.
|
||||
|
||||
## 기술적 제약
|
||||
|
||||
- 기술 스택: Android Gradle 프로젝트, XML string resource.
|
||||
- 리소스 파일: `app/src/main/res/values/strings.xml`, `app/src/main/res/values-ja/strings.xml`.
|
||||
- 기준 CSV: `docs/20260811_일본어_string_resource_반영/kr_jp_string_resource.csv`.
|
||||
- CSV에는 resource key가 없으므로 한국어 값이 정확히 일치하는 후보만 자동 매핑 대상으로 삼는다.
|
||||
- 같은 KR 문구가 여러 resource key에 있으면 자동 덮어쓰지 않고 후보 목록에서 확정한다.
|
||||
- `%1$s`, `%1$d`, `%%`, `\n`, XML escape, `@string/...` 참조를 깨지 않는다.
|
||||
- 로직 변경이 없으므로 신규 unit test는 기본 작성하지 않는다.
|
||||
- 검증은 `./gradlew :app:assembleDebug`를 기본으로 하고, 리소스 lint 확인이 필요하면 `./gradlew :app:lintDebug`를 추가한다.
|
||||
|
||||
## Task TDD 작성 규칙
|
||||
|
||||
이번 계획의 Phase 1은 read-only 대조와 문서 확정이므로 TDD 예외를 적용한다. Phase 2는 XML 리소스 수정 작업이며 로직 unit test 대상이 아니므로 RED/GREEN 테스트 대신 XML 빌드 검증을 완료 증거로 사용한다.
|
||||
|
||||
## Phase 1 매핑 확정
|
||||
|
||||
**Phase 결과:** CSV KR/JP 행이 resource key 후보, 반영 대상, 보류 대상, 제외 대상으로 분류된다.
|
||||
|
||||
**선행조건:** `prd.md`의 `DEC-001` 확정.
|
||||
|
||||
**Phase 완료 조건:** `P1-T1`, `P1-T2`, `P1-GATE` 완료, 검증 기록 누적.
|
||||
|
||||
### 구현 항목
|
||||
|
||||
#### Task 1.1 CSV와 한국어 resource 후보 대조
|
||||
|
||||
**Goal 실행 `P1-T1`:** CSV KR 문구와 `values/strings.xml`의 한국어 resource key 후보를 대조한다.
|
||||
|
||||
- **시작 조건:** `kr_jp_string_resource.csv`, `app/src/main/res/values/strings.xml` 존재.
|
||||
- **완료 증거:** 후보 대조 결과가 `plan-task.md`의 Progress에 기록되고, 중복 KR 문구가 별도 표시된다.
|
||||
- **범위 밖:** `values-ja/strings.xml` 수정, CSV 문구 수정.
|
||||
- **TDD 예외 사유:** production 동작을 변경하지 않는 read-only 대조 Task다.
|
||||
- **대체 검증 방법:** CSV KR 값과 `values/strings.xml` string body를 대조하고, exact match 수와 중복/미매칭 예시를 Progress에 기록한다.
|
||||
|
||||
**Files:**
|
||||
|
||||
- Read: `docs/20260811_일본어_string_resource_반영/kr_jp_string_resource.csv`
|
||||
- Read: `app/src/main/res/values/strings.xml`
|
||||
- Modify: `docs/20260811_일본어_string_resource_반영/plan-task.md`
|
||||
|
||||
**Interfaces:**
|
||||
|
||||
- Consumes: CSV `KR`, `JP` 컬럼과 Android `<string name="...">...</string>` 값.
|
||||
- Produces: `P1-T2`가 사용할 KR 문구별 resource key 후보 목록.
|
||||
|
||||
- [ ] CSV의 `KR`, `JP` 행을 파싱한다.
|
||||
- [ ] `values/strings.xml`의 `<string>` 값을 key와 함께 추출한다.
|
||||
- [ ] CSV KR과 한국어 resource 값을 exact match로 대조한다.
|
||||
- [ ] 같은 KR 문구가 여러 key에 매칭되는 항목을 중복 후보로 표시한다.
|
||||
- [ ] 매칭되지 않은 CSV KR 행은 신규 key 추정 없이 미매칭 후보로 기록한다.
|
||||
- [ ] Progress에 exact match 수, 중복 후보 수, 미매칭 후보 수와 대표 예시를 남긴다.
|
||||
|
||||
#### Task 1.2 일본어 기존값 충돌과 보류 항목 확정
|
||||
|
||||
**Goal 실행 `P1-T2`:** `values-ja/strings.xml`의 기존 JP 값과 CSV JP 값을 대조해 반영/보류/제외 결정을 확정한다.
|
||||
|
||||
- **시작 조건:** `P1-T1` 완료.
|
||||
- **완료 증거:** 확정 반영 목록과 보류 목록이 `plan-task.md` Progress 또는 Decision Log에 기록된다.
|
||||
- **범위 밖:** 확정되지 않은 key 반영, 일본어 재번역.
|
||||
- **TDD 예외 사유:** production 동작을 변경하지 않는 read-only 대조와 의사결정 Task다.
|
||||
- **대체 검증 방법:** 기존 JP 값, CSV JP 값, placeholder 차이, 줄바꿈 차이, 오탈자 의심 항목을 대조한다.
|
||||
|
||||
**Files:**
|
||||
|
||||
- Read: `app/src/main/res/values-ja/strings.xml`
|
||||
- Modify: `docs/20260811_일본어_string_resource_반영/plan-task.md`
|
||||
|
||||
**Interfaces:**
|
||||
|
||||
- Consumes: `P1-T1`의 resource key 후보 목록.
|
||||
- Produces: `P2-T1`이 수정할 확정 key/value 목록.
|
||||
|
||||
- [ ] 후보 key마다 기존 `values-ja/strings.xml` 값을 확인한다.
|
||||
- [ ] CSV JP와 기존 JP가 같은 항목은 변경 없음으로 분류한다.
|
||||
- [ ] CSV JP와 기존 JP가 다른 항목은 변경 후보로 분류한다.
|
||||
- [ ] KR placeholder와 JP placeholder가 다른 항목은 보류한다.
|
||||
- [ ] CSV JP 오탈자 의심 항목은 보류하고 Decision Log에 사용자 확인 필요로 남긴다.
|
||||
- [ ] `@string/...` 참조는 참조를 풀어야 하는 명확한 근거가 없으면 보류한다.
|
||||
- [ ] 반영 대상 key, 보류 대상 key, 제외 대상 key를 Progress에 기록한다.
|
||||
|
||||
### 완료 조건
|
||||
|
||||
- [ ] `P1-T1`, `P1-T2`의 체크박스와 완료 증거가 모두 충족됐다.
|
||||
- [ ] 확정 반영 대상 key 목록이 존재한다.
|
||||
- [ ] 보류 항목은 이유와 후속 결정 주체가 기록됐다.
|
||||
- [ ] 확정되지 않은 항목을 Phase 2에 넘기지 않았다.
|
||||
|
||||
### 검증 방법
|
||||
|
||||
#### Phase 1 Gate
|
||||
|
||||
**Goal 실행 `P1-GATE`:** 매핑 결과가 PRD 정책과 충돌하지 않는지 최종 판정한다.
|
||||
|
||||
- **시작 조건:** `P1-T1`, `P1-T2` 완료.
|
||||
- **완료 증거:** 아래 대조 기준 통과와 Progress 기록.
|
||||
- **범위 밖:** Gate 통과를 위한 임의 번역, CSV 수정, resource 수정.
|
||||
|
||||
검증 기준:
|
||||
|
||||
- [ ] 확정 반영 목록의 모든 key는 `values/strings.xml`에 존재한다.
|
||||
- [ ] 확정 반영 목록의 모든 key는 `values-ja/strings.xml`에 존재하거나 신규 추가 필요로 명시됐다.
|
||||
- [ ] 확정 반영 목록의 JP 값은 CSV JP에서 온 값이다.
|
||||
- [ ] placeholder와 줄바꿈 형식이 Android XML에 맞게 표현될 수 있다.
|
||||
- [ ] 보류 항목은 Phase 2 수정 목록에서 제외됐다.
|
||||
|
||||
## Phase 2 일본어 resource 반영
|
||||
|
||||
**Phase 결과:** 확정된 key만 `values-ja/strings.xml`에 반영되고 Android resource 빌드가 통과한다.
|
||||
|
||||
**선행조건:** `P1-GATE` 완료.
|
||||
|
||||
**Phase 완료 조건:** `P2-T1`, `P2-GATE` 완료, 검증 기록 누적.
|
||||
|
||||
### 구현 항목
|
||||
|
||||
#### Task 2.1 확정 key를 values-ja에 반영
|
||||
|
||||
**Goal 실행 `P2-T1`:** Phase 1에서 확정된 key만 `app/src/main/res/values-ja/strings.xml`에 반영한다.
|
||||
|
||||
- **시작 조건:** `P1-GATE` 완료와 확정 반영 key 목록 존재.
|
||||
- **완료 증거:** `values-ja/strings.xml` diff가 확정 key에만 한정되고 XML 빌드 검증이 통과한다.
|
||||
- **범위 밖:** 한국어/영어 리소스 수정, 확정되지 않은 보류 항목 반영, 레이아웃/코드 수정.
|
||||
- **TDD 예외 사유:** Android XML string resource 수정이며 로직 unit test 대상이 아니다.
|
||||
- **대체 검증 방법:** resource XML diff 검토, placeholder 대조, Gradle assemble/lint 명령 실행.
|
||||
|
||||
**Files:**
|
||||
|
||||
- Modify: `app/src/main/res/values-ja/strings.xml`
|
||||
- Reference: `docs/20260811_일본어_string_resource_반영/kr_jp_string_resource.csv`
|
||||
- Modify: `docs/20260811_일본어_string_resource_반영/plan-task.md`
|
||||
|
||||
**Interfaces:**
|
||||
|
||||
- Consumes: `P1-GATE`에서 승인된 key/value 목록.
|
||||
- Produces: Android 일본어 locale에서 사용할 확정 JP string resource.
|
||||
|
||||
- [ ] **RED 대체 확인:** 수정 전 `./gradlew :app:assembleDebug`를 실행해 baseline resource 상태를 확인한다.
|
||||
- [ ] **GREEN:** 확정 key만 `values-ja/strings.xml`에서 CSV JP 값으로 수정한다.
|
||||
- [ ] **GREEN 확인:** `./gradlew :app:assembleDebug`를 실행해 Android resource 빌드가 통과하는지 확인한다.
|
||||
- [ ] **REFACTOR:** 이번 Task가 만든 XML escape, placeholder, 줄바꿈 문제만 정리하고 `./gradlew :app:assembleDebug`를 다시 실행한다.
|
||||
- [ ] 필요 시 `./gradlew :app:lintDebug`를 실행하고 결과를 Progress에 기록한다.
|
||||
|
||||
### 완료 조건
|
||||
|
||||
- [ ] `values-ja/strings.xml` diff가 확정 key에만 한정됐다.
|
||||
- [ ] `%1$s`, `%1$d`, `%%`, `\n`, XML escape가 깨지지 않았다.
|
||||
- [ ] 보류 항목은 반영되지 않았다.
|
||||
- [ ] Gradle resource 빌드 검증 결과가 Progress에 기록됐다.
|
||||
|
||||
### 검증 방법
|
||||
|
||||
#### Phase 2 Gate
|
||||
|
||||
**Goal 실행 `P2-GATE`:** 일본어 resource 반영 결과와 회귀 위험을 최종 판정한다.
|
||||
|
||||
- **시작 조건:** `P2-T1` 완료.
|
||||
- **완료 증거:** 아래 명령과 Expected 통과, Progress에 실제 결과 누적.
|
||||
- **범위 밖:** Gate 실패와 무관한 기능 수정, UI/계측 테스트 실행.
|
||||
|
||||
```bash
|
||||
./gradlew :app:assembleDebug
|
||||
```
|
||||
|
||||
**Expected:** exit code 0, Android resource XML 파싱 성공, debug APK assemble 성공.
|
||||
|
||||
필요 시 추가 검증:
|
||||
|
||||
```bash
|
||||
./gradlew :app:lintDebug
|
||||
```
|
||||
|
||||
**Expected:** exit code 0 또는 이번 resource 변경과 무관한 기존 lint 이슈만 보고.
|
||||
|
||||
## 실행 순서와 의존성
|
||||
|
||||
| 순서 | Goal | 선행조건 | 병행 가능 | 차단 시 다음 행동 |
|
||||
|---:|---|---|---|---|
|
||||
| 1 | `P1-T1` | 없음 | 아니요 | CSV 또는 한국어 resource 형식 문제를 Progress에 기록 |
|
||||
| 2 | `P1-T2` | `P1-T1` | 아니요 | 보류 항목을 사용자 확인 대상으로 분리 |
|
||||
| 3 | `P1-GATE` | Phase 1 Task 전체 | 아니요 | 확정되지 않은 항목을 Phase 2에서 제외 |
|
||||
| 4 | `P2-T1` | `P1-GATE` | 아니요 | 실패 key를 보류로 되돌리고 Decision Log에 기록 |
|
||||
| 5 | `P2-GATE` | `P2-T1` | 아니요 | 실패 원인 key만 회귀 수정 Task로 분리 |
|
||||
|
||||
```text
|
||||
P1-T1 -> P1-T2 -> P1-GATE -> P2-T1 -> P2-GATE
|
||||
```
|
||||
|
||||
## 변경 금지 항목
|
||||
|
||||
- 확정되지 않은 CSV 행을 resource key에 임의 매핑하지 않는다.
|
||||
- 같은 KR 문구가 여러 key에 있을 때 전체를 자동 덮어쓰지 않는다.
|
||||
- CSV JP 문구를 임의 재번역하지 않는다.
|
||||
- `values/strings.xml`, `values-en/strings.xml`, layout, Kotlin 파일을 수정하지 않는다.
|
||||
- 신규 dependency를 추가하지 않는다.
|
||||
- test를 삭제, skip, 완화하지 않는다.
|
||||
- 기기·에뮬레이터 UI 조작, 스크린샷 QA, `connectedDebugAndroidTest`를 실행하지 않는다.
|
||||
|
||||
## 의사결정 및 중단 규칙
|
||||
|
||||
- PRD와 plan-task가 충돌하면 PRD Decision Log를 우선하고 plan-task를 먼저 갱신한다.
|
||||
- CSV JP에 오탈자 의심이 있으면 임의 수정 또는 반영하지 않고 보류한다.
|
||||
- placeholder가 맞지 않으면 해당 key는 보류하고 사용자 확인 대상으로 남긴다.
|
||||
- `values-ja/strings.xml`에 key가 없으면 신규 추가 여부를 사용자에게 확인한다.
|
||||
- Gradle 검증 실패가 발생하면 실패한 resource key만 확인하고 관련 없는 기능 수정은 하지 않는다.
|
||||
|
||||
## Progress
|
||||
|
||||
기존 기록을 삭제하거나 덮어쓰지 않고 실제 실행 결과를 차수별로 누적한다.
|
||||
|
||||
### 문서 작성 1차 실행 — 2026-08-11
|
||||
|
||||
- 상태: 완료
|
||||
- 무엇을: PRD와 계획문서 초안을 작성했다.
|
||||
- 왜: 사용자가 CSV 기반 일본어 string resource 반영 전에 모호한 사항을 확인하고 PRD/계획문서만 생성하라고 요청했다.
|
||||
- 어떻게:
|
||||
- `docs/sample/sample-prd.md` 확인 — PRD 구조 확인.
|
||||
- `docs/sample/sample-plan-task.md` 확인 — plan-task 구조 확인.
|
||||
- `docs/agent-guides/work-plan-docs.md` 확인 — 문서 위치와 작성 규칙 확인.
|
||||
- `docs/agent-guides/build-test-style.md` 확인 — Android Gradle 검증 명령 확인.
|
||||
- `app/src/main/res/values/strings.xml`, `app/src/main/res/values-ja/strings.xml` 일부 확인 — CSV에 key가 없고 동일 KR 문구가 반복되는 위험 확인.
|
||||
- 남은 항목: 실제 매핑 확정과 resource 반영은 아직 수행하지 않음.
|
||||
- 다음 행동: 사용자가 구현을 요청하면 `P1-T1`부터 실행한다.
|
||||
|
||||
## Decision Log
|
||||
|
||||
| 날짜 | ID | 상태 | 결정 | 근거 | 영향 Goal/문서 |
|
||||
|---|---|---|---|---|---|
|
||||
| 2026-08-11 | `DEC-001` | 확정 | CSV KR/JP 쌍은 resource key 매핑표를 먼저 확정한 뒤 반영한다. | CSV에는 `string name`이 없고 중복 KR 문구가 존재한다. | `P1-T1`, `P1-T2`, `P2-T1` |
|
||||
| 2026-08-11 | `DEC-002` | 확정 | 이번 실행에서는 `prd.md`, `plan-task.md`만 생성하고 resource XML은 수정하지 않는다. | 사용자 요청 범위가 문서 생성으로 한정됐다. | 전체 |
|
||||
|
||||
## 발견된 문제
|
||||
|
||||
| ID | 심각도 | 상태 | 발견 내용 | 영향 Goal | 처리 계획 |
|
||||
|---|---|---|---|---|---|
|
||||
| `ISSUE-001` | Medium | 후보 | CSV에 resource key가 없어 동일 KR 문구를 자동 매핑하면 오반영 위험이 있다. | `P1-T1` | exact match 후보와 중복 후보를 분리한다. |
|
||||
| `ISSUE-002` | Low | 후보 | 기존 `values-ja/strings.xml`에 `フォロー를解除`처럼 혼합 언어 의심 문구가 있다. | `P1-T2` | CSV 매핑 후보와 일치하면 변경 후보로 분류한다. |
|
||||
| `ISSUE-003` | Low | 후보 | CSV JP에 `しいシリーズを見つけましょう!`처럼 오탈자 의심 문구가 있다. | `P1-T2` | 사용자 확인 전 반영하지 않는다. |
|
||||
|
||||
## Verification Log
|
||||
|
||||
- 2026-08-11 문서 생성 검증: `prd.md`, `plan-task.md`를 CSV 파일이 있는 `docs/20260811_일본어_string_resource_반영/` 폴더에 생성했다. 코드와 resource XML은 수정하지 않았다.
|
||||
|
||||
## 최종 보고 형식
|
||||
|
||||
```markdown
|
||||
구현 결과: <완료한 Phase와 resource 반영 범위>
|
||||
|
||||
- 변경: <수정한 resource key와 파일>
|
||||
- 결정: <Decision Log ID와 내용>
|
||||
- 검증:
|
||||
- `<실행 명령>` — <성공/실패와 핵심 결과>
|
||||
- 남은 항목: <보류된 문구 또는 없음>
|
||||
- 문서: <갱신한 PRD/plan-task 경로>
|
||||
```
|
||||
159
docs/20260811_일본어_string_resource_반영/prd.md
Normal file
159
docs/20260811_일본어_string_resource_반영/prd.md
Normal file
@@ -0,0 +1,159 @@
|
||||
# 일본어 string resource 반영 PRD
|
||||
|
||||
## 문서 정보
|
||||
|
||||
| 항목 | 내용 |
|
||||
|---|---|
|
||||
| 문서 상태 | 구현 기준 확정 |
|
||||
| 작성일 | `2026-08-11` |
|
||||
| 최종 수정일 | `2026-08-11` |
|
||||
| 대상 제품 | SodaLive Android 일본어 string resource |
|
||||
| 작성자·결정권자 | 사용자, Sisyphus |
|
||||
| 기준 CSV | `docs/20260811_일본어_string_resource_반영/kr_jp_string_resource.csv` |
|
||||
| 관련 구현 계획 | `docs/20260811_일본어_string_resource_반영/plan-task.md` |
|
||||
| 관련 review | 없음 |
|
||||
|
||||
### 요구사항 상태
|
||||
|
||||
| 상태 | 의미 | 구현 처리 |
|
||||
|---|---|---|
|
||||
| 확정 | CSV와 사용자 결정으로 구현 기준이 정해짐 | `plan-task.md`의 Task와 완료 증거로 추적 |
|
||||
| 미결 | 제품 문구 또는 매핑 판단이 더 필요함 | 임의 반영하지 않고 매핑 확정 단계에서 확인 |
|
||||
| 제외 | 이번 작업에서 반영하지 않음 | Decision Log에 제외 이유 기록 |
|
||||
|
||||
## 1. Overview
|
||||
|
||||
`kr_jp_string_resource.csv`의 KR/JP 쌍을 기준으로 Android 일본어 리소스 `app/src/main/res/values-ja/strings.xml` 반영 범위를 확정한다. CSV에는 Android `string name` 키가 없으므로, 한국어 원문과 `app/src/main/res/values/strings.xml` 값을 대조해 resource key 매핑을 먼저 확정한 뒤 일본어 값을 반영한다.
|
||||
|
||||
## 2. Problem Statement
|
||||
|
||||
현재 일본어 리소스에는 CSV 기준 문구와 다른 번역, 미반영 번역, 오탈자 의심 항목이 섞여 있을 수 있다.
|
||||
|
||||
- CSV는 `KR`, `JP` 컬럼만 제공하고 Android resource key를 제공하지 않는다.
|
||||
- `홈`, `콘텐츠`, `전체`, `라이브`, `댓글`, `삭제`처럼 같은 KR 문구가 여러 resource key에 반복된다.
|
||||
- 기존 `values-ja/strings.xml` 값과 CSV 값이 다를 때 무조건 덮어쓰면 의도하지 않은 화면 문구가 바뀔 수 있다.
|
||||
|
||||
문제를 해결했다는 판단은 확정된 KR 문구/resource key 매핑에 한해 `values-ja/strings.xml`이 CSV JP 값을 반영하고, XML 리소스 빌드 검증이 통과하는 것으로 한다.
|
||||
|
||||
## 3. Goals
|
||||
|
||||
### 3.1 제품 목표
|
||||
|
||||
- CSV 기준 일본어 문구를 Android 일본어 리소스에 안전하게 반영한다.
|
||||
- 중복 KR 문구는 resource key 단위로 매핑을 확정한 뒤 반영해 오반영을 막는다.
|
||||
- 반영 대상, 제외 대상, 확인 필요 대상을 문서에 남겨 후속 검토가 가능하게 한다.
|
||||
|
||||
### 3.2 품질 목표
|
||||
|
||||
- `values-ja/strings.xml`의 XML escape, placeholder, 줄바꿈 형식을 Android resource 규칙에 맞게 유지한다.
|
||||
- `%1$s`, `%1$d`, `%%`, `\n`, `@string/...` 참조를 깨지 않는다.
|
||||
- 사용자가 명시적으로 요청하지 않았으므로 UI/계측 테스트, 기기 조작, 스크린샷 QA는 수행하지 않는다.
|
||||
|
||||
## 4. Non-Goals
|
||||
|
||||
- `app/src/main/res/values/strings.xml`의 한국어 원문 수정.
|
||||
- `app/src/main/res/values-en/strings.xml` 수정.
|
||||
- 레이아웃, 코드, 화면 흐름, API 계약 수정.
|
||||
- CSV 자체 번역 품질을 임의로 재번역하거나 새 일본어 문구를 창작하는 작업.
|
||||
- Android UI/계측 테스트 추가 또는 `connectedDebugAndroidTest` 실행.
|
||||
|
||||
## 5. Target Users and Permissions
|
||||
|
||||
| 사용자 | 목표 | 주요 작업 | 사용 환경 |
|
||||
|---|---|---|---|
|
||||
| 일본어 사용자 | 앱 화면에서 자연스럽고 CSV 기준과 일치하는 일본어 문구 확인 | 일본어 locale로 앱 사용 | Android |
|
||||
| Android 개발자 | 확정된 매핑만 안전하게 리소스에 반영 | resource key 대조, XML 수정, 로컬 검증 | Android Gradle 프로젝트 |
|
||||
|
||||
권한 정책 변경은 없다. 인증, API, 데이터 소유권, 민감정보 저장 정책은 이번 범위 밖이다.
|
||||
|
||||
## 6. 핵심 처리 흐름
|
||||
|
||||
1. `kr_jp_string_resource.csv`의 KR/JP 행을 읽는다.
|
||||
2. `app/src/main/res/values/strings.xml`에서 KR 문구와 일치하는 resource key 후보를 찾는다.
|
||||
3. 같은 KR 문구가 여러 key에 매칭되면 모두 후보로 기록하고, 화면 맥락상 반영할 key를 확정한다.
|
||||
4. `app/src/main/res/values-ja/strings.xml`의 기존 JP 값을 확인한다.
|
||||
5. 확정된 key만 CSV JP 값으로 수정한다.
|
||||
6. XML escape, placeholder, 줄바꿈, 빌드 리소스 검증을 실행한다.
|
||||
|
||||
## 7. 기능 요구사항
|
||||
|
||||
### 7.1 매핑 확정
|
||||
|
||||
| ID | 상태 | 요구사항 | 수용 기준 | 계획 연결 |
|
||||
|---|---|---|---|---|
|
||||
| `I18N-MAP-001` | 확정 | CSV 행은 resource key 없이 제공된 KR/JP 쌍으로 취급한다. | key 추정 없이 `values/strings.xml` 값과 일치하는 후보만 매핑 대상으로 삼는다. | `P1-T1` |
|
||||
| `I18N-MAP-002` | 확정 | 동일 KR 문구가 여러 resource key에 있으면 자동 덮어쓰지 않는다. | 중복 후보는 `plan-task.md`의 후보 매핑/충돌 목록에 기록하고 확정된 key만 반영한다. | `P1-T1`, `P1-T2` |
|
||||
| `I18N-MAP-003` | 확정 | CSV JP와 기존 JP가 다른 항목은 변경 후보로 분리한다. | 변경 전 기존 값, CSV 값, 반영 결정이 기록된다. | `P1-T2` |
|
||||
| `I18N-MAP-004` | 확정 | CSV JP의 오탈자 의심 항목은 임의 수정하지 않는다. | 예: `しいシリーズを見つけましょう!`처럼 의심되는 값은 확인 필요로 남긴다. | `P1-T2` |
|
||||
|
||||
### 7.2 리소스 반영
|
||||
|
||||
| ID | 상태 | 요구사항 | 수용 기준 | 계획 연결 |
|
||||
|---|---|---|---|---|
|
||||
| `I18N-RES-001` | 확정 | 반영 대상은 `app/src/main/res/values-ja/strings.xml`로 한정한다. | 한국어, 영어, layout, Kotlin 파일 변경 없이 일본어 리소스만 수정한다. | `P2-T1` |
|
||||
| `I18N-RES-002` | 확정 | Android string placeholder 형식을 보존한다. | KR의 `%1$s`, `%1$d`, `%%`에 대응되는 placeholder가 JP에도 보존된다. | `P2-T1`, `P2-GATE` |
|
||||
| `I18N-RES-003` | 확정 | CSV 줄바꿈은 Android XML에서 `\n`으로 표현한다. | 실제 줄바꿈 또는 CSV quote가 XML을 깨지 않는다. | `P2-T1`, `P2-GATE` |
|
||||
| `I18N-RES-004` | 확정 | `@string/...` 참조 값은 CSV 직접 문구와 매칭되더라도 참조 의도를 먼저 확인한다. | 참조를 문자열로 풀어야 하는 근거가 없으면 기존 참조를 보존한다. | `P1-T2`, `P2-T1` |
|
||||
|
||||
## 8. API 계약
|
||||
|
||||
API 변경은 없다. 서버 계약, request/response, endpoint, 인증 header는 이번 범위 밖이다.
|
||||
|
||||
## 9. 보안과 데이터 취급
|
||||
|
||||
- 비밀값, 토큰, URL, 사용자 개인정보를 문서나 로그에 추가하지 않는다.
|
||||
- `BuildConfig` 값은 출력, 로그, Toast, 문서 예시에 포함하지 않는다.
|
||||
- CSV와 resource XML 외 외부 데이터 소스는 사용하지 않는다.
|
||||
|
||||
## 10. 성능과 품질 요구사항
|
||||
|
||||
- 신규 dependency를 추가하지 않는다.
|
||||
- 리소스 XML 파싱과 빌드가 통과해야 한다.
|
||||
- 기본 검증 명령은 `./gradlew :app:assembleDebug`, 필요 시 `./gradlew :app:lintDebug`다.
|
||||
- 로직 변경이 없으므로 신규 unit test는 기본적으로 작성하지 않는다.
|
||||
|
||||
## 11. 성공 기준
|
||||
|
||||
### 11.1 기능 수용 기준
|
||||
|
||||
- [ ] CSV KR/JP 행 중 `values/strings.xml`과 매칭되는 후보가 resource key 단위로 식별된다. (`I18N-MAP-001`)
|
||||
- [ ] 중복 KR 문구와 기존 JP 충돌 항목이 반영/보류/제외 중 하나로 분류된다. (`I18N-MAP-002`, `I18N-MAP-003`)
|
||||
- [ ] 확정된 key만 `values-ja/strings.xml`에 반영된다. (`I18N-RES-001`)
|
||||
- [ ] Android resource placeholder와 줄바꿈 형식이 보존된다. (`I18N-RES-002`, `I18N-RES-003`)
|
||||
|
||||
### 11.2 추적성 완료 기준
|
||||
|
||||
- [ ] 모든 확정 요구사항이 `plan-task.md`의 Task와 완료 증거로 연결된다.
|
||||
- [ ] 확인 필요 문구는 임의 반영하지 않고 Decision Log 또는 발견된 문제에 남긴다.
|
||||
- [ ] 제외 항목은 제외 이유와 후속 조건을 기록한다.
|
||||
|
||||
## 12. Open Questions
|
||||
|
||||
| ID | 상태 | 결정 필요 사항 | 현재 권고 | 결정 주체 | 결정 시점 | 영향 Goal |
|
||||
|---|---|---|---|---|---|---|
|
||||
| `OQ-001` | 확정 | CSV에 key가 없을 때 반영 정책 | 매핑표 먼저 확정 후 확정 key만 반영 | 사용자 | 2026-08-11 | `P1-T1`, `P1-T2` |
|
||||
| `OQ-002` | 미결 | CSV JP 오탈자 의심 항목을 그대로 반영할지 제품 문구로 보정할지 | 오탈자 의심 항목은 보류하고 사용자 확인 후 반영 | 사용자 | `P1-T2` 완료 전 | `P2-T1` |
|
||||
|
||||
## 13. 요구사항 추적표
|
||||
|
||||
| 요구사항 범위 | 계획 Phase | Goal | 자동 검증 | 수동 검증 |
|
||||
|---|---:|---|---|---|
|
||||
| `I18N-MAP-001~004` | 1 | `P1-T1`, `P1-T2`, `P1-GATE` | CSV/resource 대조, XML 후보 목록 확인 | 사용자 매핑 승인 |
|
||||
| `I18N-RES-001~004` | 2 | `P2-T1`, `P2-GATE` | `./gradlew :app:assembleDebug`, 필요 시 `./gradlew :app:lintDebug` | 일본어 locale 화면 확인은 사용자 명시 요청 시 별도 수행 |
|
||||
|
||||
## 14. Decision Log
|
||||
|
||||
| 날짜 | ID | 상태 | 결정 | 근거 | 영향 요구사항·Goal |
|
||||
|---|---|---|---|---|---|
|
||||
| 2026-08-11 | `DEC-001` | 확정 | CSV KR/JP 쌍은 resource key 매핑표를 먼저 확정한 뒤 반영한다. | CSV에 key가 없고 동일 KR 문구가 여러 resource key에 반복된다. | `I18N-MAP-001~003`, `P1-T1`, `P1-T2` |
|
||||
| 2026-08-11 | `DEC-002` | 확정 | 이번 요청에서는 PRD와 계획문서만 생성하고 실제 string resource는 수정하지 않는다. | 사용자 요청: “모호한 것은 물어보고 prd와 계획문서만 생성한다.” | 전체 |
|
||||
| 2026-08-11 | `DEC-003` | 확정 | 문서는 CSV 파일이 있는 `docs/20260811_일본어_string_resource_반영/` 폴더에 생성한다. | 사용자 요청: “문서 생성은 csv파일이 있는 폴더에 생성한다.” | 전체 |
|
||||
|
||||
## 15. 변경 관리
|
||||
|
||||
요구사항 변경 시 다음을 확인한다.
|
||||
|
||||
- [ ] Decision Log에 변경 이유와 날짜를 기록했다.
|
||||
- [ ] 관련 요구사항 상태, 본문, 수용 기준을 갱신했다.
|
||||
- [ ] `plan-task.md`의 범위, Files, 체크박스, 완료 증거를 코드 변경 전에 갱신했다.
|
||||
- [ ] 기존 Progress, 검증 기록, Decision Log를 삭제하거나 덮어쓰지 않았다.
|
||||
391
docs/20260811_일본어_string_resource_반영/resource-mapping.md
Normal file
391
docs/20260811_일본어_string_resource_반영/resource-mapping.md
Normal file
@@ -0,0 +1,391 @@
|
||||
# 일본어 string resource 매핑표
|
||||
|
||||
| 항목 | 내용 |
|
||||
|---|---|
|
||||
| 기준 CSV | `docs/20260811_일본어_string_resource_반영/kr_jp_string_resource.csv` |
|
||||
| 한국어 리소스 | `app/src/main/res/values/strings.xml` |
|
||||
| 일본어 리소스 | `app/src/main/res/values-ja/strings.xml` |
|
||||
| 상태 | 후보 작성 완료 |
|
||||
|
||||
## 상태 정의
|
||||
|
||||
| 상태 | 의미 |
|
||||
|---|---|
|
||||
| 후보 | CSV KR과 한국어 resource 값이 exact match된 1차 후보 |
|
||||
| 미매칭 후보 | CSV KR과 exact match되는 한국어 resource 값이 없음 |
|
||||
| 반영 | `values-ja/strings.xml`에 CSV JP 값으로 반영할 확정 대상 |
|
||||
| 변경 없음 | 기존 JA 값이 CSV JP 값과 같아 수정하지 않는 대상 |
|
||||
| 보류 | 중복, placeholder 차이, 오탈자 의심, alias 등으로 사용자 확인이 필요한 대상 |
|
||||
| 제외 | 이번 작업에서 반영하지 않는 대상 |
|
||||
|
||||
## 요약
|
||||
|
||||
- 매핑 후보 행: 231
|
||||
- 중복 KR 후보 행: 164
|
||||
- 미매칭 후보 행: 130
|
||||
|
||||
## 매핑 후보
|
||||
|
||||
| CSV row | KR | JP | resource key | 기존 JA | 상태 | 비고 |
|
||||
|---:|---|---|---|---|---|---|
|
||||
| 2 | 홈 | ホーム | `tab_home` | | 후보 | 중복 KR 후보 |
|
||||
| 2 | 홈 | ホーム | `screen_series_detail_tab_home` | | 후보 | 중복 KR 후보 |
|
||||
| 2 | 홈 | ホーム | `screen_series_main_tab_home` | | 후보 | 중복 KR 후보 |
|
||||
| 2 | 홈 | ホーム | `creator_channel_tab_home` | | 후보 | 중복 KR 후보 |
|
||||
| 3 | 콘텐츠 | コンテンツ | `feed_content_category_default` | | 후보 | 중복 KR 후보 |
|
||||
| 3 | 콘텐츠 | コンテンツ | `feed_content_category_content` | | 후보 | 중복 KR 후보 |
|
||||
| 3 | 콘텐츠 | コンテンツ | `tab_content` | | 후보 | 중복 KR 후보 |
|
||||
| 3 | 콘텐츠 | コンテンツ | `screen_home_recommend_channel_content_label` | | 후보 | 중복 KR 후보 |
|
||||
| 3 | 콘텐츠 | コンテンツ | `screen_user_profile_content_title` | | 후보 | 중복 KR 후보 |
|
||||
| 3 | 콘텐츠 | コンテンツ | `screen_search_tab_content` | | 후보 | 중복 KR 후보 |
|
||||
| 3 | 콘텐츠 | コンテンツ | `screen_search_content_title` | | 후보 | 중복 KR 후보 |
|
||||
| 3 | 콘텐츠 | コンテンツ | `alarm_add_content_label` | | 후보 | 중복 KR 후보 |
|
||||
| 3 | 콘텐츠 | コンテンツ | `screen_content_main_title` | | 후보 | 중복 KR 후보 |
|
||||
| 4 | 대화 | トーク | `tab_chat` | | 후보 | exact match 후보 |
|
||||
| 5 | 마이 | マイページ | `tab_my` | | 후보 | exact match 후보 |
|
||||
| 6 | 추천 | おすすめ | `screen_home_tab_recommendation` | | 후보 | 중복 KR 후보 |
|
||||
| 6 | 추천 | おすすめ | `screen_content_tab_recommendation` | | 후보 | 중복 KR 후보 |
|
||||
| 7 | 랭킹 | ランキング | `screen_home_tab_ranking` | | 후보 | 중복 KR 후보 |
|
||||
| 7 | 랭킹 | ランキング | `screen_content_tab_ranking` | | 후보 | 중복 KR 후보 |
|
||||
| 8 | 팔로잉 | フォロー中 | `screen_home_following` | | 후보 | 중복 KR 후보 |
|
||||
| 8 | 팔로잉 | フォロー中 | `screen_home_tab_following` | | 후보 | 중복 KR 후보 |
|
||||
| 8 | 팔로잉 | フォロー中 | `screen_live_recommend_channel_prefix` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `screen_chat_filter_all` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `creator_channel_live_total_label` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `creator_channel_audio_total_label` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `creator_channel_series_total_content_count` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `screen_home_theme_all` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `screen_content_tab_all` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `creator_channel_fantalk_all_label` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `creator_channel_donation_all_label` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `screen_new_characters_all_total_label` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `screen_live_room_total_count_label` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `screen_live_room_create_gender_restriction_all` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `screen_service_center_faq_category_all` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `screen_user_follower_list_total_label` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `screen_user_profile_donation_total_label` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `dialog_creator_follow_notify_all` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `screen_content_settings_all` | | 후보 | 중복 KR 후보 |
|
||||
| 9 | 전체 | すべて | `audio_content_label_all` | | 후보 | 중복 KR 후보 |
|
||||
| 10 | 방금 활동한 크리에이터 | 最近活動したクリエイター | `home_recommendation_section_recently_active_creators` | | 후보 | exact match 후보 |
|
||||
| 11 | 최근 데뷔한 크리에이터 | 新着クリエイター | `home_recommendation_section_recent_debut_creators` | | 후보 | exact match 후보 |
|
||||
| 12 | 처음부터 함께 성장! | 今から推せる | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 13 | 크리에이터와 이야기를 나눠요! | クリエイターと話す | `home_recommendation_section_ai_characters` | | 후보 | exact match 후보 |
|
||||
| 14 | 추천 필모그래피 | おすすめフィルモグラフィー | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 15 | 또 다른 모습 | 写真集 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 16 | {{장르}}의 크리에이터 | {{ジャンル}}のクリエイター | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 17 | 최근 응원이 많은 크리에이터 | 最近応援の多いクリエイター | `home_recommendation_section_cheer_creators` | | 후보 | exact match 후보 |
|
||||
| 18 | 인기 커뮤니티 | 人気コミュニティ | `home_recommendation_section_popular_community_posts` | | 후보 | exact match 후보 |
|
||||
| 19 | 주간 인기 | 週間人気 | `screen_content_ranking_type_weekly_popular` | | 후보 | exact match 후보 |
|
||||
| 20 | 지금 뜨는 중 | 急上昇 | `screen_content_ranking_type_rising` | | 후보 | exact match 후보 |
|
||||
| 21 | 남성 인기 | 男性人気 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 22 | 여성 인기 | 女性人気 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 23 | 최근 대화 | 最近のトーク | `screen_home_following_recent_chats_title` | | 후보 | exact match 후보 |
|
||||
| 24 | 이달의 스케줄 | 今月のスケジュール | `screen_home_following_monthly_schedules_title` | | 후보 | exact match 후보 |
|
||||
| 25 | 최근 소식 | 最新情報 | `screen_home_following_recent_news_title` | | 후보 | exact match 후보 |
|
||||
| 26 | {{크리에이터 이름}}님이 이번 주 랭킹 n위에 올랐어요! | {{크리에이터 이름}}が今週のランキングでn位にランクイン! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 28 | 아직 팔로우한 크리에이터가 없어요. 관심 있는 크리에이터를 팔로우해 보세요. | まだフォローしているクリエイターがいません。<br>気になるクリエイターをフォローしてみましょう。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 29 | 찾아보기 | 探す | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 30 | 오직 보이스온에서만! | VOICE ON限定 | `content_recommendation_section_original_series` | | 후보 | exact match 후보 |
|
||||
| 31 | 새로 올라온 오디오 | 新着オーディオ | `content_recommendation_section_latest_audio` | | 후보 | exact match 후보 |
|
||||
| 32 | 추천 시리즈 | おすすめシリーズ | `screen_series_main_recommend_title` | | 후보 | 중복 KR 후보 |
|
||||
| 32 | 추천 시리즈 | おすすめシリーズ | `audio_content_recommend_series_title` | | 후보 | 중복 KR 후보 |
|
||||
| 33 | 무료 오디오 | 無料オーディオ | `content_recommendation_section_free_audio` | | 후보 | exact match 후보 |
|
||||
| 34 | 포인트 오디오 | ポイントオーディオ | `content_recommendation_section_point_audio` | | 후보 | exact match 후보 |
|
||||
| 35 | 최근 댓글이 많은 오디오 | 最近コメントの多いオーディオ | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 36 | {{키워드}}의 오디오 | {{キーワード}}のオーディオ | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 37 | 추천 오디오 | おすすめオーディオ | `content_recommendation_section_recommended_audio` | | 후보 | exact match 후보 |
|
||||
| 38 | 매출 | 売上 | `screen_home_sort_revenue` | | 후보 | 중복 KR 후보 |
|
||||
| 38 | 매출 | 売上 | `screen_content_ranking_type_revenue` | | 후보 | 중복 KR 후보 |
|
||||
| 39 | 판매량 | 販売数 | `screen_home_sort_sales_count` | | 후보 | 중복 KR 후보 |
|
||||
| 39 | 판매량 | 販売数 | `screen_content_ranking_type_sales_count` | | 후보 | 중복 KR 후보 |
|
||||
| 40 | 댓글수 | コメント数 | `screen_content_ranking_type_comment_count` | | 후보 | exact match 후보 |
|
||||
| 41 | 좋아요 | いいね | `screen_home_sort_like_count` | | 후보 | 중복 KR 후보 |
|
||||
| 41 | 좋아요 | いいね | `screen_content_ranking_type_like_count` | | 후보 | 중복 KR 후보 |
|
||||
| 42 | 오디오 | オーディオ | `screen_content_all_type_audio` | | 후보 | 중복 KR 후보 |
|
||||
| 42 | 오디오 | オーディオ | `home_recommendation_activity_audio` | | 후보 | 중복 KR 후보 |
|
||||
| 42 | 오디오 | オーディオ | `creator_channel_tab_audio` | | 후보 | 중복 KR 후보 |
|
||||
| 42 | 오디오 | オーディオ | `creator_channel_section_audio` | | 후보 | 중복 KR 후보 |
|
||||
| 43 | 시리즈 | シリーズ | `feed_content_category_series` | | 후보 | 중복 KR 후보 |
|
||||
| 43 | 시리즈 | シリーズ | `screen_content_all_type_series` | | 후보 | 중복 KR 후보 |
|
||||
| 43 | 시리즈 | シリーズ | `creator_channel_tab_series` | | 후보 | 중복 KR 후보 |
|
||||
| 43 | 시리즈 | シリーズ | `creator_channel_section_series` | | 후보 | 중복 KR 후보 |
|
||||
| 43 | 시리즈 | シリーズ | `screen_user_profile_series_title` | | 후보 | 중복 KR 후보 |
|
||||
| 43 | 시리즈 | シリーズ | `screen_search_tab_series` | | 후보 | 중복 KR 후보 |
|
||||
| 43 | 시리즈 | シリーズ | `screen_search_series_title` | | 후보 | 중복 KR 후보 |
|
||||
| 43 | 시리즈 | シリーズ | `audio_content_home_tab_series` | | 후보 | 중복 KR 후보 |
|
||||
| 44 | 오리지널 | オリジナル | `screen_content_all_type_original` | | 후보 | exact match 후보 |
|
||||
| 45 | 무료 | 無料 | `screen_live_now_all_free` | | 후보 | 중복 KR 후보 |
|
||||
| 45 | 무료 | 無料 | `screen_content_all_type_free` | | 후보 | 중복 KR 후보 |
|
||||
| 45 | 무료 | 無料 | `live_reservation_free` | | 후보 | 중복 KR 후보 |
|
||||
| 45 | 무료 | 無料 | `screen_live_room_free` | | 후보 | 중복 KR 후보 |
|
||||
| 45 | 무료 | 無料 | `screen_live_room_create_price_free` | | 후보 | 중복 KR 후보 |
|
||||
| 45 | 무료 | 無料 | `screen_creator_community_write_price_free` | | 후보 | 중복 KR 후보 |
|
||||
| 45 | 무료 | 無料 | `screen_audio_content_upload_price_free` | | 후보 | 중복 KR 후보 |
|
||||
| 45 | 무료 | 無料 | `audio_content_price_free` | | 후보 | 중복 KR 후보 |
|
||||
| 45 | 무료 | 無料 | `audio_content_tag_free` | | 후보 | 중복 KR 후보 |
|
||||
| 45 | 무료 | 無料 | `audio_content_home_tab_free` | | 후보 | 중복 KR 후보 |
|
||||
| 46 | 포인트 | ポイント | `screen_content_all_type_point` | | 후보 | 중복 KR 후보 |
|
||||
| 46 | 포인트 | ポイント | `screen_user_profile_latest_content_point` | | 후보 | 중복 KR 후보 |
|
||||
| 46 | 포인트 | ポイント | `audio_content_badge_point` | | 후보 | 중복 KR 후보 |
|
||||
| 47 | 화보 | フォト | `screen_home_following_photo_content` | | 후보 | exact match 후보 |
|
||||
| 48 | 최신순 | 最新順 | `screen_series_content_sort_newest` | | 후보 | 중복 KR 후보 |
|
||||
| 48 | 최신순 | 最新順 | `screen_audition_sort_newest` | | 후보 | 중복 KR 후보 |
|
||||
| 48 | 최신순 | 最新順 | `screen_audio_content_sort_newest` | | 후보 | 중복 KR 후보 |
|
||||
| 49 | 추천순 | おすすめ順 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 50 | 인기순 | 人気順 | `screen_audio_content_sort_popularity` | | 후보 | exact match 후보 |
|
||||
| 51 | 높은 가격순 | 高い順 | `screen_audio_content_sort_price_high` | | 후보 | exact match 후보 |
|
||||
| 52 | 낮은 가격순 | 安い順 | `screen_audio_content_sort_price_low` | | 후보 | exact match 후보 |
|
||||
| 53 | 소장순 | 保有順 | `creator_channel_live_sort_owned` | | 후보 | exact match 후보 |
|
||||
| 54 | 팔로우 | フォロー | `screen_home_follow` | | 후보 | 중복 KR 후보 |
|
||||
| 54 | 팔로우 | フォロー | `creator_channel_follow_button` | | 후보 | 중복 KR 후보 |
|
||||
| 55 | 팔로워 | フォロワー | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 56 | 대화하기 | トークする | `creator_channel_chat_button` | | 후보 | 중복 KR 후보 |
|
||||
| 56 | 대화하기 | トークする | `character_detail_chat_button` | | 후보 | 중복 KR 후보 |
|
||||
| 57 | DM 보내기 | DMを送る | `creator_channel_dm_button` | | 후보 | exact match 후보 |
|
||||
| 58 | 라이브 | ライブ | `tab_live` | | 후보 | 중복 KR 후보 |
|
||||
| 58 | 라이브 | ライブ | `home_recommendation_section_live` | | 후보 | 중복 KR 후보 |
|
||||
| 58 | 라이브 | ライブ | `home_recommendation_activity_live` | | 후보 | 중복 KR 후보 |
|
||||
| 58 | 라이브 | ライブ | `creator_channel_tab_live` | | 후보 | 중복 KR 후보 |
|
||||
| 58 | 라이브 | ライブ | `screen_live_reservation_title_prefix` | | 후보 | 중복 KR 후보 |
|
||||
| 58 | 라이브 | ライブ | `screen_live_replay_prefix` | | 후보 | 중복 KR 후보 |
|
||||
| 58 | 라이브 | ライブ | `screen_user_profile_live_title` | | 후보 | 중복 KR 후보 |
|
||||
| 59 | 커뮤니티 | コミュニティ | `home_recommendation_activity_community` | | 후보 | 중복 KR 후보 |
|
||||
| 59 | 커뮤니티 | コミュニティ | `creator_channel_tab_community` | | 후보 | 중복 KR 후보 |
|
||||
| 59 | 커뮤니티 | コミュニティ | `creator_channel_section_community` | | 후보 | 중복 KR 후보 |
|
||||
| 59 | 커뮤니티 | コミュニティ | `creator_channel_community_detail_title` | | 후보 | 중복 KR 후보 |
|
||||
| 59 | 커뮤니티 | コミュニティ | `screen_live_community_title` | | 후보 | 중복 KR 후보 |
|
||||
| 59 | 커뮤니티 | コミュニティ | `screen_user_profile_community_title` | | 후보 | 중복 KR 후보 |
|
||||
| 59 | 커뮤니티 | コミュニティ | `screen_creator_community_all_title` | | 후보 | 중복 KR 후보 |
|
||||
| 60 | 팬Talk | ファントーク | `creator_channel_tab_fantalk` | | 후보 | 중복 KR 후보 |
|
||||
| 60 | 팬Talk | ファントーク | `creator_channel_section_fantalk` | | 후보 | 중복 KR 후보 |
|
||||
| 61 | 후원 | サポート | `creator_channel_tab_donation` | | 후보 | 중복 KR 후보 |
|
||||
| 61 | 후원 | サポート | `creator_channel_section_donation` | | 후보 | 중복 KR 후보 |
|
||||
| 61 | 후원 | サポート | `screen_audio_content_detail_donation` | | 후보 | 중복 KR 후보 |
|
||||
| 62 | 팬레터 | ファンレター | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 63 | 후원하기 | サポートする | `creator_channel_donation_button` | | 후보 | 중복 KR 후보 |
|
||||
| 63 | 후원하기 | サポートする | `creator_channel_donation_action` | | 후보 | 중복 KR 후보 |
|
||||
| 63 | 후원하기 | サポートする | `screen_live_room_donation_title` | | 후보 | 중복 KR 후보 |
|
||||
| 64 | 공지 | お知らせ | `creator_channel_section_notice` | | 후보 | 중복 KR 후보 |
|
||||
| 64 | 공지 | お知らせ | `creator_channel_community_notice` | | 후보 | 중복 KR 후보 |
|
||||
| 64 | 공지 | お知らせ | `screen_live_room_notice` | | 후보 | 중복 KR 후보 |
|
||||
| 65 | 스케줄 | スケジュール | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 66 | 전체보기 | すべて見る | `view_all` | | 후보 | 중복 KR 후보 |
|
||||
| 66 | 전체보기 | すべて見る | `screen_series_main_completed_all` | | 후보 | 중복 KR 후보 |
|
||||
| 66 | 전체보기 | すべて見る | `creator_channel_donation_ranking_all` | | 후보 | 중복 KR 후보 |
|
||||
| 67 | 전체 오디오의 n%를 소장하고 있어요. | 全オーディオのn%を所持しています。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 68 | 전체 화보의 n%를 소장하고 있어요. | 全フォトのn%を所持しています。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 69 | 전체소장 | 全話購入 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 70 | 완결 | 完結 | `creator_channel_series_status_completed` | | 후보 | 중복 KR 후보 |
|
||||
| 70 | 완결 | 完結 | `screen_home_series_complete` | | 후보 | 중복 KR 후보 |
|
||||
| 71 | 연재 | 連載 | `creator_channel_series_status_proceeding` | | 후보 | 중복 KR 후보 |
|
||||
| 71 | 연재 | 連載 | `screen_series_detail_label_published_days` | | 후보 | 중복 KR 후보 |
|
||||
| 72 | 소장중 | 保有中 | `audio_content_badge_owned` | | 후보 | 중복 KR 후보 |
|
||||
| 72 | 소장중 | 保有中 | `alarm_select_badge_owned` | | 후보 | 중복 KR 후보 |
|
||||
| 73 | 리스트형 | リスト | `creator_channel_community_view_mode_list` | | 후보 | exact match 후보 |
|
||||
| 74 | 썸네일형 | グリッド | `creator_channel_community_view_mode_grid` | | 후보 | exact match 후보 |
|
||||
| 75 | 구매완료 | 購入済み | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 76 | 삭제 | 削除 | `confirm_delete_title` | | 후보 | 중복 KR 후보 |
|
||||
| 76 | 삭제 | 削除 | `screen_message_detail_action_delete` | | 후보 | 중복 KR 후보 |
|
||||
| 76 | 삭제 | 削除 | `screen_roulette_config_option_delete` | | 후보 | 중복 KR 후보 |
|
||||
| 76 | 삭제 | 削除 | `screen_creator_community_record_delete` | | 후보 | 중복 KR 후보 |
|
||||
| 76 | 삭제 | 削除 | `screen_audio_content_detail_delete` | | 후보 | 중복 KR 후보 |
|
||||
| 76 | 삭제 | 削除 | `menu_delete_action` | | 후보 | 중복 KR 후보 |
|
||||
| 77 | 신고 | 通報 | `report_title` | | 후보 | 중복 KR 후보 |
|
||||
| 77 | 신고 | 通報 | `report_button` | | 후보 | 중복 KR 후보 |
|
||||
| 77 | 신고 | 通報 | `creator_channel_fantalk_report` | | 후보 | 중복 KR 후보 |
|
||||
| 78 | 후원 랭킹 | サポートランキング | `creator_channel_donation_ranking_title` | | 후보 | exact match 후보 |
|
||||
| 81 | 크리에이터가 라이브를 준비 중입니다.<br>기대해 주세요! | クリエイターがライブを準備しています。<br>お楽しみに! | `creator_channel_live_empty_message` | | 후보 | exact match 후보 |
|
||||
| 84 | 크리에이터가 오디오를 준비 중입니다.<br>기대해 주세요! | クリエイターがオーディオを準備しています。<br>お楽しみに! | `creator_channel_audio_empty_message` | | 후보 | exact match 후보 |
|
||||
| 87 | 크리에이터가 시리즈를 준비 중입니다.<br>기대해 주세요! | クリエイターがシリーズを準備しています。<br>お楽しみに! | `creator_channel_series_empty_message` | | 후보 | exact match 후보 |
|
||||
| 90 | 크리에이터가 화보를 준비 중입니다.<br>기대해 주세요! | クリエイターがフォトを準備しています。<br>お楽しみに! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 93 | 크리에이터가 커뮤니티를 준비 중입니다.<br>기대해 주세요! | クリエイターがコミュニティを準備しています。<br>お楽しみに! | `creator_channel_community_empty_message` | | 후보 | exact match 후보 |
|
||||
| 96 | 아직 응원이 없습니다.<br>처음으로 크리에이터를 응원해 보세요! | まだファンレターがありません。<br>最初のファンレターを送ってみましょう! | `creator_channel_fantalk_empty_message` | | 후보 | exact match 후보 |
|
||||
| 97 | 응원 남기기 | ファンレターを送る | `creator_channel_fantalk_support_action` | | 후보 | exact match 후보 |
|
||||
| 100 | 아직 후원이 없습니다.<br>처음으로 크리에이터를 후원해 보세요! | まだサポートがありません。<br>最初のサポートをしてみましょう! | `creator_channel_donation_empty_title` | | 후보 | exact match 후보 |
|
||||
| 101 | 당신의 첫 응원을 기다리고 있어요! | あなたの最初のファンレターを待っています! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 102 | 댓글 | コメント | `screen_home_sort_comment_count` | | 후보 | 중복 KR 후보 |
|
||||
| 102 | 댓글 | コメント | `character_detail_comments_label` | | 후보 | 중복 KR 후보 |
|
||||
| 102 | 댓글 | コメント | `character_comment_title` | | 후보 | 중복 KR 후보 |
|
||||
| 102 | 댓글 | コメント | `screen_audio_content_detail_comment_title` | | 후보 | 중복 KR 후보 |
|
||||
| 103 | 취소 | キャンセル | `cancel` | | 후보 | 중복 KR 후보 |
|
||||
| 103 | 취소 | キャンセル | `creator_channel_fantalk_write_cancel` | | 후보 | 중복 KR 후보 |
|
||||
| 103 | 취소 | キャンセル | `screen_message_write_cancel` | | 후보 | 중복 KR 후보 |
|
||||
| 103 | 취소 | キャンセル | `screen_live_room_cancel` | | 후보 | 중복 KR 후보 |
|
||||
| 103 | 취소 | キャンセル | `screen_audio_content_upload_cancel` | | 후보 | 중복 KR 후보 |
|
||||
| 104 | 보내기 | 送信 | `creator_channel_fantalk_write_send` | | 후보 | exact match 후보 |
|
||||
| 105 | 입력 종료 | 入力終了 | `creator_channel_fantalk_write_exit_title` | | 후보 | exact match 후보 |
|
||||
| 108 | 입력을 종료할까요?<br>지금 나가면 입력한 내용이 저장되지 않아요. | 入力を終了しますか?<br>終了すると、入力内容は保存されません。 | `creator_channel_fantalk_write_exit_desc` | | 후보 | exact match 후보 |
|
||||
| 109 | 종료 | 終了 | `creator_channel_fantalk_write_exit_confirm` | | 후보 | exact match 후보 |
|
||||
| 110 | 계속 작성 | 続ける | `creator_channel_fantalk_write_exit_cancel` | | 후보 | exact match 후보 |
|
||||
| 111 | 응원 삭제 | ファンレターを削除 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 114 | 응원을 삭제할까요?<br>삭제 시 크리에이터의 답글도 같이 사라져요. | ファンレターを削除しますか?<br>削除すると、クリエイターからの返信も削除されます。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 115 | 오늘 | 今日 | `screen_user_profile_donation_stat_today` | | 후보 | exact match 후보 |
|
||||
| 116 | 지금 | 今 | `screen_live_now_title_prefix` | | 후보 | exact match 후보 |
|
||||
| 117 | 지난 | 終了 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 120 | 아직 대화가 없어요.<br>크리에이터와 이야기를 시작해 보세요. | まだ会話がありません。<br>クリエイターと話してみましょう。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 123 | 아직 나눈 AI 채팅이 없어요.<br>크리에이터와 대화를 시작해 보세요. | まだAIチャットがありません。<br>クリエイターと会話を始めてみましょう。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 126 | 아직 나눈 대화가 없어요.<br>좋아하는 크리에이터에게 메세지를 보내보세요. | まだメッセージがありません。<br>好きなクリエイターにメッセージを送ってみましょう。 | `screen_chat_empty_dm` | | 후보 | exact match 후보 |
|
||||
| 127 | 크리에이터의 이름을 입력하세요 | クリエイター名を入力 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 128 | 대화 시작 | トーク開始 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 129 | {{크리에이터이름}}님과 AI 채팅 혹은 DM을 시작해 볼까요? | {{クリエイター名}}とAIチャットまたはDMを始めてみませんか? | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 130 | AI 채팅하기 | AIチャット | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 131 | 채팅 설정 | チャット設定 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 132 | 이미지 보관함 | ギャラリー | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 133 | 배경 이미지 설정 | 背景設定 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 134 | 채팅 초기화 | チャットを初期化 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 135 | 신규 크리에이터 | 新着クリエイター | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 136 | 나의 크리에이터 | マイクリエイター | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 137 | AI 캐릭터 채팅 | AIキャラクターチャット | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 138 | 팔로우 해제 | フォロー解除 | `dialog_unfollow_title` | | 후보 | exact match 후보 |
|
||||
| 141 | 팔로우를 해제할까요?<br>{{크리에이터이름}}의 소식을 받을 수 없어요. | {{크리에이터이름}}からの最新情報を受け取れなくなります。<br>フォローを解除しますか? | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 142 | 해제하기 | 解除する | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 143 | 검색어를 입력하세요 | キーワードを入力 | `audio_content_home_search_placeholder` | | 후보 | exact match 후보 |
|
||||
| 144 | 전체삭제 | すべて削除 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 145 | 최근 검색 | 最近の検索 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 146 | 인기 검색어 | 急上昇ワード | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 147 | AI 채팅 인기 검색 키워드 | AIチャット急上昇ワード | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 148 | 시리즈 인기 검색 키워드 | シリーズ急上昇ワード | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 149 | 오디오 인기 검색 키워드 | オーディオ急上昇ワード | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 150 | 키워드 | キーワード | `screen_series_detail_section_keywords` | | 후보 | exact match 후보 |
|
||||
| 151 | 검색 결과 | 検索結果 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 152 | 정확도순 | 関連度順 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 153 | 많이 찾는 크리에이터 | 人気のクリエイター | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 156 | 관련 크리에이터가 없어요.<br>다른 검색어로 다시 찾아보세요. | 該当するクリエイターがいません。<br>別のキーワードで検索してください。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 159 | 관련 시리즈가 없어요.<br>다른 검색어로 다시 찾아보세요. | 該当するシリーズがありません。<br>別のキーワードで検索してください。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 162 | 관련 화보가 없어요.<br>다른 검색어로 다시 찾아보세요. | 該当するフォトがありません。<br>別のキーワードで検索してください。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 165 | 관련 키워드가 없어요.<br>다른 검색어로 다시 찾아보세요. | 該当するキーワードがありません。<br>別のキーワードで検索してください。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 166 | 라이브 시작하기 | ライブを開始 | `creator_channel_live_start_button` | | 후보 | exact match 후보 |
|
||||
| 167 | 오디오 올리기 | オーディオを投稿 | `creator_channel_audio_upload_button` | | 후보 | exact match 후보 |
|
||||
| 168 | 커뮤니티 글 올리기 | コミュニティ投稿 | `creator_channel_owner_fab_community` | | 후보 | exact match 후보 |
|
||||
| 169 | 이메일을 입력해 주세요 | メールアドレスを入力してください | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 170 | 이메일 | メールアドレス | `hint_email` | | 후보 | 중복 KR 후보 |
|
||||
| 170 | 이메일 | メールアドレス | `screen_profile_update_email_label` | | 후보 | 중복 KR 후보 |
|
||||
| 171 | 이용약관 | 利用規約 | `terms_of_service` | | 후보 | 중복 KR 후보 |
|
||||
| 171 | 이용약관 | 利用規約 | `screen_settings_terms` | | 후보 | 중복 KR 후보 |
|
||||
| 172 | 개인정보수집 및 이용동의 | 個人情報の収集・利用への同意 | `privacy_policy` | | 후보 | exact match 후보 |
|
||||
| 173 | 올바른 이메일을 입력해 주세요 | 正しいメールアドレスを入力してください | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 174 | 다음으로 | 次へ | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 175 | 이미 가입된 이메일이에요 | 登録済みのメールアドレスです | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 176 | 비밀번호를 입력해 주세요 | パスワードを入力してください | `screen_live_room_password_hint` | | 후보 | exact match 후보 |
|
||||
| 177 | 비밀번호 | パスワード | `hint_password` | | 후보 | 중복 KR 후보 |
|
||||
| 177 | 비밀번호 | パスワード | `screen_live_room_password_label` | | 후보 | 중복 KR 후보 |
|
||||
| 177 | 비밀번호 | パスワード | `screen_profile_update_password_label` | | 후보 | 중복 KR 후보 |
|
||||
| 178 | 8자 이상 (영문 대/소문자, 특수문자 포함) | 8文字以上(英大文字・小文字・記号を含む) | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 179 | 완료 | 完了 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 180 | 8자 이상, 영문 대/소문자와 특수문자를 포함해 주세요 | 8文字以上、英大文字・小文字・記号を含めてください | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 181 | 이메일로 로그인하기 | メールアドレスでログイン | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 182 | 로그인 | ログイン | `title_login` | | 후보 | exact match 후보 |
|
||||
| 183 | 가입되지 않은 이메일이에요 | 登録されていないメールアドレスです | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 184 | 입력한 비밀번호를 다시 확인해 주세요 | パスワードをもう一度確認してください | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 185 | 인증코드를 입력해 주세요 | 認証コードを入力してください | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 186 | {email}로 인증코드를 보냈어요 | {email}に認証コードを送信しました | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 187 | 인증코드 | 認証コード | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 188 | 0:00 후에 인증코드 다시 보내기 | 0:00後に認証コードを再送する | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 189 | 인증 가능한 시간을 초과했어요 | 認証可能時間を超過しました | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 190 | 인증코드 다시 보내기 | 認証コードを再送する | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 191 | 올바른 인증코드를 입력해 주세요 | 正しい認証コードを入力してください | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 192 | 새 비밀번호를 입력해 주세요 | 新しいパスワードを入力してください | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 193 | 기존 비밀번호와 다르게 설정해 주세요 | 現在のパスワードとは異なるものを設定してください | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 194 | 비밀번호 설정 완료! | パスワード設定完了! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 197 | 비밀번호 설정을 완료했어요.<br>다시 로그인해 주세요. | パスワードを設定しました。<br>もう一度ログインしてください。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 198 | 재설정 종료 | 再設定を終了 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 201 | 지금 나가면 현재 진행중인 재설정이 종료되고,<br>처음부터 다시 진행해야 해요. | 終了すると、進行中の再設定が終了し、<br>最初からやり直す必要があります。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 202 | 계속 재설정 | 再設定を続ける | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 203 | AI 채팅 | AIチャット | `screen_chat_filter_ai` | | 후보 | exact match 후보 |
|
||||
| 204 | 전체 크리에이터 | すべてのクリエイター | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 205 | 필수 | 必須 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 207 | 가입한 이메일을 입력해 주세요 | 登録メールアドレスを<br>入力してください | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 208 | 존재하지 않는 이메일이에요 | 登録されていないメールアドレスです | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 209 | 모두 팔로우하기 | すべてフォロー | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 210 | 대여중 | レンタル中 | `audio_content_badge_rented` | | 후보 | 중복 KR 후보 |
|
||||
| 210 | 대여중 | レンタル中 | `alarm_select_badge_rental` | | 후보 | 중복 KR 후보 |
|
||||
| 211 | 데뷔 | デビュー | `creator_channel_activity_debut` | | 후보 | 중복 KR 후보 |
|
||||
| 211 | 데뷔 | デビュー | `screen_creator_detail_debut` | | 후보 | 중복 KR 후보 |
|
||||
| 212 | 라이브 총 진행 수 | ライブ配信回数 | `creator_channel_activity_live_count` | | 후보 | exact match 후보 |
|
||||
| 213 | 라이브 누적 진행 시간 | ライブ累計配信時間 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 214 | 라이브 누적 참여자 | ライブ累計参加者数 | `creator_channel_activity_live_contributor` | | 후보 | 중복 KR 후보 |
|
||||
| 214 | 라이브 누적 참여자 | ライブ累計参加者数 | `screen_creator_detail_live_contributor_count` | | 후보 | 중복 KR 후보 |
|
||||
| 215 | 고정 해제 | 固定を解除 | `screen_creator_community_unpin` | | 후보 | exact match 후보 |
|
||||
| 216 | 수정하기 | 編集 | `creator_channel_fantalk_edit` | | 후보 | 중복 KR 후보 |
|
||||
| 216 | 수정하기 | 編集 | `screen_live_room_update_action` | | 후보 | 중복 KR 후보 |
|
||||
| 217 | 삭제하기 | 削除 | `creator_channel_fantalk_delete` | | 후보 | exact match 후보 |
|
||||
| 218 | 크리에이터에게만 보여요. | クリエイターにのみ表示されます。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 219 | 답글쓰기 | 返信する | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 220 | 신고하기 | 通報する | `screen_audio_content_detail_report` | | 후보 | 중복 KR 후보 |
|
||||
| 220 | 신고하기 | 通報する | `menu_report_action` | | 후보 | 중복 KR 후보 |
|
||||
| 221 | 댓글을 입력하세요 | コメントを入力 | `creator_channel_community_comment_placeholder` | | 후보 | exact match 후보 |
|
||||
| 222 | 크리에이터에게 응원의 메세지를 보내주세요! | クリエイターへファンレターを送りましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 223 | 답글을 삭제할까요? | 返信を削除しますか? | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 224 | 답글 삭제 | 返信を削除 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 225 | 크리에이터 | クリエイター | `screen_live_reservation_complete_creator_label` | | 후보 | exact match 후보 |
|
||||
| 226 | 시리즈 자세히 보기 | シリーズの詳細を見る | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 227 | 소개 | 紹介 | `creator_channel_section_introduce` | | 후보 | exact match 후보 |
|
||||
| 228 | 장르 | ジャンル | `screen_series_detail_label_genre` | | 후보 | exact match 후보 |
|
||||
| 229 | 연령 제한 | 年齢制限 | `screen_live_room_create_age_label` | | 후보 | 중복 KR 후보 |
|
||||
| 229 | 연령 제한 | 年齢制限 | `screen_creator_community_write_age_title` | | 후보 | 중복 KR 후보 |
|
||||
| 229 | 연령 제한 | 年齢制限 | `screen_audio_content_upload_age_section_title` | | 후보 | 중복 KR 후보 |
|
||||
| 230 | 소장 | 購入 | `screen_series_detail_price_keep_label` | | 후보 | 중복 KR 후보 |
|
||||
| 230 | 소장 | 購入 | `audio_content_order_label_keep` | | 후보 | 중복 KR 후보 |
|
||||
| 231 | 페이지 수 | ページ数 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 232 | 발매일 | 発売日 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 233 | 크리에이터의 다른 화보 | このクリエイターの他のフォト | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 234 | {{화보이름 12자 ...}}와 비슷한 화보 | 「{{화보이름 12자 ...}}」に似たフォト | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 235 | [Premium Photo]의 다른 화보 | 「Premium Photo」の他のフォト | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 236 | 소장하기 | 購入する | `screen_audio_content_detail_action_keep` | | 후보 | exact match 후보 |
|
||||
| 237 | 스크랩 | クリップ | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 240 | 마음에 드는 페이지를 스크랩하여<br>감상해 보세요! | お気に入りのページをクリップして<br>楽しみましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 241 | 마지막 페이지 | 最後のページ | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 244 | {{메거진 이름 12자 초과시...}}은 어떠셨나요?<br>후기를 댓글로 남겨보세요. | 「{{雑誌名...}}」はいかがでしたか<br>感想をコメントでお聞かせください。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 245 | 댓글 쓰기 | コメントを書く | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 246 | 첫 페이지에요. | 最初のページです。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 247 | 오래된순 | 古い順 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 248 | 보관함 | ライブラリ | `screen_message_filter_keep` | | 후보 | 중복 KR 후보 |
|
||||
| 248 | 보관함 | ライブラリ | `screen_my_storage` | | 후보 | 중복 KR 후보 |
|
||||
| 249 | 구매 | 購入 | `alarm_list_buy_confirm` | | 후보 | exact match 후보 |
|
||||
| 250 | 재생목록 | プレイリスト | `screen_audio_content_box_tab_playlists` | | 후보 | exact match 후보 |
|
||||
| 251 | 최근 | 最近 | `screen_live_latest_finished_prefix` | | 후보 | exact match 후보 |
|
||||
| 252 | 제목순 | タイトル順 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 253 | 발매순 | 発売日順 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 254 | 대여 | レンタル | `screen_series_detail_price_rental_label` | | 후보 | 중복 KR 후보 |
|
||||
| 254 | 대여 | レンタル | `audio_content_order_label_rental` | | 후보 | 중복 KR 후보 |
|
||||
| 255 | 업로드순 | アップロード順 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 258 | 구매한 오디오가 없어요.<br>관심있는 오디오를 구매해 보세요! | 購入したオーディオはありません。<br>気になるオーディオを購入してみましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 261 | 구매한 화보가 없어요.<br>관심있는 화보를 구매해 보세요! | 購入したフォトはありません。<br>気になるフォトを購入してみましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 264 | 구매한 커뮤니티 글이 없어요.<br>좋아하는 크리에이터의 글을 구매해 보세요! | 購入したコミュニティ投稿はありません。<br>お気に入りのクリエイターの投稿を購入してみましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 265 | 나중에 들을 오디오 | あとで聴く | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 268 | 좋아요한 오디오가 없어요.<br>마음에 드는 오디오에 좋아요를 남겨 보세요! | 「いいね」したオーディオはありません。<br>お気に入りのオーディオに「いいね」してみましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 271 | 좋아요한 화보가 없어요.<br>마음에 드는 화보에 좋아요를 남겨 보세요! | 「いいね」したフォトはありません。<br>お気に入りのフォトに「いいね」してみましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 274 | 좋아요한 커뮤니티 글이 없어요.<br>마음에 드는 글에 좋아요를 남겨 보세요! | 「いいね」した投稿はありません。<br>お気に入りの投稿に「いいね」してみましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 277 | 최근 본 콘텐츠가 없어요.<br>새로운 콘텐츠를 만나보세요! | 最近見たコンテンツはありません。<br>新しいコンテンツを見つけましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 280 | 최근 본 오디오가 없어요.<br>새로운 오디오를 만나보세요! | 最近聴いたオーディオはありません。<br>新しいオーディオを見つけましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 283 | 최근 본 시리즈가 없어요.<br>새로운 시리즈를 만나보세요! | 最近見たシリーズはありません。<br>しいシリーズを見つけましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 286 | 최근 본 화보가 없어요.<br>새로운 화보를 만나보세요! | 最近見たフォトはありません。<br>新しいフォトを見つけましょう! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 287 | 충전하기 | チャージ | `screen_can_status_charge_action` | | 후보 | 중복 KR 후보 |
|
||||
| 287 | 충전하기 | チャージ | `screen_can_charge_title` | | 후보 | 중복 KR 후보 |
|
||||
| 288 | 현재 보유한 캔 | 現在のカン | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 289 | 사용할 캔 | 使用するカン | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 290 | 사용할 포인트 | 使用するポイント | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 291 | *포인트 일부를 차감하여 대여합니다. | *ポイントを使用してレンタルします。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 292 | 캔이 부족해요! 충전 후 이용해 주세요. | カンが不足しています。チャージしてご利用ください。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 293 | 소장이 완료되었어요! | 購入が完了しました! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 294 | 대여가 완료되었어요! | レンタルが完了しました! | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 295 | 구매에 실패했어요. 다시 시도해 주세요. | 購入に失敗しました。もう一度お試しください。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 296 | 오늘 하루 보지 않기 | 今日一日は表示しない | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 297 | 닫기 | 閉じる | `dialog_event_popup_close` | | 후보 | 중복 KR 후보 |
|
||||
| 297 | 닫기 | 閉じる | `a11y_close` | | 후보 | 중복 KR 후보 |
|
||||
| 297 | 닫기 | 閉じる | `creator_channel_owner_fab_close` | | 후보 | 중복 KR 후보 |
|
||||
| 297 | 닫기 | 閉じる | `dialog_close` | | 후보 | 중복 KR 후보 |
|
||||
| 297 | 닫기 | 閉じる | `screen_live_room_collapse` | | 후보 | 중복 KR 후보 |
|
||||
| 297 | 닫기 | 閉じる | `screen_live_room_close` | | 후보 | 중복 KR 후보 |
|
||||
| 297 | 닫기 | 閉じる | `screen_creator_community_write_close` | | 후보 | 중복 KR 후보 |
|
||||
| 298 | 콘텐츠 보호를 위해 캡처를 지원하지 않아요. | コンテンツ保護のため、スクリーンショットはご利用いただけません。 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 299 | 답글을 입력하세요 | 返信を入力 | `creator_channel_community_reply_placeholder` | | 후보 | exact match 후보 |
|
||||
| 300 | 전체 인기 | 人気ランキング | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 301 | 현재 보유 | 所持数 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 302 | 활동 | アクティビティ | `creator_channel_section_activity` | | 후보 | exact match 후보 |
|
||||
| 303 | 익명 | 匿名 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 304 | DM 확인하기 | DMを確認 | `creator_channel_dm_check_button` | | 후보 | exact match 후보 |
|
||||
| 305 | 예정 | 予定 | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 306 | 대화 찾기 | トークを探す | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
| 307 | {요일}요 인기 시리즈 | {요일}曜人気シリーズ | `` | | 미매칭 후보 | values/strings.xml exact match 없음 |
|
||||
Reference in New Issue
Block a user