The language pass on the flat v2 pages (2026-10-28)
Status: Active · Asked by: the owner, page review of 2026-10-27 ("we really need a good language pass on all pages"; L1-05 "Needs a language pass")
Every line the 84 pages render was read once (~/twomore-tools/handoff/copy-dump.mjs renders each page's review frames and copy-global.mjs lists each Korean line once, under the first page that shows it). This file is the record: the rules the pass applied, the words it settled, and every rewrite, by the board file that owns the string. Sample content (names, posts, chat lines, venue names) and the legal documents (이용약관, 개인정보 처리방침) keep their wording.
1. The rules
Grounded in Toss's published rules for partner apps (앱인토스 UI/UX 가이드: 해요체, active voice, positive sentences, no heavy honorifics, Hanja nouns unfolded into verbs, dialog dismiss [닫기]), Toss's eight writing principles (toss.tech), our voice guide (docs/design/voice-and-tone-guide.md) and the 2026-09-13 house style (2026-09-13-house-style.json).
| # | Rule | Before → after |
|---|---|---|
| R1 | 해요체 in every UI line; 합니다체 only in the legal documents and the consent rows, whose labels are the shipped legal strings, verbatim until counsel reviews them ([필수] 서비스 이용약관에 동의합니다 stays) | 삭제된 댓글입니다 → 삭제된 댓글이에요 |
| R2 | No 시-honorific on the user: a question asks 할까요? | 이 클럽을 나가시겠어요? → 클럽을 나갈까요? |
| R3 | Active voice when the user did it; the passive only for what happened to them (a host cancelled, a rule applied) | 신청됐어요 → 신청했어요 · 연습이 기록됐어요 → 연습을 기록했어요 |
| R4 | Say what is possible before what is not, where the meaning allows | 나가면 다시 초대 코드로 가입해야 해요 → 나간 뒤에도 초대 코드로 다시 가입할 수 있어요 |
| R5 | Unfold a Hanja noun stack into a verb; plain words over 한자어 | 역할 변경 → 역할 바꾸기 · 기납부 → 이미 낸 금액 · 미응답 → 응답 없음 |
| R6 | One meaning per line: a label says who did what to whom, and an error never reads as the user's failure | 칭찬한 사람 → 칭찬해 준 사람 · 참석하지 못했어요 → 참석을 신청하지 못했어요 |
| R7 | Cut what repeats the line before it (weed cutting); a line that restates its own verb is rewritten to say the consequence | 면제하면 이 멤버의 이번 달 회비가 면제 처리돼요 → 면제하면 최유나님은 9월 회비를 내지 않아도 돼요 |
| R8 | A dialog's dismiss is 닫기; the commit names the action | 참석 유지 · 신청 유지 → 닫기 |
| R9 | Numbers in words where a symbol hides the rule: a cap line says the count, the cap and the day | 불참 2/2건 | 2027년 8월 9일 해제 → 불참 2건으로 한도에 닿았어요. 2027년 8월 9일에 풀려요 |
| R10 | Formats: 박지훈님 (님 attached) · 날짜* (the mark attached) · 최대 인원(선택) · 2027년 8월 30일 (never 2027.08.30) · 시간당 12,000원 (never 12,000원/시간) · N일 뒤 (never 후) · 42명 (never 42 명) · 외 1곳 (never 외 1) | 박지훈 님이 먼저 입력했어요 → 박지훈님이 먼저 입력했어요 |
2. The words
One thing, one word (the library § 1.19 table gains these rows):
| Thing | The word | Not |
|---|---|---|
| A ranked list | 순위 (클럽 순위, 친구 순위, 지역 순위, 전국 순위); its page 순위표 | 랭킹, 리더보드 |
| The best partner | 최고의 파트너 | 베스트 파트너 |
| Mixed doubles | 혼합복식 (혼성 stays the 구성 value) | 혼성복식 |
| A score, as a label | 점수 (실시간 스코어카드 keeps its name, house style 2026-09-13) | 스코어 |
| The rating | ELO | 레이팅 |
| Kudos | 칭찬 (칭찬 남기기; 칭찬해 준 사람) | 매너 태그, 칭찬한 사람 |
| The NTRP band of a club, session or member | 수준 (수준 범위, 수준 무관) | 실력, 레벨 (실력별 복식 and 실력 차이 keep 실력) |
| How a club admits | 가입 방식: 바로 가입 · 승인 후 가입 · 초대 전용 | 승인제, 가입 가능, 승인 필요 |
| How a session admits | 참석 방식: 바로 참석 · 승인 후 참석 | 참가 방식, 승인 방식, 호스트가 승인해요 (as a value) |
| My application, waiting | 승인 대기 | 신청 중, 신청 검토 중, 심사 중 |
| The applications an official answers | 가입 신청 | 심사 대상, 심사할 신청 |
| The RSVP deadline | 신청 마감 | 응답 기한 |
| Asking for friendship | 친구 신청 (already § 1.19; the leftovers) | 친구 요청 |
| The 클럽 tab's second view | 클럽 찾기 (탐색에 공개 → 클럽 찾기에 공개) | 탐색 |
| Ending a session or a tournament | 끝내기 · 끝난 일정 | 종료, 종료된 일정 |
| What a member still owes | 남은 금액 (잔액 only for the ledger's balance) | 잔액, 잔액 전액 |
| A post type | 경기 후기 | 경기후기 |
| Where a line will show | 여기에 보여요 (쌓여요 and 모여요 when that is the meaning) | 표시돼요, 나타나요 |
| Who may see an official page (a wall title) | 운영진만 볼 수 있어요 · 호스트만 볼 수 있어요 | 접근 권한이 없어요, 권한이 없어요, 호스트만 접근할 수 있어요 |
| A one-day record | 하루 기록 (the page L3-05) | 일일 요약 |
| One suggestion's receipt | 제안 상세 (the page L3-33) | 제안 접수 내역 |
| A thing the user sent | 보냄 · 보낸 날 (9월 19일 14:05에 보냄) | 접수 (for the user's own submission) |
| Taking back a suggestion or an application | 취소 (제안 취소하기, 신청 취소하기) | 철회 (철회 stays for a consent, a legal act) |
Kept on purpose: 삭제 for things and 내보내기 for people (house style); 스코어카드; 기간 기록; 가입 심사 (one application's page); the providers' own labels on the sign-in buttons (카카오 로그인, 네이버 로그인, Apple로 로그인, Google 로그인 follow each brand's guide); the tier names (canon/trust.md).
3. Page renames
| Code | Before | After | Ripples |
|---|---|---|---|
| L3-17 | 리더보드 | 순위표 | 기록's Module 랭킹 → 순위 and its door Cell; page-levels, page-links, the specs that name it |
| L3-05 | 일일 요약 | 하루 기록 | 기간 기록's calendar door; page-levels, page-links |
| L3-33 | 제안 접수 내역 | 제안 상세 | 장소 정보 제안 내역's rows; page-levels, page-links |
4. The rewrites, by file
Each table lists the Korean the file holds (a whole string, or a fragment where the frame composes it) and its rewrite; the English twin follows the meaning where it changed. A string that also sits in another file is listed under the file that owns it; § 2's words apply in every file.
flat-v2-auth.jsx
| Frame | Before | After |
|---|---|---|
| iv-sent | minjun@example.com으로 보냈어요. 메일의 안내를 따라 주세요. 오지 않았다면 스팸함을 확인해 주세요 | minjun@example.com으로 메일을 보냈어요. 메일의 안내를 따라 주세요. 메일이 없으면 스팸함을 확인해 주세요 |
| iv-mail | 이 이메일로 가입한 계정이 있어요. 아래 버튼을 누르면 바로 로그인돼요. | 이 이메일로 가입한 계정이 있어요. 아래 버튼을 누르면 바로 로그인할 수 있어요. |
| iv-mail | 직접 요청하지 않았다면 이 메일은 무시해 주세요 | 요청한 적이 없다면 이 메일은 무시해도 괜찮아요 |
| vi-toss | 인증 요청을 한 번 승인하면 끝나요. 앱으로 자동으로 돌아가요 | 토스 앱에서 인증 요청을 승인하면 끝나요. 끝나면 이 앱으로 돌아와요 |
| co-ideal | 동의하고 계속 | 동의하기 |
| fs-ideal | 초대 코드가 있거나 클럽을 찾아볼래요 | 초대 코드로 가입하거나 클럽을 찾아요 |
| vi-exit | 가입을 그만두시겠어요? | 가입을 그만둘까요? |
| vi-exit | 지금까지 입력한 내용은 저장되지 않고, 로그아웃돼요. | 입력한 내용은 저장되지 않고 로그아웃돼요. |
| vi-exit | 계속 진행 | 계속하기 |
| vi-nophone | 가족 명의 번호로는 인증할 수 없어요. 외국인은 외국인등록을 한 국내 휴대폰으로 인증해요 | 본인 명의 휴대폰으로 인증할 수 있어요. 외국인은 외국인등록을 한 국내 휴대폰으로 인증할 수 있어요 |
| vi-dup | 카카오로 가입한 계정이에요. 카카오로 로그인하면 지금 쓴 로그인도 함께 연결돼요. | 카카오로 가입한 계정이에요. 카카오로 로그인하면 방금 쓴 방법도 함께 연결돼요. |
| vi-dup | 카카오로 로그인하고 연결 | 카카오로 로그인하기 |
| up-ideal | 업데이트 (the band) | 업데이트하기 |
| rc-s | 참가 방식 · 승인 필요 | 참석 방식 · 승인 후 참석 |
| rc-m | 스코어 | 점수 |
| wb-lb | 42 명 · 클럽 랭킹 | 42명 · 클럽 순위 |
| jn-bad | 초대 링크가 맞지 않아요 | 초대 링크를 열 수 없어요 |
flat-v2-hub.jsx
| Frame | Before | After |
|---|---|---|
| home-empty | 다가오는 일정 · 일정 없음 | 다음 일정 · 예정된 일정이 없어요 |
| home-picker | 번개, 클럽 없이 | 클럽 없이 번개로 |
| (feed, filters) | 경기후기 | 경기 후기 |
| rec-ideal | 랭킹 (the Module) · 리더보드 (its door) | 순위 · 순위표 |
| rec-ideal | 9월 중 6일 활동, 9승 6패 | 9월에 6일 활동, 9승 6패 |
| rec-ideal | 파트너와 천적 | 최고의 파트너와 천적 |
| rec-few | 랭킹 전 · 경기 3번 더 기록하면 보여요 | 순위 전 · 경기를 3번 더 기록하면 순위가 보여요 |
| rec-zero | 첫 경기를 기록하면 전적과 랭킹이 여기에 쌓여요 | 첫 경기를 기록하면 전적과 순위가 여기에 쌓여요 |
| rec-scope-sheet (left 기록 in owner review 48; 기간 기록’s filter holds 경기 출처) | 출처 | 경기 출처 |
| rec-rank-sheet (left 기록 in owner review 48; 순위표 draws it) | 랭킹 범위 | 순위 범위 |
| rec-tier-sheet | 참고치 · 단식 수치는 복식 기준 티어에서 유도된 참고치예요 | 참고 값 · 단식 수치는 복식 티어를 바탕으로 계산한 참고 값이에요 |
| prof-ideal | 20회 중 참석 | 최근 20회 중 참석 |
| prof-ideal | 칭찬한 사람 | 칭찬해 준 사람 |
| prof-dayone | 아직 클럽이 없어요. 클럽 찾기에서 가입해 보세요 | 아직 가입한 클럽이 없어요 |
| prof-dayone | 함께 친 사람에게 친구를 신청해 보세요 | 같이 친 사람에게 친구 신청을 보내 보세요 |
| prof-notice | 불참 2/2건 | 2027년 8월 9일 해제 | 불참 2건으로 한도에 닿았어요. 2027년 8월 9일에 풀려요 |
| club-rank | 20회 중 평균 참석 | 최근 20회 평균 참석 |
| club-rank | 베스트 파트너 | 최고의 파트너 |
| club-dues | 입금 완료 알리기 | 입금했다고 알리기 |
| club-visitor-pending | 신청 검토 중 | 승인 대기 |
| club-visitor-apply | 자기소개(선택) · 신청 보내기 | 자기소개(선택) · 신청 보내기 (kept) |
| club-dues-empty-off | 입금 계좌 등록 · 회비 설정 · 멤버 초대 | 입금 계좌 등록하기 · 회비 정하기 · 멤버 초대하기 |
| club-notfound | 삭제되었거나 주소가 바뀌었어요 | 삭제됐거나 주소가 바뀌었어요 |
| club-archived | 보관된 클럽은 새 일정을 만들 수 없어요 | 보관을 풀면 새 일정을 만들 수 있어요 |
| club-leave | 이 클럽을 나가시겠어요? · 나가면 다시 초대 코드로 가입해야 해요 | 클럽을 나갈까요? · 나간 뒤에도 초대 코드로 다시 가입할 수 있어요 |
| club-peek | 클럽 내 순위 · 함께한 일정 수 | 클럽 순위 · 함께한 일정 |
| club-partner-me | 7경기뿐이라 70%만 반영 | 7경기라 70%만 반영했어요 |
| club-attest | 기납부 · 잔액 · 잔액 전액 | 이미 낸 금액 · 남은 금액 · 남은 금액 모두 |
flat-v2-list-a.jsx
| Frame | Before | After |
|---|---|---|
| club-ideal (tabs) | 탐색 | 클럽 찾기 |
| club-ideal | 혼성 (with 복식, a format) · 신청 중 | 혼합복식 · 승인 대기 |
| club-first | 테니스 크루를 탐색하고 첫 클럽에 가입해 보세요 | 마음에 드는 클럽을 찾아 가입해 보세요 |
| club-discover | 승인제 | 승인 후 가입 |
| club-fsheet | 가입 가능 | 바로 가입 |
| club-fempty | 필터를 줄이거나 다른 지역으로 찾아보세요 | 필터를 줄이거나 다른 지역에서 찾아보세요 |
| gm-first | 현재 열린 번개가 없어요 · 새로운 번개가 곧 올라올 거예요 | 열린 번개가 없어요 · 새 번개가 올라오면 여기에 보여요 |
| gm-mine | 3일 후 | 3일 뒤 |
| mr-ideal | 13회 중 참석 · 12회 중 참석 | 가입 후 13회 중 참석 · 가입 후 12회 중 참석 |
| mr-ideal | 출석 주의 3.5/3 | 2027년 8월 22일 해제 | 불참 3.5건으로 출석 주의 기준(3건)을 넘었어요. 2027년 8월 22일에 풀려요 |
| mr-ideal | 입금 시간 만료 | 입금 기한 지남 |
| mr-sheet-declined | 12시간 안 취소 | 시작 12시간 안에 취소 |
| mr-accept | 인정하면 이 기록은 불참에 포함되지 않고, 박지훈님에게 알림이 가요 | 인정하면 불참에서 빠지고, 박지훈님에게 알려 드려요 |
| mr-decline | 기록은 그대로 남고, 박지훈님은 거절됨으로 확인해요 | 불참 기록은 그대로 남고, 박지훈님에게 거절했다고 알려 드려요 |
| at-ideal | 추적 | 대상 멤버 |
| at-empty | 경기가 끝나면 여기에 출석 기록이 쌓여요 | 일정이 끝나면 여기에 출석 기록이 쌓여요 |
| at-wall | 접근 권한이 없어요 | 운영진만 볼 수 있어요 |
| ch-ideal | 2-1 앞서는 중 | 2-1로 앞서는 중 |
| ch-proposer | 신청됐어요 | 신청했어요 |
| ch-decline | 신청이 닫히고 상대 클럽에 알림이 가요 | 거절하면 상대 클럽에 알려 드려요 |
| du-ideal | 입금 완료 신청 (9월 17일 입금 완료 신청) | 입금 알림 (9월 17일 입금 알림) |
| du-ideal | 일부 납부 + 잔액 20,000원 | 일부 납부 · 남은 금액 20,000원 (잔액 1,240,000원 on 장부 stays) |
| du-empty | 회비를 생성하면 멤버에게 알림이 전송돼요 | 회비를 만들면 멤버에게 알려 드려요 |
| du-dialog | 3명, 총 90,000원을 납부 확인으로 표시할까요? | 3명의 회비 90,000원을 납부 확인할까요? |
| du-waive | 면제하면 이 멤버의 이번 달 회비가 면제 처리돼요 | 면제하면 최유나님은 9월 회비를 내지 않아도 돼요 |
| du-generate | 회비를 등록할까요? · 42명에게 1인당 30,000원 회비를 등록해요 · 등록 | 이번 달 회비를 만들까요? · 42명에게 30,000원씩 회비를 알려 드려요 · 만들기 |
| nt-ideal | 새 코트 후기 | 새 테니스장 후기 |
| nt-ideal | 신고가 접수됐어요 | 새 신고가 들어왔어요 |
| nt-ideal | 회비 입금이 확인됐어요 | 총무가 회비 입금을 확인했어요 |
| nt-member, nt-group | 친구 요청을 보냈어요 | 친구 신청을 보냈어요 |
| ms-first | 먼저 메시지를 보내보세요 | 먼저 메시지를 보내 보세요 |
| pt-few, club-partner-me | 3경기뿐이라 30%만 반영 | 3경기라 30%만 반영했어요 |
| pt-empty | 클럽에 멤버가 더 모이면 다시 확인해보세요 | 클럽에 멤버가 더 모이면 다시 확인해 보세요 |
| mb-roster | B조 수동 | B조 (직접 지정) |
| mb-kebab | 역할 변경 · 조 지정 | 역할 바꾸기 · 조 정하기 |
| mb-role-dialog | 박지훈님을 경기이사로 변경할까요? · 경기이사로 변경 | 박지훈님을 경기이사로 바꿀까요? · 바꾸기 |
| mb-group | 직접 지정해요 | 직접 정해요 |
| mb-remove | 내보낸 멤버는 다시 가입 신청을 해야 해요 | 내보낸 멤버도 다시 가입을 신청할 수 있어요 |
| mb-approved | 심사 대상 | 가입 신청 |
| mb-rv-empty | 심사할 신청이 없어요 | 새 가입 신청이 없어요 |
| mb-decline, jr-decline | 신청이 닫히고 신청자에게 알림이 가요 | 거절하면 신청자에게 알려 드려요 |
| mb-nominate | 심사 중 | 승인 대기 |
| cs-empty | 새로운 일정이 올라오면 여기에 표시돼요 | 새 일정이 올라오면 여기에 보여요 |
| rp-empty | 접수된 신고가 없어요 · 이 클럽에서 신고가 들어오면 여기에 표시돼요 | 들어온 신고가 없어요 · 이 클럽에 신고가 들어오면 여기에 보여요 |
| vn-empty | 등록된 테니스장이 없어요 · 자주 쓰는 테니스장을 등록하면 일정 만들기가 빨라져요 | 추가한 테니스장이 없어요 · 자주 쓰는 테니스장을 추가하면 일정을 더 빨리 만들 수 있어요 |
| vn-add | 없는 장소 추가 | 목록에 없는 테니스장 추가 |
| pa-ideal | 기한 오늘 20:00 | 오늘 20:00까지 |
| pa-remove | 참석 상태가 취소로 변경되고, 입금한 참가비는 환불 대상이 돼요 | 참석이 취소되고, 낸 참가비는 돌려줘야 해요 |
| fe-waive | 면제하면 이 참석자의 참가비가 면제 처리돼요 | 면제하면 정우진님은 참가비를 내지 않아도 돼요 |
| ac-late | 미도착 | 도착 전 |
| ac-open | 미응답 · 미응답 2명 | 응답 없음 · 응답 없음 2명 |
| ho-wall | 호스트만 접근할 수 있어요 · 번개를 만든 호스트가 신청을 정해요 | 호스트만 볼 수 있어요 · 번개를 만든 호스트가 신청을 승인해요 |
flat-v2-list-b.jsx
| Frame | Before | After |
|---|---|---|
| vn-filtered | 서울 강남구 외 1 | 서울 강남구 외 1곳 |
| vn-filter | 샵 · 24시 | 테니스 샵 · 24시간 |
| vn-end | 없는 테니스장 추가 | 목록에 없는 테니스장 추가 |
| (rows) | N원/시간 (12,000원/시간 and the rest) | 시간당 N원 |
| pl-first | 코트 밖에서의 노력도 실력으로 쌓여요 | 코트 밖에서 한 노력도 실력이 돼요 |
| pl-saved | 연습이 기록됐어요 | 연습을 기록했어요 |
| ac-ideal | 첫 월간 챌린지를 완료 (and the lines that end in 완료) | 첫 월간 챌린지를 완료했어요 · 한 달 동안 랠리 챌린지를 모두 완료했어요 · 한 달 동안 에이스 챌린지를 모두 완료했어요 · 한 달 동안 챔피언 챌린지를 모두 완료했어요 |
| ac-ideal | 한 카테고리 모든 티어를 완료해요 | 한 카테고리의 모든 티어를 완료해 보세요 |
| ac-parked | 50경기를 완료하면 달성돼요 · 100경기를 완료하면 달성돼요 · 12주 연속 참여하면 달성돼요 | 50경기를 하면 받을 수 있어요 · 100경기를 하면 받을 수 있어요 · 12주 연속 참여하면 받을 수 있어요 |
| ac-parked | 히든 | 숨은 업적 |
| lb-* (title) | 리더보드 | 순위표 |
| lb-region | 총 인원 | 전체 인원 |
| lb-noclub | 소속 클럽이 없어요 | 가입한 클럽이 없어요 |
| lb-nofriends | 친구를 추가하면 친구 순위를 볼 수 있어요 | 친구가 생기면 친구 순위를 볼 수 있어요 |
| lb-notready | 아직 준비되지 않았어요 · 순위가 매겨진 멤버가 생기면 보여요 | 아직 순위가 없어요 · 경기를 기록한 멤버가 생기면 순위가 보여요 |
| fr-ideal | 친구 요청 | 친구 신청 |
| fr-first | 친구를 추가해보세요 | 같이 친 사람에게 친구 신청을 보내 보세요 |
| cs-ideal | 만료 2027.08.30 (and the dates like it) | 2027년 8월 30일 만료 |
| cs-ideal | 재동의 팝업 | 다시 동의 요청 |
| cn-ideal | 접수 내역 | 받은 제안 |
| cn-overflow | 새 제안으로 대체됨 | 새 제안으로 바뀜 |
| oc-empty | 제출한 신청은 내역에 남아요. 제출 전 내용은 현재 화면에서만 보관해요. | 보낸 신청은 여기에 남아요. 보내기 전 내용은 이 화면을 나가면 사라져요. |
| oc-invalid | 소유권 링크가 올바르지 않아요 · 필요한 정보가 없을 수 있어요 | 소유권 링크를 열 수 없어요 · 링크를 다시 확인해 주세요 |
flat-v2-detail.jsx
| Frame | Before | After |
|---|---|---|
| sd-ideal | 응답 기한 | 신청 마감 |
| sd-soft-press | 내 레벨 NTRP 3.0은 참석 범위 밖이에요 | 내 수준(NTRP 3.0)이 이 일정의 수준 범위 밖이에요 |
| sd-fail | 참석하지 못했어요. 다시 시도해 주세요 | 참석을 신청하지 못했어요. 다시 시도해 주세요 |
| sd-expired | 다시 신청 | 다시 신청하기 |
| sd-wait, sd-locked | 예비 취소 · 예비 등록 | 예비 신청 취소 · 예비로 신청하기 |
| sd-done | 매너 태그 남기기 | 칭찬 남기기 |
| sd-done-out | 종료된 일정이에요 | 끝난 일정이에요 |
| sd-refund | 환불 받았어요 | 환불받았어요 |
| sd-o-manage | 일정 종료 | 일정 끝내기 |
| sd-o-cancel | 참석 유지 | 닫기 |
| sd-o-event | 참석자 6명에게 알림이 가고, 입금한 참가비는 환불 대상이 돼요 | 참석자 6명에게 알려 드리고, 낸 참가비는 돌려줘야 해요 |
| sd-o-toast | 참석했어요 | 참석을 신청했어요 |
| sd-o-window | 퇴장 | 떠나는 시간 |
| pv-ideal | 같은 장소 번개 · 승인 방식 · 호스트가 승인해요 | 같은 테니스장의 번개 · 참석 방식 · 승인 후 참석 |
| pv-cancel | 호스트에게 신청이 취소됐다고 알려요 · 신청 유지 | 호스트에게 신청을 취소했다고 알려 드려요 · 닫기 |
| vc-ideal | 12,000원 / 시간 · 15,000원 / 시간 | 시간당 12,000원 · 시간당 15,000원 |
| vc-ideal | 예약 일정 | 예약 시작 |
| vc-error, vc-notfound | 장소를 불러오지 못했어요 · 장소를 찾을 수 없어요 | 테니스장 정보를 불러오지 못했어요 · 테니스장을 찾을 수 없어요 |
| vc-menu | 정보 수정 제안 | 장소 정보 제안 |
| vc-menu-official | 코트 수 수정 | 코트 수 바꾸기 |
| vd-ideal | 네이버 장소 | 네이버 플레이스 |
| pp-o-report | 상세 내용(선택) · 신고 제출 | 자세한 내용(선택) · 신고하기 |
| pp-o-unfriend | 친구 목록에서 삭제돼요 | 친구 목록에서 빠져요 |
| pp-block | 서로의 프로필과 메시지가 보이지 않아요 | 서로 프로필을 볼 수 없고 메시지도 주고받을 수 없어요 |
| tr-ideal | 불참 1/2건 | 2027년 9월 5일 해제 | 불참 1건, 한도까지 1건 남았어요. 2027년 9월 5일에 빠져요 |
| tr-blocked | 불참 2/2건 | 2027년 8월 9일 해제 | 불참 2건으로 한도에 닿았어요. 2027년 8월 9일에 풀려요 |
| tr-ideal | 기록이 달라요? | 기록이 잘못됐나요? |
| tr-guide | 하루 전까지는 자유롭게 취소할 수 있고, 12시간 안에는 불참으로 기록돼요 | 하루 전까지는 마음껏 취소할 수 있어요. 12~24시간 전에 취소하면 불참 0.5, 12시간 안에 취소하면 불참 1로 기록돼요 |
| tr-guide | 칭찬한 사람 10명 · 칭찬한 사람 5명 | 칭찬해 준 사람 10명 · 칭찬해 준 사람 5명 |
| tr-record | 적용 규칙 · 집계 | 적용한 규칙 · 반영 |
| ga-ideal | 프로필 조회 · 가입 클릭 · 신청 시작 · 신청 완료 | 프로필을 본 사람 · 가입을 누른 사람 · 신청을 시작한 사람 · 신청을 마친 사람 |
| ga-ideal | 조회에서 가입 클릭 · 신청 시작에서 완료 | 본 사람 중 가입을 누른 비율 · 시작한 사람 중 신청을 마친 비율 |
| ga-ideal | 탐색 노출 · 탐색 피드 · 주요 경로 | 클럽 찾기에 보인 횟수 · 클럽 찾기 · 어디서 왔나요 |
| ga-ideal | 회비 수납 · 필요 정원 · 주간 연인원 | 회비 납부율 · 필요한 멤버 수 · 한 주 참석 합계 |
| ga-empty | 사람들이 클럽을 발견하고 가입을 시작하면 여기에 표시돼요 | 사람들이 클럽을 찾아보고 가입을 시작하면 여기에 보여요 |
| ga-wall | 권한이 없어요 | 운영진만 볼 수 있어요 |
| rp-week, rp-month | 4/7일 · 14/30일 · 9월 3주 | 7일 중 4일 · 30일 중 14일 · 9월 셋째 주 |
| dy-* (title) | 일일 요약 | 하루 기록 |
| dy-ideal | 최종 레이팅 | 이날 마지막 ELO |
| dy-invalid | 날짜가 올바르지 않아요 | 열 수 없는 날짜예요 |
| rv-ideal | 주요 선수 · 최다 대결 | 자주 함께한 선수 · 가장 많이 만난 상대 |
| an-ideal | 추석 연휴 문의 응대 안내 | 추석 연휴 고객센터 운영 안내 |
| an-empty | 아직 등록된 공지사항이 없어요 | 아직 공지사항이 없어요 |
| jr-ideal | 신청 9월 19일 | 9월 19일 신청 |
| jr-gone | 이미 처리된 신청이에요 | 이미 승인하거나 거절한 신청이에요 |
| jr-decline | 신청자에게 알림이 가고, 나중에 다시 신청할 수 있어요 | 신청자에게 알려 드려요. 신청자는 나중에 다시 신청할 수 있어요 |
| rc-* (title) | 제안 접수 내역 | 제안 상세 |
| rc-ideal, ow-ideal | 9월 19일 14:05 접수 · 9월 12일 14:05 접수 | 9월 19일 14:05에 보냄 · 9월 12일 14:05에 보냄 |
| rc-ideal | 접수 당시 06:00~21:00 · 접수 당시 없음 | 보낼 때 06:00~21:00 · 보낼 때 없음 |
| rc-ideal | 공개 참고 링크 열기 · 제안 철회하기 | 참고 링크 열기 · 제안 취소하기 |
| rc-withdraw | 이 제안을 철회할까요? · 접수 내역은 남고 검토 대상에서 제외돼요 · 제안 철회 | 이 제안을 취소할까요? · 내역은 남고, 검토는 하지 않아요 · 제안 취소 |
| rc-review | 검토 설명* · 결과와 함께 기록돼요 | 검토 의견* · 결과와 함께 남아요 |
| ow-ideal | 신청 철회하기 | 신청 취소하기 |
| ow-menu, ow-end | 소유권 종료 · 내 소유권을 종료할까요? · 다른 소유자의 소유권은 계속 유지돼요 | 소유권 끝내기 · 내 소유권을 끝낼까요? · 다른 소유자의 소유권은 그대로 남아요 |
| ow-invalid | 링크가 올바르지 않아요 · 필요한 정보가 없어요. 장소 상세에서 다시 열어 주세요 | 링크를 열 수 없어요 · 테니스장 화면에서 다시 열어 주세요 |
| sc-void | 레이팅에 반영되지 않아요 | ELO에 반영되지 않아요 |
| sc-o-stop-score | 그때까지 점수 | 그때까지의 점수 |
| sc-o-appeal-turned, mb-o-review | 박지훈 님이 먼저 입력했어요 · 박지훈 님이 말한 점수 | 박지훈님이 먼저 입력했어요 · 박지훈님이 입력한 점수 |
| mb-held | 시작할 수 있는 경기 3 · 대기 2 · 시작할 수 있는 경기 시작 | 바로 시작할 수 있는 경기 3개 · 대기 2개 · 3경기 시작하기 |
| mb-unsettled | 입금 확인이 안 된 3명 | 입금 확인 전 3명 |
| mb-o-menu | 팀 재배치 | 팀 바꾸기 |
| mb-o-draw | 매 게임마다 파트너가 바뀌어요 | 게임마다 파트너가 바뀌어요 |
| mb-o-end | 일정을 종료할까요? · 종료하면 점수를 고치기 어려워요 | 일정을 끝낼까요? · 끝내면 점수를 고치기 어려워요 |
| mb-o-end-unsettled | 그래도 종료 | 그래도 끝내기 |
| mb-o-stop | 규칙 위반으로 실격 처리 | 규칙 위반으로 실격 |
| mb-o-reopen | 다시 기록에 포함 | 다시 기록에 넣기 |
| mb-o-review | 그대로 유지 | 그대로 두기 |
| tn-done | 우승은 김민준 & 이서연이에요 | 김민준, 이서연 팀이 우승했어요 |
| tn-next | 정한 승리 팀은 되돌릴 수 없어요 | 넘어가면 이번 라운드 결과를 바꿀 수 없어요 |
| po-cdeleted | 삭제된 댓글입니다 | 삭제된 댓글이에요 |
| po-o-menu | 김민준 게시글 | 김민준님의 게시글 |
| dm-states | 전송 실패 | 보내지 못했어요 |
| ct-ideal | 문의 채널 | 문의 방법 |
| ct-ideal | …다른 클럽에 신청하는 것도 가능해요. | …다른 클럽에 신청할 수도 있어요. |
| ct-all | …입력하면 바로 개설돼요. 개설 후에는 초대 링크로 멤버를 모집할 수 있어요. | …입력하면 바로 만들어져요. 만든 뒤에는 초대 링크로 멤버를 모을 수 있어요. |
| pr-ideal | 내 데이터 다운로드 (the head; the button is 내 데이터 받기) | 내 데이터 |
flat-v2-forms.jsx
| Frame | Before | After |
|---|---|---|
| (every field) | 일시 * · 테니스장 * · 날짜 * · 활동 지역 * · 확인한 날짜 * · 휴장 시작일 * · 은행 * | 일시* · 테니스장* · 날짜* · 활동 지역* · 확인한 날짜* · 휴장 시작일* · 은행* |
| (every field) | 시작 시간 (선택) · 지역 (선택) · 테니스장 (선택) | 시작 시간(선택) · 지역(선택) · 테니스장(선택) |
| cs-ideal, cs-pickup | 실력 · 실력 무관 | 수준 · 수준 무관 |
| cs-entry | 지난 일정 복사 | 지난 일정 불러오기 |
| cs-noaccount | 입금 계좌가 없어요 · 계좌 등록 | 입금 계좌를 등록하면 참가비를 받을 수 있어요 · 계좌 등록하기 |
| cs-ed-level | 범위 설정 | 범위 정하기 |
| cs-ed-fee | 1인 참가비* | 1인당 참가비* |
| cs-ed-deadline | 직접 설정 | 직접 정하기 |
| cs-ed-repeat | 반복 종료 · 계속 | 반복 끝 · 계속 반복 |
| cs-w4 | 몇 명이서 뛰나요? | 몇 명이 치나요? |
| cs-w6 | 이대로 진행 | 이대로 하기 |
| cs-w-armed | 검토로 돌아가기 | 확인 화면으로 돌아가기 |
| cs-w-resume | 이어서 작성 중이에요 · 처음부터 | 쓰던 내용이 있어요 · 처음부터 쓰기 |
| cc-q3, cc-f3 | 실력 범위 · 실력 범위* | 수준 범위 · 수준 범위* |
| cc-q3 | 탐색에 공개 | 클럽 찾기에 공개 |
| cc-q3, cc-photo | 운영진 선별 · 멤버 업로드 후 승인 · 운영진만 업로드 | 운영진이 골라요 · 멤버가 올리면 운영진이 승인 · 운영진만 올려요 |
| cc-logo | 문양 사용 | 문양 쓰기 |
| cc-receipt-unknown | 연결을 확인하고 다시 확인해 주세요 | 인터넷 연결을 살펴본 뒤 다시 확인해 주세요 |
| cc-receipt-end | 끝내면 이 기기에 남은 복구 정보만 지워요 | 끝내면 이 기기에 남은 진행 상황만 지워요 |
| jc-unknown | 코드에 맞는 클럽이 없으니 다시 확인해 주세요 | 이 코드로 찾은 클럽이 없어요. 코드를 다시 확인해 주세요 |
| mr-full | 시간 초과 시 · 현재 점수로 종료 | 시간이 지나면 · 그때 점수로 끝내기 |
| mr-menu | 기본값으로 | 기본값으로 되돌리기 |
| vc-ideal | 장소 이름* · 주소로 지도 찾기 · 공개 참고 링크 | 테니스장 이름* · 주소로 위치 찾기 · 참고 링크 |
| vc-report | 중복 장소예요 | 같은 곳이 또 있어요 |
| vc-missing | 장소 상세 화면에서 이 기능을 열어 주세요 | 테니스장 화면에서 다시 열어 주세요 |
| oc-transfer | 현재 소유자의 동의가 먼저예요 | 지금 소유자가 먼저 동의해야 해요 |
| oc-invalid | 소유권 링크가 올바르지 않거나 필요한 정보가 없어요 | 링크를 다시 확인해 주세요 |
| ep-ideal | 구력 시작 연도(선택) | 테니스를 시작한 해(선택) |
| ep-under14 | 만 14세 미만은 등록할 수 없어요 | 만 14세부터 쓸 수 있어요 |
| ep-remove | 기본 이니셜로 표시돼요 | 이름 첫 글자가 보여요 |
| da-ideal | “탈퇴합니다”를 입력해 주세요* | '탈퇴합니다'를 입력해 주세요* |
| da-owner | 대표인 클럽이 있어 탈퇴할 수 없어요 | 대표인 클럽이 있어요. 대표를 넘기면 탈퇴할 수 있어요 |
| pv-level | 친구로 연결된 멤버만 볼 수 있어요 | 친구만 볼 수 있어요 |
| pv-preview-stranger | 이니셜로 표시돼요 · 비공개로 표시돼요 | 이름 첫 글자로 보여요 · 비공개로 보여요 |
| sg-ideal | 조용 시간 | 방해 금지 시간 |
| sg-ideal | 댓글, 멘션, 친구 요청, 신뢰 등급 | 댓글, 멘션, 친구 신청, 신뢰 등급 |
| sg-ideal | 알림에 메시지 내용 표시 | 알림에 메시지 내용 보이기 |
| cn-ideal | 활성화 (beside 동의하지 않았어요) | 동의하기 |
| cn-ideal | [선택] 야간 마케팅 푸시 알림 수신에 동의합니다 | [선택] 야간 마케팅 푸시 알림 수신 동의 |
| cn-text | 시행일 2026. 9. 1. · 마케팅 푸시 알림 수신에 동의합니다 | 2026년 9월 1일 시행 · 마케팅 푸시 알림 수신 동의 |
| cn-revoke | 철회해도 동의 관리에서 다시 활성화할 수 있어요 | 철회해도 동의 관리에서 다시 동의할 수 있어요 |
| ks-ideal | 자동 생성 문양 · 출석률 가정 · 위험 구역 | 자동 문양 · 예상 출석률 · 주의가 필요한 설정 |
| ks-member | 클럽 설정은 대표와 총무만 변경할 수 있어요 | 클럽 설정은 대표와 총무만 바꿀 수 있어요 |
| ks-banner-remove | 삭제하면 기본 사진이 표시돼요 | 삭제하면 기본 사진이 보여요 |
| ks-transfer-confirm | 이 작업은 되돌릴 수 없어요 | 넘긴 뒤에는 되돌릴 수 없어요 |
| ks-archive | 보관 후 30일 안에는 복구할 수 있고, 그 후에는 영구 삭제돼요 | 30일 안에는 복구할 수 있어요. 그 뒤에는 클럽이 완전히 지워져요 |
| ks-restore | 활동 중인 멤버에게 알림이 전달돼요 | 멤버들에게 알려 드려요 |
The kit (flat-v2-kit.jsx, -kit-chrome, -kit-content, -kit-controls)
| Piece | Before | After |
|---|---|---|
| the create guard Dialog | 나갈까요? · 처음부터 다시 작성해야 해요 · 계속 작성 | 나갈까요? · 지금 나가면 입력한 내용이 사라져요 · 계속하기 |
| a row's unranked line | 랭킹 전 | 순위 전 |
| the friend request row | 친구 요청 | 친구 신청 |
| the rating label | 레이팅 | ELO |
| the person names in the kit's examples | 박지훈 님 | 박지훈님 |
5. After the review of the rendered diff
The rendered copy before and after the pass (copy-diff.mjs, 496 lines on 75 pages) was read line by line, and the agents' questions were answered. What changed from the tables above:
- The consent rows keep their legal wording (…에 동의합니다): they are the shipped legal strings, verbatim until counsel reviews them (R1 says so; the lint lets a consent's 동의합니다 stand).
- The create guard is worded for every flow it guards (a friend picker and a password form write nothing): 나갈까요? · 지금 나가면 입력한 내용이 사라져요 · 계속하기.
- Doors keep their pages' titles (§ 1.19): the 회비 setup steps stay 입금 계좌 등록, 회비 설정, 멤버 초대.
- A line no longer repeats its title: a wall's body says what the page is for (성장 분석은 클럽 운영에 쓰는 화면이에요), a make-or-edit wall says who may (클럽 멤버만 만들 수 있어요, 운영진만 바꿀 수 있어요), and a confirm body that restated its title says the consequence (취소해도 다시 신청할 수 있어요; 이미 답한 신청이에요).
- Every 20회 count says 최근 (최근 20회 중 참석), the feed's deadline reads 신청 마감, and the receipts' list head is 제안 내역 (소유권: 신청 내역).
- A word swap keeps its particle right (순위이 → 순위가), and a sentence never joins with a separator dot (the boards' verifier): the cap lines are two sentences.