feat(web): 라이브러리 surface i18n + LikesGrid 날짜 로케일 처리 (#846)#881
Merged
Conversation
라이브러리 surface(LibraryShell, LikedItemsGrid, LikesGrid)를 Home #838 패턴대로 `Library` 네임스페이스로 ko/en 배선하고, LikesGrid의 영/한 혼용 문구와 `ko-KR` 하드코딩 날짜 포맷을 로케일-어웨어로 정리한다. - messages/{ko,en}.json에 `Library` 네임스페이스 1:1 추가 (실제 한국어 초안) - LikesGrid 날짜: `toLocaleDateString("ko-KR", …)` → Home ICU-plural 상대시간 (ko "N일 전" / en "N days ago", ko=other만). >30일 fallback도 활성 로케일 소비 (하드코딩 ko-KR 제거) - LikesGrid 영/한 혼용(error/retry/untitled/postAlt/empty) 전부 t() 배선 - 테스트: library-messages-parity(Home 복제) + LikedItemsGrid.locale + LikesGrid.timeAgo. tsc 0 · 신규 7 + 기존 i18n 그린 Note: LikesGrid는 profile 디렉터리 컴포넌트지만 Library 탭에서 렌더되므로 #846 소유로 `Library` 네임스페이스를 읽는다. 향후 Profile 슬라이스는 LikesGrid를 재배선하지 말 것 (공유 문구 경계). Closes #846 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
thxforall
marked this pull request as ready for review
July 10, 2026 16:39
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
wayfinder 슬라이스 #846 — 라이브러리 surface를 Home #838 패턴대로
Library네임스페이스로 ko/en 배선하고, LikesGrid의 영/한 혼용 문구 +ko-KR하드코딩 날짜 포맷을 로케일-어웨어로 정리.정본 패턴:
docs/agent/i18n-surface-pattern.md(Home = reference). 라이브러리는 CSR이라 패턴 step2(RSC locale 전달)는 해당 없음.Changes
messages/{ko,en}.json:Library네임스페이스 1:1 추가 (실제 한국어 초안 — header/signedOut/tabs/comingSoon/lookSets/rail/likedItems/likes/time).LibraryShell.tsx: 모든 문구useTranslations("Library")배선. TABS 배열 →TAB_IDS+TAB_LABEL_KEY맵(hooks는 모듈 스코프 불가).LikedItemsGrid.tsx: 빈 상태 문구 배선.LikesGrid.tsx(profile dir): 영/한 혼용(error/retry/untitled/postAlt/empty) 전부 배선 + 날짜를 Home ICU-plural 상대시간으로 교체 — ko "N일 전" / en "N days ago" (ko=other만). >30일 fallback도toLocaleDateString(locale, …)로 활성 로케일 소비(하드코딩ko-KR제거). 테스트 seam 위해LikesGridItemCardexport(HomeRecentlyDecodedCard와 동일 선례).Tests
i18n/__tests__/library-messages-parity.test.ts(Home parity 복제 → Library 1:1)lib/components/library/__tests__/LikedItemsGrid.locale.test.tsx(문구 ko/en 렌더)lib/components/profile/__tests__/LikesGrid.timeAgo.test.tsx(상대시간 로케일-어웨어)검증(실측):
tsc --noEmit0 errors · 변경파일 eslint/prettier(3.8.1) clean ·bun run test131 files / 740 tests green(신규 7 + 기존 i18n 포함) · messages-catalog-integrity green.mp-review (2축)
남은 nits (비블로킹, 후속)
LikesGrid는profile/컴포넌트지만 Library 탭에서 렌더되어Library네임스페이스를 읽음. 두 라우트 모두[locale]레이아웃이 전체 카탈로그를 mount하므로 런타임 안전. 향후 Profile 슬라이스(게스트/Soft Wall 게이트 단일화 + continue-as-guest #850)는 LikesGrid를 재배선하지 말 것.timeAgo와 중복. 3번째 surface가 복제하는 시점에 공용 util 추출 권장(이번 슬라이스 범위 밖 — baseline 준수가 slice의 몫). Home fallback의 baretoLocaleDateString()잠재 버그도 그때 함께 수정.library/page.tsxmetadata 미현지화(fix(web): posts/[id] generateMetadata — API 일시 실패를 404로 오인해 "Post Not Found" 메타 서빙 (prod 관찰) #767/fix(web): [locale] explore/profile canonical에 locale prefix 누락 + hreflang alternates 부재 #768 소관), collections+ New버튼(비활성 flag 뒤 dead code).Closes #846
🤖 Generated with Claude Code