Skip to content

feat(i18n): add prd namespace translations + register missing tasks for zh-CN/ko#924

Open
WenhuaXia wants to merge 8 commits into
siteboon:mainfrom
WenhuaXia:fix/tasks-i18n-small
Open

feat(i18n): add prd namespace translations + register missing tasks for zh-CN/ko#924
WenhuaXia wants to merge 8 commits into
siteboon:mainfrom
WenhuaXia:fix/tasks-i18n-small

Conversation

@WenhuaXia

@WenhuaXia WenhuaXia commented Jun 26, 2026

Copy link
Copy Markdown

新增 i18n 翻译 + 修复缺失的 namespace 注册

Changes

  • Add prd namespace — New prd.json translation files for all 9 locales (en, de, ja, ko, ru, it, tr, zh-CN, zh-TW)
  • Register prd namespace in config.js for all locales
  • Register missing tasks namespace for zh-CN and ko (files existed but were never imported)
  • Add tasks.json translation files for zh-CN and ko

Why

This addresses the i18n gaps from the previous PR #868. The config issue mentioned by @blackmammoth has been fixed upstream, so this PR only contains the pure translation additions.

Files changed

  • src/i18n/config.js — import + register prd namespace; register tasks for zh-CN/ko
  • src/i18n/locales/*/prd.json — new translation files (9 locales)
  • src/i18n/locales/zh-CN/tasks.json — new
  • src/i18n/locales/ko/tasks.json — new

Summary by CodeRabbit

  • New Features

    • Added PRD (Product Requirements Document) workflow localization across multiple languages, including editor controls, task-generation modal copy, overwrite confirmations, and empty-content alerts.
  • Improvements

    • Expanded internationalization across the app UI (tasks, Browser/Git panels, settings, and accessibility labels), replacing hardcoded text with translated strings, including model selector prompts.
  • Bug Fixes

    • Improved Browser Use command execution error reporting by logging command context and surfacing a clearer aggregated error message on failures.

@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR adds a prd translation namespace and locale files, localizes browser and git UI text, updates provider-selection and settings copy, and adds Korean and Simplified Chinese task translations.

Changes

i18n and PRD namespace wiring

Layer / File(s) Summary
Register PRD namespace
src/i18n/config.js, src/i18n/locales/*/prd.json
src/i18n/config.js imports prd.json, adds prd resources to each locale, and includes prd in the namespace list. New prd.json files define PRD editor strings for header, footer, loading, modal, and empty-state alerts across the supported locales.

Chat provider selection strings

Layer / File(s) Summary
Update provider selection text
src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx, src/i18n/locales/*/chat.json, src/components/main-content/view/subcomponents/MainContentTitle.tsx
The provider-selection dialog uses translated title/body text, chat locale files add modelSelector and chooseAmodel, and the main content tab title now uses translated browser/project labels.

Browser, settings, and session text

Layer / File(s) Summary
Localize browser panel and settings
server/modules/browser-use/browser-use.service.ts, src/components/browser-use/view/BrowserUsePanel.tsx, src/components/settings/view/tabs/browser-use-settings/BrowserUseSettingsTab.tsx, src/i18n/locales/*/common.json, src/i18n/locales/*/settings.json
The browser panel, browser settings tab, and browser-use command handling now use translated text for runtime states, prompts, counters, actions, empty states, and errors, with matching browser panel/settings keys added to the locale files.

Git panel localization

Layer / File(s) Summary
Localize git panel UI
src/components/git-panel/view/..., src/i18n/locales/*/common.json
The git panel header, tabs, changes view, branches view, commit composer, file-status legend, history view, and new-branch modal now render translated labels, tooltips, button text, and empty-state copy, with new gitPanel strings added to shared locale files.

Task banner and task locales

Layer / File(s) Summary
Localize task banner and task UI
src/components/task-master/view/NextTaskBanner.tsx, src/i18n/locales/ko/tasks.json, src/i18n/locales/zh-CN/tasks.json
The TaskMaster banner now uses translated setup copy, and the Korean and Simplified Chinese task locales add onboarding, setup, help, filter/sort, view, status, priority, button, PRD timestamp, and empty-state strings.

