chore: make non-i18n code English-only (#117)
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -44,7 +44,7 @@ type TabKey = "overview" | "prompt" | "runtime" | "tools" | "vault" | "schedules
|
||||
* The "" (not-overridden / inherit) row is filtered out per review — the menus offer only
|
||||
* concrete values in dictionary order, the user picks explicitly. An unset stored value
|
||||
* simply matches no row, so the OptionMenu trigger falls back to its placeholder
|
||||
* ((缺省)/(default), the same convention as the tools-table permission menu); nothing is
|
||||
* ("(default)", the same convention as the tools-table permission menu); nothing is
|
||||
* ever written silently, and the reset link next to each menu rewinds a local pick back to "".
|
||||
*/
|
||||
export function optionRows(
|
||||
|
||||
@@ -24,7 +24,7 @@ export function ApprovalButtons({
|
||||
};
|
||||
|
||||
// Text at every breakpoint (per review): action buttons the user presses must read as words —
|
||||
// "允许/Allow" and "拒绝/Deny" — never as bare glyphs; iconic shorthand is reserved for
|
||||
// "Allow" and "Deny" — never as bare glyphs; iconic shorthand is reserved for
|
||||
// passive indicators. The buttons live on their own row under the (wrapping) argument
|
||||
// preview, so the words cost no width the pending card doesn't already have.
|
||||
return (
|
||||
|
||||
@@ -683,8 +683,8 @@ const versionBadgeClass =
|
||||
"ml-1.5 inline-block rounded-full bg-[var(--accent-bg)] px-1.5 align-super text-[10px] font-medium leading-4 text-[var(--accent-fg)] transition-opacity duration-150 hover:opacity-80";
|
||||
|
||||
/**
|
||||
* Quiet version line under the brand subtitle: `vX.Y.Z · 最近更新日期 7 月 26 日` /
|
||||
* `… · Last updated Jul 26`. The product name is not repeated here — the brand wordmark
|
||||
* Quiet version line under the brand subtitle: `vX.Y.Z · Last updated Jul 26`
|
||||
* (localized per dictionary). The product name is not repeated here — the brand wordmark
|
||||
* sits directly above, and the sidebar's version footer is bare `vX.Y.Z` too. The date is
|
||||
* the running version's release
|
||||
* date, stamped into core's BUILD_DATE at build time — displayed as-is, no network;
|
||||
|
||||
@@ -205,7 +205,7 @@ export function ToolCallCard({ item, ctx }: { item: ToolCallItem; ctx: StreamRen
|
||||
: failed
|
||||
? "failed"
|
||||
: "done";
|
||||
// Decision wording ("Approved · manual" / "已拒绝 · 手动" …): carried ONLY by the left status
|
||||
// Decision wording ("Approved · manual", "Denied · manual", …): carried ONLY by the left status
|
||||
// icon's title/aria-label — per review the row shows no visible decision text at any
|
||||
// breakpoint; the icon is the single source of truth for how the call was decided.
|
||||
const decisionText = item.decision
|
||||
|
||||
@@ -21,16 +21,16 @@
|
||||
* Agent's v_old → v_new and warns the overwriting reinstall drops local
|
||||
* edits), then reinstalls the current library copy on every outdated Agent
|
||||
* (install-again-is-update semantics), with a single success toast; the
|
||||
* manage-installs Modal marks outdated rows with an accent "更新"/"Update"
|
||||
* button doing the same per Agent (through the same confirm);
|
||||
* manage-installs Modal marks outdated rows with an accent "Update" button
|
||||
* doing the same per Agent (through the same confirm);
|
||||
* - Paper plane "quick invoke": enters /chat/new draft mode with default_agent,
|
||||
* pre-selects the skill, and pre-fills the invocation text per UI language
|
||||
* (zh "使用 X 技能" / en "use the X skill", overwriting any existing draft body);
|
||||
* ("use the X skill" in the active dictionary, overwriting any existing draft body);
|
||||
* - Download "manage installs": a Modal listing every Agent in the current
|
||||
* Project — not-installed shows "安装"/"Install", installed shows
|
||||
* "已安装"/"Installed" (hover switches to "卸载"/"Uninstall", click to
|
||||
* uninstall); any member can operate it; optimistic update, a top-level
|
||||
* toast on success for install/uninstall, rollback plus a toast on failure.
|
||||
* Project — not-installed shows "Install", installed shows "Installed"
|
||||
* (hover switches to "Uninstall", click to uninstall); any member can
|
||||
* operate it; optimistic update, a top-level toast on success for
|
||||
* install/uninstall, rollback plus a toast on failure.
|
||||
*/
|
||||
import { useEffect, useState } from "react";
|
||||
import { useNavigate } from "react-router";
|
||||
@@ -550,11 +550,11 @@ function SkillCard({
|
||||
|
||||
/**
|
||||
* One Agent row in the "manage installs" Modal: not-installed shows
|
||||
* "安装"/"Install"; installed shows "已安装"/"Installed", switching to
|
||||
* "卸载"/"Uninstall" on hover (same button, click to uninstall); an installed
|
||||
* copy older than the library additionally shows an accent "更新"/"Update"
|
||||
* button (reinstall = update). Install and uninstall go through optimistic
|
||||
* updates (toggleInstall), rolling back on failure.
|
||||
* "Install"; installed shows "Installed", switching to "Uninstall" on hover
|
||||
* (same button, click to uninstall); an installed copy older than the library
|
||||
* additionally shows an accent "Update" button (reinstall = update). Install
|
||||
* and uninstall go through optimistic updates (toggleInstall), rolling back on
|
||||
* failure.
|
||||
*/
|
||||
function InstallRow({
|
||||
agentId,
|
||||
@@ -589,7 +589,7 @@ function InstallRow({
|
||||
</Button>
|
||||
)}
|
||||
{installed ? (
|
||||
// group: on hover the button's copy switches "已安装"/"Installed" → "卸载"/"Uninstall" (the same button carries the uninstall action).
|
||||
// group: on hover the button's copy switches "Installed" → "Uninstall" (the same button carries the uninstall action).
|
||||
<Button
|
||||
size="sm"
|
||||
variant="ghost"
|
||||
|
||||
Reference in New Issue
Block a user