docs(FR-2650): add locale-capture spec + initial 22 page-overview captures (ko/ja/th)#6885
Conversation
…tures (ko/ja/th) Introduces e2e/screenshot-locale-capture.spec.ts which iterates a manifest of (filename, url, optional setup, optional capture target) and captures each in ko/ja/th locales using window.switchLanguage (PR #5796 / FR-2230). Initial manifest covers 22 no-setup page-overview captures across dashboard, summary, agent_summary, statistics, my_environments, start, image list, agent list, credential views, fair share pages, chat, admin pages, and the header element. Total 66 PNG files (22 × 3 langs). Further entries (modals, forms, action sequences) can be appended to the MANIFEST array with per-image setup/cleanup functions. Resolves FR-2650 (initial)
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has required the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
Closing — manifest-based bulk capture approach is unsuitable. Many captures were wrong: orphaned filenames (admin_dashboard, statistics, my_environment_page, model_store_page_overview), wrong tabs (credentials/credential_list_tab both default to Users tab on /credential), missing admin mode (admin_serving_page, image_list_page, agent_list captured user view), modal-vs-page mismatches (agent_settings is a modal not the page), and drill-down state not captured (fair_share_user/project/domain_page require Resource Group → Domain → Project click sequence). Switching to direct Playwright MCP captures with per-image context. Branch reset; new PR will follow. |
…ext rendering (#6891) Stacked on top of #6868. Resolves part of FR-2650. ## Summary First incremental batch of locale screenshot recapture under FR-2650. **1 file** (`dashboard.png`) recaptured in 3 locales using `window.switchLanguage()` (PR #5796 / FR-2230). ## Approach The earlier manifest-based bulk approach (PR #6885, closed) produced too many context-wrong captures (admin vs user view, wrong tabs, modal vs page, drill-down state, etc.). This PR series uses **direct Playwright MCP capture** with per-image context lookup. Progress tracked at `packages/backend.ai-webui-docs/.agent-output/fr-2650-progress.md` (gitignored, 259 entries pending). Next sessions pick up from there incrementally. ## Capture process used 1. Navigate to `/dashboard` in dev WebUI 2. Hide React Grab dev toolbar 3. `window.switchLanguage('ko')` → screenshot → save to `src/ko/images/dashboard.png` 4. `window.switchLanguage('ja')` → screenshot → save to `src/ja/images/dashboard.png` 5. `window.switchLanguage('th')` → screenshot → save to `src/th/images/dashboard.png` Viewport 1440×900 logical, light mode, admin user (`admin@lablup.com`). ## Note for reviewers This PR will be amended/extended as more entries get captured incrementally. Current dashboard layout differs from the prior `en/images/dashboard.png` (different widget arrangement); framing matches the current dev environment which is what the docs render against. 🤖 Generated with [Claude Code](https://claude.com/claude-code)

Stacked on top of #6868.
Resolves FR-2650 (initial wave). Parent: FR-2645.
Summary
Introduces a manifest-driven Playwright spec that captures docs screenshots in ko, ja, th UI locales using
window.switchLanguage(lang)(PR #5796 / FR-2230) — no per-language navigation required.This first wave covers 22 no-setup page-overview captures × 3 languages = 66 PNG files. Further entries (modals, forms, action sequences) can be appended to the
MANIFESTarray with per-imagesetup/cleanupfunctions.Why a spec instead of manual capture
Per the FR-2650 audit there are ~272 unique WebUI images that need re-capture in 3 locales (~816 captures). Doing this manually is impractical and error-prone:
MANIFESTone entry at a time as time permits.What's in this PR
e2e/screenshot-locale-capture.spec.tsA Playwright spec that:
loginAsAdminfrom existingtest-util).SCREENSHOT-GUIDELINES.md).setup(), hides React Grab dev toolbar, then loopsswitchLanguage('ko'|'ja'|'th')→ screenshot → save topackages/backend.ai-webui-docs/src/{lang}/images/<file>.png.SCREENSHOT_FILTERenv var filters entries by filename substring (e.g.SCREENSHOT_FILTER=dashboard ...only captures dashboard).Initial manifest (22 entries)
[data-testid="webui-header"])Generated outputs
66 new/updated PNG files under:
packages/backend.ai-webui-docs/src/ko/images/(22 files in Korean UI)packages/backend.ai-webui-docs/src/ja/images/(22 files in Japanese UI)packages/backend.ai-webui-docs/src/th/images/(22 files in Thai UI)Run the spec
Requires the dev WebUI server running at
http://localhost:9081(orE2E_WEBUI_ENDPOINTenv var) and an admin user (credentials ine2e/envs/.env.playwright).Follow-up work
The remaining ~250 unique images mostly require state setup (open modal, fill form, populate folder list, start session, etc.). Add them to
MANIFESTincrementally withsetup/cleanupfunctions. Pattern example is included as a comment in the spec.🤖 Generated with Claude Code