@@ -9,8 +9,8 @@ This report documents the remaining user-facing strings in `packages/app/src` th
99## Current State
1010
1111- The app uses ` useLanguage().t("...") ` with dictionaries in ` packages/app/src/i18n/en.ts ` and ` packages/app/src/i18n/zh.ts ` .
12- - Recent progress (already translated): ` packages/app/src/pages/home.tsx ` , ` packages/app/src/pages/layout.tsx ` , ` packages/app/src/pages/session.tsx ` , ` packages/app/src/components/prompt-input.tsx ` , ` packages/app/src/components/dialog-connect-provider.tsx ` , ` packages/app/src/components/session/session-header.tsx ` , ` packages/app/src/pages/error.tsx ` (plus new keys added in both dictionaries).
13- - Dictionary parity check: ` en.ts ` and ` zh.ts ` currently contain the same key set (354 keys each; no missing or extra keys).
12+ - Recent progress (already translated): ` packages/app/src/pages/home.tsx ` , ` packages/app/src/pages/layout.tsx ` , ` packages/app/src/pages/session.tsx ` , ` packages/app/src/components/prompt-input.tsx ` , ` packages/app/src/components/dialog-connect-provider.tsx ` , ` packages/app/src/components/session/session-header.tsx ` , ` packages/app/src/pages/error.tsx ` , ` packages/app/src/components/session/session-new-view.tsx ` , ` packages/app/src/components/session-context-usage.tsx ` , ` packages/app/src/components/session/session-context-tab.tsx ` (plus new keys added in both dictionaries).
13+ - Dictionary parity check: ` en.ts ` and ` zh.ts ` currently contain the same key set (362 keys each; no missing or extra keys).
1414
1515## Methodology
1616
@@ -76,32 +76,30 @@ Completed (2026-01-20):
7676
7777File: ` packages/app/src/components/session/session-new-view.tsx `
7878
79- ** Untranslated strings **
80- - "New session"
81- - "Main branch" / "Main branch ({branch})"
82- - "Create new worktree"
83- - "Last modified"
79+ Completed (2026-01-20):
80+
81+ - Reused existing ` command.session.new ` for the heading.
82+ - Localized worktree labels via ` session. new.worktree.* ` (main branch, main branch w/ branch name, create worktree).
83+ - Localized "Last modified" via ` session.new.lastModified ` and used ` language.locale() ` for Luxon relative time.
8484
8585### 6) Context Usage Tooltip
8686
8787File: ` packages/app/src/components/session-context-usage.tsx `
8888
89- ** Untranslated tooltip labels**
90- - "Tokens", "Usage", "Cost"
91- - "Click to view context"
89+ Completed (2026-01-20):
9290
93- ** Locale formatting issue**
94- - Uses ` new Intl.NumberFormat("en-US", { style: "currency", currency: "USD" }) ` .
95- - Recommendation: format using the active locale (e.g. ` language.locale() ` ), or at least ` navigator.language ` .
91+ - Localized tooltip labels + CTA via ` context.usage.* ` keys.
92+ - Switched currency and number formatting to the active locale (` language.locale() ` ).
9693
9794### 7) Session Context Tab (Formatting)
9895
9996File: ` packages/app/src/components/session/session-context-tab.tsx `
10097
101- - Already uses many translation keys for labels (e.g. ` context.breakdown.system ` ).
102- - Still forces ` Intl.NumberFormat("en-US", ...) ` for currency.
103- - Has some non-translated fallback symbols like "--" and "-" style output (e.g. "---" / "-" / "--" equivalent "--" is used as "—" in code).
104- - If you want fully localized punctuation, these should become keys as well.
98+ Completed (2026-01-20):
99+
100+ - Switched currency formatting to the active locale (` language.locale() ` ).
101+ - Also used ` language.locale() ` for number/date formatting.
102+ - Note: "—" placeholders remain hardcoded; optional to localize.
105103
106104### 8) LSP Indicator
107105
@@ -211,18 +209,18 @@ This is only thrown in DEV and is more of a developer diagnostic. Optional to tr
211209
212210## Prioritized Implementation Plan
213211
214- 1 . ` packages/app/src/components/session/session-new-view.tsx `
215- 2 . ` packages/app/src/components/session-context-usage.tsx ` + locale formatting improvements (also ` packages/app/src/components/session/session-context-tab.tsx ` )
216- 3 . Small stragglers:
212+ 1 . Small stragglers:
217213 - ` packages/app/src/components/session-lsp-indicator.tsx `
218214 - ` packages/app/src/components/session/session-sortable-tab.tsx `
219215 - ` packages/app/src/components/titlebar.tsx `
220216 - ` packages/app/src/components/dialog-select-model.tsx `
217+ - ` packages/app/src/components/dialog-select-server.tsx ` (optional URL placeholder)
218+ 2 . Context modules:
221219 - ` packages/app/src/context/notification.tsx `
222220 - ` packages/app/src/context/global-sync.tsx `
223221 - ` packages/app/src/context/file.tsx ` + ` packages/app/src/context/local.tsx `
224222 - ` packages/app/src/utils/prompt.ts `
225- 4 . Decide on the terminal naming approach (` packages/app/src/context/terminal.tsx ` ).
223+ 3 . Decide on the terminal naming approach (` packages/app/src/context/terminal.tsx ` ).
226224
227225## Suggested Key Naming Conventions
228226
@@ -245,9 +243,6 @@ Pages:
245243- (none)
246244
247245Components:
248- - ` packages/app/src/components/session/session-new-view.tsx `
249- - ` packages/app/src/components/session-context-usage.tsx `
250- - ` packages/app/src/components/session/session-context-tab.tsx ` (formatting locale)
251246- ` packages/app/src/components/session-lsp-indicator.tsx `
252247- ` packages/app/src/components/session/session-sortable-tab.tsx `
253248- ` packages/app/src/components/titlebar.tsx `
0 commit comments