Possibly related PRs

  • siteboon/claudecodeui#303: This PR also extends the shared i18n configuration by registering a new translation namespace and its locale resources.
  • siteboon/claudecodeui#327: This PR also modifies src/i18n/config.js to register an additional namespace and resource set.
  • siteboon/claudecodeui#728: This PR touches the same provider-selection empty-state i18n wiring and matching chat locale keys.

Suggested reviewers

  • blackmammoth

Poem

A rabbit hopped through strings tonight,
With prd and tabs all shining bright.
Git and browser sang in tune,
While task words bloomed by afternoon.
🐰✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 8.70% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main i18n additions: new PRD translations and missing tasks locales for zh-CN/ko.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/i18n/locales/de/prd.json`:
- Around line 10-11: The two wrap label entries in the German locale JSON
contain a spelling mistake, so update both strings in the locale object to use
the correct German term. Fix the values for enableWrap and disableWrap in the
prd locale so they both read with Zeilenumbruch instead of Zeumbruch, keeping
the existing keys and message structure unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: dee9c32c-88e7-4ee2-9a0c-2b9b9da95304

📥 Commits

Reviewing files that changed from the base of the PR and between ed4ae31 and 240d830.

📒 Files selected for processing (12)
  • src/i18n/config.js
  • src/i18n/locales/de/prd.json
  • src/i18n/locales/en/prd.json
  • src/i18n/locales/it/prd.json
  • src/i18n/locales/ja/prd.json
  • src/i18n/locales/ko/prd.json
  • src/i18n/locales/ko/tasks.json
  • src/i18n/locales/ru/prd.json
  • src/i18n/locales/tr/prd.json
  • src/i18n/locales/zh-CN/prd.json
  • src/i18n/locales/zh-CN/tasks.json
  • src/i18n/locales/zh-TW/prd.json

Comment on lines +10 to +11
"enableWrap": "Zeumbruch aktivieren",
"disableWrap": "Zeumbruch deaktivieren",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Fix the typo in both wrap labels.

Both strings currently render Zeumbruch, which is misspelled in German. Use Zeilenumbruch in each label.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/i18n/locales/de/prd.json` around lines 10 - 11, The two wrap label
entries in the German locale JSON contain a spelling mistake, so update both
strings in the locale object to use the correct German term. Fix the values for
enableWrap and disableWrap in the prd locale so they both read with
Zeilenumbruch instead of Zeumbruch, keeping the existing keys and message
structure unchanged.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
src/components/git-panel/view/GitPanelHeader.tsx (1)

198-233: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Add aria-labels to the icon-only git action buttons.

On mobile, publish/fetch/pull/push lose their visible text, and revert/refresh are always icon-only. title is not a reliable accessible name, so these controls can become unlabeled for assistive tech. Add localized aria-labels alongside the tooltips.

Also applies to: 245-256

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/git-panel/view/GitPanelHeader.tsx` around lines 198 - 233, The
git action buttons in GitPanelHeader can become icon-only on mobile or for
revert/refresh, so they need explicit accessible names. Add localized aria-label
props to the publish/fetch/pull/push buttons and the existing revert/refresh
controls, using the same translation keys or equivalent labels already used in
GitPanelHeader instead of relying on title. Keep the visible text/tooltips
as-is, but ensure each button has a stable aria-label even when the span is
hidden.
src/components/git-panel/view/changes/CommitComposer.tsx (1)

141-145: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Give the generate-message icon button an accessible name.

This control is still icon-only and only exposes a title. Add a localized aria-label so screen readers can identify it consistently.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/git-panel/view/changes/CommitComposer.tsx` around lines 141 -
145, The generate-message icon button in CommitComposer is still only labeled by
title, so add a localized aria-label to the same button using the existing
t('gitPanel.composer.generateMessage') string. Update the button in
CommitComposer so screen readers have a consistent accessible name while keeping
the current title and click behavior intact.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/components/browser-use/view/BrowserUsePanel.tsx`:
- Around line 69-82: The relative-time output in formatRelativeTime and its
caller is still hardcoded English, so localize the full phrase and units instead
of returning raw s/m/h/d strings. Update BrowserUsePanel’s time formatting path
to use the translation helper t for seconds, minutes, hours, days, and the
surrounding “Updated …” text so locales can translate and reorder the entire
message.
- Around line 244-245: The session status badges in BrowserUsePanel still render
raw enum values instead of localized text. Update the status rendering logic in
BrowserUsePanel (including the Badge usages around the session/session list
views) to pass session.status through t(...) before display, and apply the same
mapping for the other status render paths mentioned in the component so ready,
stopped, and unavailable all use translated labels consistently.

In `@src/components/git-panel/view/branches/BranchesView.tsx`:
- Around line 76-79: The branch summary text in BranchesView is still assembled
with English ordering and punctuation, so update the rendering to use full
translation keys with interpolation instead of concatenating symbols and labels.
Fix the summary strings in the branch list and related summary display
(including the Local/Remote summary referenced in the comment) by moving the
formatting into the i18n layer, using the existing translation helper in
BranchesView so each locale can control the complete message.

In `@src/components/git-panel/view/GitPanelHeader.tsx`:
- Around line 134-144: The ahead/behind badges and pull/push labels in
GitPanelHeader still build text with hard-coded count placement instead of using
count-aware i18n. Update the translation usage around the aheadCount/behindCount
badges and the related pull/push buttons to pass count/interpolation variables
directly into t(...) so the locale controls pluralization and word order. Use
the existing GitPanelHeader render logic and the translation keys referenced
there to replace the `${count} ${t(...)}` and `${t(...)} ${count}` patterns with
full translation strings.

In `@src/components/main-content/view/subcomponents/MainContentTitle.tsx`:
- Around line 32-35: `getTabTitle` is still using an overly narrow translation
callback type, so the fallback argument passed through `MainContentTitle` does
not match the helper signature. Update the `t` parameter type to reflect the
real i18n call shape used by `getTabTitle`, and make sure the `tabs.project`
call with the fallback string is accepted without narrowing it back to a
single-argument function.

In
`@src/components/settings/view/tabs/browser-use-settings/BrowserUseSettingsTab.tsx`:
- Line 147: The status chip text in BrowserUseSettingsTab is still partially
hardcoded because the “Status:” prefix is outside i18n and concatenating it with
the translated value prevents locale-specific phrasing. Update the rendering
around the status chip to use a single translated message key for the full
label/value text, and adjust the existing browserSettings status strings so the
complete chip content comes from i18n rather than manual string assembly.

In `@src/components/task-master/view/NextTaskBanner.tsx`:
- Around line 105-106: The toggle label in NextTaskBanner is hardcoded for the
expanded state, so non-zh-CN locales end up with mixed-language UI. Update the
conditional label used by the showSetupDetails toggle to pull from i18n instead
of returning the literal Chinese text, adding a localized key under tasks (or
equivalent) alongside the existing t('notConfigured.whatIsTitle') usage.

---

Outside diff comments:
In `@src/components/git-panel/view/changes/CommitComposer.tsx`:
- Around line 141-145: The generate-message icon button in CommitComposer is
still only labeled by title, so add a localized aria-label to the same button
using the existing t('gitPanel.composer.generateMessage') string. Update the
button in CommitComposer so screen readers have a consistent accessible name
while keeping the current title and click behavior intact.

In `@src/components/git-panel/view/GitPanelHeader.tsx`:
- Around line 198-233: The git action buttons in GitPanelHeader can become
icon-only on mobile or for revert/refresh, so they need explicit accessible
names. Add localized aria-label props to the publish/fetch/pull/push buttons and
the existing revert/refresh controls, using the same translation keys or
equivalent labels already used in GitPanelHeader instead of relying on title.
Keep the visible text/tooltips as-is, but ensure each button has a stable
aria-label even when the span is hidden.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: ba7e38aa-4da5-48ae-b47a-24c5cb81e28d

📥 Commits

Reviewing files that changed from the base of the PR and between 240d830 and 6875130.

📒 Files selected for processing (28)
  • server/modules/browser-use/browser-use.service.ts
  • src/components/browser-use/view/BrowserUsePanel.tsx
  • src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx
  • src/components/git-panel/view/GitPanelHeader.tsx
  • src/components/git-panel/view/GitViewTabs.tsx
  • src/components/git-panel/view/branches/BranchesView.tsx
  • src/components/git-panel/view/changes/ChangesView.tsx
  • src/components/git-panel/view/changes/CommitComposer.tsx
  • src/components/git-panel/view/changes/FileStatusLegend.tsx
  • src/components/git-panel/view/history/HistoryView.tsx
  • src/components/git-panel/view/modals/NewBranchModal.tsx
  • src/components/main-content/view/subcomponents/MainContentTitle.tsx
  • src/components/settings/view/tabs/browser-use-settings/BrowserUseSettingsTab.tsx
  • src/components/task-master/view/NextTaskBanner.tsx
  • src/i18n/locales/de/chat.json
  • src/i18n/locales/en/chat.json
  • src/i18n/locales/en/common.json
  • src/i18n/locales/en/settings.json
  • src/i18n/locales/fr/chat.json
  • src/i18n/locales/it/chat.json
  • src/i18n/locales/ja/chat.json
  • src/i18n/locales/ko/chat.json
  • src/i18n/locales/ru/chat.json
  • src/i18n/locales/tr/chat.json
  • src/i18n/locales/zh-CN/chat.json
  • src/i18n/locales/zh-CN/common.json
  • src/i18n/locales/zh-CN/settings.json
  • src/i18n/locales/zh-TW/chat.json
✅ Files skipped from review due to trivial changes (4)
  • src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx
  • src/i18n/locales/zh-CN/common.json
  • src/i18n/locales/zh-CN/settings.json
  • src/components/git-panel/view/modals/NewBranchModal.tsx

Comment thread src/components/browser-use/view/BrowserUsePanel.tsx
Comment on lines 244 to 245
<Badge variant="outline" className="shrink-0 border-border bg-background text-[10px] text-muted-foreground">
{session.status}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Session statuses still bypass i18n.

These paths render raw enum values (ready, stopped, unavailable), so localized UIs still show English status text. Map the status enum through t(...) before rendering.

Also applies to: 431-432, 489-491

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/browser-use/view/BrowserUsePanel.tsx` around lines 244 - 245,
The session status badges in BrowserUsePanel still render raw enum values
instead of localized text. Update the status rendering logic in BrowserUsePanel
(including the Badge usages around the session/session list views) to pass
session.status through t(...) before display, and apply the same mapping for the
other status render paths mentioned in the component so ready, stopped, and
unavailable all use translated labels consistently.

Comment thread src/components/git-panel/view/branches/BranchesView.tsx
Comment thread src/components/git-panel/view/GitPanelHeader.tsx
Comment thread src/components/main-content/view/subcomponents/MainContentTitle.tsx
</span>
<span className="rounded-md border border-border px-2 py-1">
Status: {isStatusLoading && !status ? 'checking...' : status?.available ? 'ready' : browserEnabled ? 'setup required' : 'disabled'}
Status: {isStatusLoading && !status ? t('browserSettings.checking') : status?.available ? t('browserSettings.statusReady') : browserEnabled ? t('browserSettings.statusSetupRequired') : t('browserSettings.statusDisabled')}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

The status chip is still partially hardcoded in English.

Status: is not localized here, and concatenating label + translated value also blocks locale-specific ordering. Move the full chip text into i18n.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@src/components/settings/view/tabs/browser-use-settings/BrowserUseSettingsTab.tsx`
at line 147, The status chip text in BrowserUseSettingsTab is still partially
hardcoded because the “Status:” prefix is outside i18n and concatenating it with
the translated value prevents locale-specific phrasing. Update the rendering
around the status chip to use a single translated message key for the full
label/value text, and adjust the existing browserSettings status strings so the
complete chip content comes from i18n rather than manual string assembly.

Comment on lines +105 to 106
{showSetupDetails ? '隐藏详情' : t('notConfigured.whatIsTitle')}
</button>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Localize the expanded toggle label too.

When showSetupDetails is true, the toggle always renders 隐藏详情, so every non-zh-CN locale gets a mixed-language banner once the section is expanded. This needs its own tasks key (or another localized label) instead of a hardcoded string.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/task-master/view/NextTaskBanner.tsx` around lines 105 - 106,
The toggle label in NextTaskBanner is hardcoded for the expanded state, so
non-zh-CN locales end up with mixed-language UI. Update the conditional label
used by the showSetupDetails toggle to pull from i18n instead of returning the
literal Chinese text, adding a localized key under tasks (or equivalent)
alongside the existing t('notConfigured.whatIsTitle') usage.

…or zh-CN/ko

- Add prd.json translation files for all 9 locales
- Register prd namespace in config.js for all locales
- Register missing tasks namespace for zh-CN and ko
- Add zh-CN/ko tasks.json translation files

Closes the i18n gaps from the previous PR siteboon#868.
- Add browserSettings namespace to en/zh-CN settings.json
- Refactor BrowserUseSettingsTab to use useTranslation + t()
- All hardcoded English strings replaced with i18n keys
- Add browserPanel namespace to en/zh-CN common.json (46 keys)
- Refactor BrowserUsePanel.tsx to use useTranslation + t()
- All hardcoded English strings replaced with i18n keys
- MainContentTitle: replace hardcoded Browser/Project with t() calls
- zh-CN common.json: tabs.browser Browser -> 浏览器
- GitViewTabs: Changes/Commits/Branches tabs localized
- GitPanelHeader: Fetch/Pull/Push/Publish/Create Branch buttons localized
- ChangesView: No changes/Staged/Changes/Commit buttons localized
- FileStatusLegend: File status guide (M/A/D/U) localized
- CommitComposer: Commit message area, file count, generating button localized
- BranchesView: Local/Remote/New branch/Switch buttons localized
- HistoryView: No commits found localized
- NewBranchModal: Entire create branch dialog localized
- Removed uppercase CSS classes for Chinese text compatibility
- en/zh-CN common.json: gitPanel namespace (60+ keys)
…cwd variable / 修复未声明变量

- browser-use.service.ts: cwd -> process.cwd() in console.info
替换 'TaskMaster AI is not configured', 'Initialize', 'What is TaskMaster?'
等硬编码英文为 t() 调用,接入 tasks.json 翻译命名空间。
@WenhuaXia WenhuaXia force-pushed the fix/tasks-i18n-small branch from 6875130 to 0a6a536 Compare June 30, 2026 16:02

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/i18n/locales/ko/tasks.json`:
- Around line 2-14: The setup-details toggle is only partially localized: the
TaskMaster banner still uses a hardcoded expanded label instead of a Korean
string. Add a sibling locale key under the existing notConfigured entry in
tasks.json (for example, a hideDetails label) and update NextTaskBanner to read
that key alongside the current collapsed-state label so both toggle states are
localized through the same i18n flow.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 2ee4e44c-46ca-49ff-8eb7-88a8b1e835ce

📥 Commits

Reviewing files that changed from the base of the PR and between 6875130 and 0a6a536.

📒 Files selected for processing (40)
  • server/modules/browser-use/browser-use.service.ts
  • src/components/browser-use/view/BrowserUsePanel.tsx
  • src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx
  • src/components/git-panel/view/GitPanelHeader.tsx
  • src/components/git-panel/view/GitViewTabs.tsx
  • src/components/git-panel/view/branches/BranchesView.tsx
  • src/components/git-panel/view/changes/ChangesView.tsx
  • src/components/git-panel/view/changes/CommitComposer.tsx
  • src/components/git-panel/view/changes/FileStatusLegend.tsx
  • src/components/git-panel/view/history/HistoryView.tsx
  • src/components/git-panel/view/modals/NewBranchModal.tsx
  • src/components/main-content/view/subcomponents/MainContentTitle.tsx
  • src/components/settings/view/tabs/browser-use-settings/BrowserUseSettingsTab.tsx
  • src/components/task-master/view/NextTaskBanner.tsx
  • src/i18n/config.js
  • src/i18n/locales/de/chat.json
  • src/i18n/locales/de/prd.json
  • src/i18n/locales/en/chat.json
  • src/i18n/locales/en/common.json
  • src/i18n/locales/en/prd.json
  • src/i18n/locales/en/settings.json
  • src/i18n/locales/fr/chat.json
  • src/i18n/locales/it/chat.json
  • src/i18n/locales/it/prd.json
  • src/i18n/locales/ja/chat.json
  • src/i18n/locales/ja/prd.json
  • src/i18n/locales/ko/chat.json
  • src/i18n/locales/ko/prd.json
  • src/i18n/locales/ko/tasks.json
  • src/i18n/locales/ru/chat.json
  • src/i18n/locales/ru/prd.json
  • src/i18n/locales/tr/chat.json
  • src/i18n/locales/tr/prd.json
  • src/i18n/locales/zh-CN/chat.json
  • src/i18n/locales/zh-CN/common.json
  • src/i18n/locales/zh-CN/prd.json
  • src/i18n/locales/zh-CN/settings.json
  • src/i18n/locales/zh-CN/tasks.json
  • src/i18n/locales/zh-TW/chat.json
  • src/i18n/locales/zh-TW/prd.json
✅ Files skipped from review due to trivial changes (20)
  • src/i18n/locales/tr/prd.json
  • src/i18n/locales/en/prd.json
  • src/components/main-content/view/subcomponents/MainContentTitle.tsx
  • src/i18n/locales/zh-CN/chat.json
  • src/i18n/locales/it/prd.json
  • src/i18n/locales/zh-CN/tasks.json
  • src/i18n/locales/ru/chat.json
  • src/i18n/locales/ko/prd.json
  • src/i18n/locales/ja/prd.json
  • src/components/git-panel/view/modals/NewBranchModal.tsx
  • src/i18n/locales/ru/prd.json
  • src/i18n/locales/zh-CN/prd.json
  • src/i18n/locales/fr/chat.json
  • src/components/git-panel/view/changes/ChangesView.tsx
  • src/i18n/locales/en/chat.json
  • src/i18n/locales/zh-TW/chat.json
  • src/components/git-panel/view/GitPanelHeader.tsx
  • src/i18n/locales/en/common.json
  • src/i18n/locales/zh-CN/common.json
  • src/i18n/locales/zh-CN/settings.json
🚧 Files skipped from review as they are similar to previous changes (19)
  • src/i18n/locales/de/prd.json
  • server/modules/browser-use/browser-use.service.ts
  • src/i18n/locales/tr/chat.json
  • src/i18n/locales/en/settings.json
  • src/components/git-panel/view/changes/FileStatusLegend.tsx
  • src/components/git-panel/view/history/HistoryView.tsx
  • src/i18n/locales/ja/chat.json
  • src/i18n/locales/ko/chat.json
  • src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx
  • src/i18n/locales/it/chat.json
  • src/components/task-master/view/NextTaskBanner.tsx
  • src/components/settings/view/tabs/browser-use-settings/BrowserUseSettingsTab.tsx
  • src/i18n/locales/zh-TW/prd.json
  • src/i18n/locales/de/chat.json
  • src/components/git-panel/view/changes/CommitComposer.tsx
  • src/components/git-panel/view/branches/BranchesView.tsx
  • src/i18n/config.js
  • src/components/git-panel/view/GitViewTabs.tsx
  • src/components/browser-use/view/BrowserUsePanel.tsx

Comment on lines +2 to +14
"notConfigured": {
"title": "TaskMaster AI가 설정되지 않았습니다",
"description": "TaskMaster는 AI 기반 보조 기능과 함께 복잡한 프로젝트를 관리 가능한 작업으로 분해합니다",
"whatIsTitle": "🎯 TaskMaster란?",
"features": {
"aiPowered": "AI 기반 작업 관리: 복잡한 프로젝트를 관리 가능한 하위 작업으로 분해",
"prdTemplates": "PRD 템플릿: 제품 요구 사항 문서에서 작업 생성",
"dependencyTracking": "의존성 추적: 작업 관계와 실행 순서 이해",
"progressVisualization": "진행 상황 시각화: 칸반 보드 및 상세 작업 분석",
"cliIntegration": "CLI 통합: 고급 워크플로우를 위한 taskmaster 명령어 사용"
},
"initializeButton": "TaskMaster AI 초기화"
},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Add a localized expanded-state label for the setup-details toggle.

Line 5 adds the collapsed label, but src/components/task-master/view/NextTaskBanner.tsx:92-95 still shows hardcoded Chinese (隐藏详情) after expansion. Add a sibling key here, e.g. notConfigured.hideDetails, and switch the banner to use it so Korean stays localized in both states.

Suggested locale addition
   "notConfigured": {
     "title": "TaskMaster AI가 설정되지 않았습니다",
     "description": "TaskMaster는 AI 기반 보조 기능과 함께 복잡한 프로젝트를 관리 가능한 작업으로 분해합니다",
     "whatIsTitle": "🎯 TaskMaster란?",
+    "hideDetails": "세부 정보 숨기기",
     "features": {
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"notConfigured": {
"title": "TaskMaster AI가 설정되지 않았습니다",
"description": "TaskMaster는 AI 기반 보조 기능과 함께 복잡한 프로젝트를 관리 가능한 작업으로 분해합니다",
"whatIsTitle": "🎯 TaskMaster란?",
"features": {
"aiPowered": "AI 기반 작업 관리: 복잡한 프로젝트를 관리 가능한 하위 작업으로 분해",
"prdTemplates": "PRD 템플릿: 제품 요구 사항 문서에서 작업 생성",
"dependencyTracking": "의존성 추적: 작업 관계와 실행 순서 이해",
"progressVisualization": "진행 상황 시각화: 칸반 보드 및 상세 작업 분석",
"cliIntegration": "CLI 통합: 고급 워크플로우를 위한 taskmaster 명령어 사용"
},
"initializeButton": "TaskMaster AI 초기화"
},
"notConfigured": {
"title": "TaskMaster AI가 설정되지 않았습니다",
"description": "TaskMaster는 AI 기반 보조 기능과 함께 복잡한 프로젝트를 관리 가능한 작업으로 분해합니다",
"whatIsTitle": "🎯 TaskMaster란?",
"hideDetails": "세부 정보 숨기기",
"features": {
"aiPowered": "AI 기반 작업 관리: 복잡한 프로젝트를 관리 가능한 하위 작업으로 분해",
"prdTemplates": "PRD 템플릿: 제품 요구 사항 문서에서 작업 생성",
"dependencyTracking": "의존성 추적: 작업 관계와 실행 순서 이해",
"progressVisualization": "진행 상황 시각화: 칸반 보드 및 상세 작업 분석",
"cliIntegration": "CLI 통합: 고급 워크플로우를 위한 taskmaster 명령어 사용"
},
"initializeButton": "TaskMaster AI 초기화"
},
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/i18n/locales/ko/tasks.json` around lines 2 - 14, The setup-details toggle
is only partially localized: the TaskMaster banner still uses a hardcoded
expanded label instead of a Korean string. Add a sibling locale key under the
existing notConfigured entry in tasks.json (for example, a hideDetails label)
and update NextTaskBanner to read that key alongside the current collapsed-state
label so both toggle states are localized through the same i18n flow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant