Skip to content

feat(i18n): add Traditional Chinese (zh-TW) locale#773

Draft
codexkz wants to merge 3 commits into
siteboon:mainfrom
codexkz:feat/i18n-zh-tw
Draft

feat(i18n): add Traditional Chinese (zh-TW) locale#773
codexkz wants to merge 3 commits into
siteboon:mainfrom
codexkz:feat/i18n-zh-tw

Conversation

@codexkz
Copy link
Copy Markdown

@codexkz codexkz commented May 19, 2026

Summary

  • Add Traditional Chinese (zh-TW) locale (all 7 namespaces)
  • Add README.zh-TW.md
  • Update language navigation bar in all existing READMEs

Details

Translated from zh-CN with Taiwan-localized terminology (e.g. 檔案, 專案, 設定, 伺服器, 儲存庫, 工作階段).

Covers: common, auth, chat, settings, sidebar, codeEditor, tasks.

Thanks for building this project — happy to adjust anything if needed!

Summary by CodeRabbit

  • Documentation

    • Updated README files across languages to relabel Simplified Chinese as “简体中文” and adjust language header indicators.
    • Added a full Traditional Chinese (Taiwan) README with screenshots, guides, and FAQ.
  • New Features

    • Added Traditional Chinese (zh‑TW) localization across the app (authentication, chat, code editor, settings, sidebar, common UI), enabling a complete zh‑TW user experience.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 19, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 55c52ec8-bb1d-4787-ad73-8f45d433d98f

📥 Commits

Reviewing files that changed from the base of the PR and between ed922dc and 5758c31.

📒 Files selected for processing (8)
  • README.de.md
  • README.ko.md
  • README.md
  • README.ru.md
  • README.tr.md
  • README.zh-CN.md
  • README.zh-TW.md
  • src/i18n/locales/zh-TW/chat.json
✅ Files skipped from review due to trivial changes (6)
  • README.de.md
  • README.zh-CN.md
  • src/i18n/locales/zh-TW/chat.json
  • README.ko.md
  • README.tr.md
  • README.zh-TW.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • README.md
  • README.ru.md

📝 Walkthrough

Walkthrough

Adds Traditional Chinese (zh-TW) i18n support: registers zh-TW in languages and i18n config, adds full zh-TW translation JSON files (auth, chat, codeEditor, common, settings, sidebar), updates README language labels to "简体中文", and adds a complete README.zh-TW.

Changes

Traditional Chinese Locale Addition

Layer / File(s) Summary
i18n Infrastructure Setup
src/i18n/languages.js, src/i18n/config.js
Traditional Chinese (zh-TW) added to languages and i18next resources with imports/wiring for namespaces common, settings, auth, sidebar, chat, codeEditor, tasks.
Traditional Chinese Translation Files
src/i18n/locales/zh-TW/*.json
Added complete zh-TW locale JSON files for auth, chat, codeEditor, common, settings (multiple sections), and sidebar, supplying Traditional Chinese translations and plural/template keys.
README Language Label Clarifications
README.md, README.de.md, README.ja.md, README.ko.md, README.ru.md, README.tr.md, README.zh-CN.md
Updated Simplified Chinese language selector label from 中文 to 简体中文 across README variants; README.ja markup adjusted to mark current page.
Traditional Chinese README
README.zh-TW.md
Added full Traditional Chinese README including header, screenshots, features, quick start (cloud/self-host/Docker), comparison, security/tool instructions, plugin docs, FAQ, community links, GPL v3 license note, and acknowledgements.

Sequence Diagram(s)

No sequence diagrams are generated for this PR: the changes are primarily localization resource additions and documentation updates without complex multi-component control flow.

Possibly related PRs

Suggested reviewers

  • blackmammoth
  • viper151

Poem

🐰 I hop through files both old and new,
zh-TW strings in tidy view,
A README in characters curly and true,
Labels clarified — 简体中文 too,
Hoppity-hop, translations breakthrough!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 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 primary change: adding Traditional Chinese (zh-TW) locale support across the application, which is the main focus of the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ 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 and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🤖 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 `@README.zh-TW.md`:
- Around line 98-100: Add a language identifier to the fenced code block that
contains the command "npx `@cloudcli-ai/cloudcli`@latest sandbox ~/my-project" so
markdownlint MD040 is satisfied; specifically update the opening fence for that
block to include a language (e.g., change ``` to ```bash) for the fenced block
containing that exact command.

In `@src/i18n/config.js`:
- Around line 87-95: The import of zhTWTasks (import zhTWTasks from
'./locales/zh-TW/tasks.json') is failing because the file doesn't exist; either
add the missing locale file or stop referencing it: create
src/i18n/locales/zh-TW/tasks.json with the required translations matching the
structure used by other locale files (so the zhTWTasks import and the zh-TW
registration in the locale object succeed), or remove the zhTWTasks import and
remove its entry from the zh-TW locale registration (the code that builds the
locale object where zhTWTasks is included) and any subsequent usage of
zhTWTasks.

In `@src/i18n/locales/zh-TW/chat.json`:
- Line 99: The zh-TW locale JSON contains untranslated English values (notably
the "auto" key with "A model classifier decides per tool call whether to approve
or deny. Hands-off, but safer than Bypass — denials still happen." and other
keys like "Thinking", "Processing", "Stop Generation" in the later block);
replace these English strings with accurate Traditional Chinese translations,
preserving the exact JSON keys, punctuation and escape sequences, ensure the
file remains valid UTF-8 JSON, and run the i18n/JSON linter/tests to validate no
keys or formatting changed.
🪄 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: d278bff1-08c3-44e6-b1aa-55c4e15a5cff

📥 Commits

Reviewing files that changed from the base of the PR and between 10f721c and ed922dc.

📒 Files selected for processing (16)
  • README.de.md
  • README.ja.md
  • README.ko.md
  • README.md
  • README.ru.md
  • README.tr.md
  • README.zh-CN.md
  • README.zh-TW.md
  • src/i18n/config.js
  • src/i18n/languages.js
  • src/i18n/locales/zh-TW/auth.json
  • src/i18n/locales/zh-TW/chat.json
  • src/i18n/locales/zh-TW/codeEditor.json
  • src/i18n/locales/zh-TW/common.json
  • src/i18n/locales/zh-TW/settings.json
  • src/i18n/locales/zh-TW/sidebar.json

Comment thread README.zh-TW.md Outdated
Comment thread src/i18n/config.js
Comment on lines +87 to +95
import zhTWCommon from './locales/zh-TW/common.json';
import zhTWSettings from './locales/zh-TW/settings.json';
import zhTWAuth from './locales/zh-TW/auth.json';
import zhTWSidebar from './locales/zh-TW/sidebar.json';
import zhTWChat from './locales/zh-TW/chat.json';
import zhTWCodeEditor from './locales/zh-TW/codeEditor.json';
// eslint-disable-next-line import-x/order
import zhTWTasks from './locales/zh-TW/tasks.json';

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot May 19, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify the zh-TW tasks locale exists and is valid JSON
set -euo pipefail

fd -i '^tasks\.json$' src/i18n/locales/zh-TW
python - <<'PY'
import json, pathlib
p = pathlib.Path("src/i18n/locales/zh-TW/tasks.json")
print("exists:", p.exists())
if p.exists():
    with p.open("r", encoding="utf-8") as f:
        json.load(f)
    print("json: valid")
PY

Repository: siteboon/claudecodeui

Length of output: 79


Missing zh-TW tasks locale file will cause import failure

The file src/i18n/locales/zh-TW/tasks.json does not exist in the repository, but line 94 imports it as zhTWTasks and line 197 registers it in the locale configuration. This will fail at module resolution.

Also applies to: 190-198 The missing import affects the entire locale object initialization for zh-TW.
🤖 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/config.js` around lines 87 - 95, The import of zhTWTasks (import
zhTWTasks from './locales/zh-TW/tasks.json') is failing because the file doesn't
exist; either add the missing locale file or stop referencing it: create
src/i18n/locales/zh-TW/tasks.json with the required translations matching the
structure used by other locale files (so the zhTWTasks import and the zh-TW
registration in the locale object succeed), or remove the zhTWTasks import and
remove its entry from the zh-TW locale registration (the code that builds the
locale object where zhTWTasks is included) and any subsequent usage of
zhTWTasks.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@codexkz This is valid.

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.

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

Comment thread src/i18n/locales/zh-TW/chat.json Outdated
@blackmammoth blackmammoth marked this pull request as draft May 30, 2026 11:38
@codexkz codexkz marked this pull request as ready for review June 3, 2026 02:37
Copy link
Copy Markdown
Collaborator

@blackmammoth blackmammoth left a comment

Choose a reason for hiding this comment

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

There is a comment from Coderabbit that look valid. It should be fixed.

Comment thread src/i18n/config.js
Comment on lines +87 to +95
import zhTWCommon from './locales/zh-TW/common.json';
import zhTWSettings from './locales/zh-TW/settings.json';
import zhTWAuth from './locales/zh-TW/auth.json';
import zhTWSidebar from './locales/zh-TW/sidebar.json';
import zhTWChat from './locales/zh-TW/chat.json';
import zhTWCodeEditor from './locales/zh-TW/codeEditor.json';
// eslint-disable-next-line import-x/order
import zhTWTasks from './locales/zh-TW/tasks.json';

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@codexkz This is valid.

@blackmammoth blackmammoth marked this pull request as draft June 4, 2026 10:41
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.

2 participants