Skip to content

feat(web): 라이브러리 surface i18n + LikesGrid 날짜 로케일 처리 (#846)#881

Merged
thxforall merged 1 commit into
devfrom
feat/846-library-i18n
Jul 10, 2026
Merged

feat(web): 라이브러리 surface i18n + LikesGrid 날짜 로케일 처리 (#846)#881
thxforall merged 1 commit into
devfrom
feat/846-library-i18n

Conversation

@thxforall

Copy link
Copy Markdown
Contributor

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 위해 LikesGridItemCard export(Home RecentlyDecodedCard와 동일 선례).

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 --noEmit 0 errors · 변경파일 eslint/prettier(3.8.1) clean · bun run test 131 files / 740 tests green(신규 7 + 기존 i18n 포함) · messages-catalog-integrity green.

mp-review (2축)

남은 nits (비블로킹, 후속)

Closes #846

🤖 Generated with Claude Code

라이브러리 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>
@thxforall thxforall added the bump:patch Bug fixes / internal refactor label Jul 10, 2026
@vercel

vercel Bot commented Jul 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
decoded-app Ready Ready Preview, Comment Jul 10, 2026 8:20am

@thxforall thxforall moved this from Todo to In Progress in decoded-monorepo Jul 10, 2026
@thxforall
thxforall marked this pull request as ready for review July 10, 2026 16:39
@thxforall
thxforall merged commit 0e893f3 into dev Jul 10, 2026
11 checks passed
@github-project-automation github-project-automation Bot moved this from In Progress to Done in decoded-monorepo Jul 10, 2026
@thxforall thxforall moved this from Done to In Progress in decoded-monorepo Jul 10, 2026
@thxforall thxforall moved this from In Progress to Done in decoded-monorepo Jul 10, 2026
github-actions Bot pushed a commit that referenced this pull request Jul 10, 2026
@cocoyoon
cocoyoon deleted the feat/846-library-i18n branch July 11, 2026 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bump:patch Bug fixes / internal refactor

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant