Furdavus/dsh-uyghurche-ui ↗★ 0

dsh-uyghurche-ui

DSH Web GUI Uyghur (UEY) interface language pack: registers ئۇيغۇرچە through the official locale API (ctx.locale.addLanguage + register) with per-key English fallback — 1,069 keys across all official UI namespaces except trajectory, RTL mirroring scoped to the conversation area and the settings dialog (both sidebars keep LTR), and Intl locale hooks. 适合需要使用维吾尔语界面,并支持英文回退和局部 RTL 的用户。

パッケージ
dsh-uyghurche-ui
互換性
未検証
Harness ピア範囲
^0.1.5-rc.1
Cordis ピア範囲
^4.0.1
バージョン
0.1.1
最終更新
2026/09/19

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Furdavus/dsh-uyghurche-ui

ドキュメント

README 全文を読む ↗

dsh-uyghurche-ui

DSH Web 界面维吾尔语(UEY)语言包。通过官方 locale API (ctx.locale.addLanguage + ctx.locale.register)注册 ئۇيغۇرچە, 未翻译的界面文案逐 key 回退英文——任何批次的翻译都可以安全上线。

现状(A1–A5 + C + B1)

命名空间键数状态
common / settings.locale39+1✅
conversation159✅ 输入框、消息流、附件、终端、排队
chat103✅ 统计、压缩、重试、用量、时间
workspace63✅ 会话列表、工作区、搜索、状态
sidebar / sidebarFiles / sidebarRight5+13+21✅ 侧边栏、文件面板、右侧栏
model / command / slash.menu20+14+9✅ 模型选择、命令面板、斜杠菜单
settings12✅ 设置外壳、连接状态
settings.models100✅ 模型设置(API 密钥、提供方、目录)
settings.plugins52✅ 插件设置(终端、Agent 循环、搜索、Subagent 模型)
settings.agentPreset51✅ Agent 预设
settings.pluginInventory36✅ 插件列表
settings.theme9✅ 外观/字号
settings.permission / permission.access12+8✅ 权限预设
cordis50✅ Cordis 插件面板(运行/审批/回退)
deliverables38✅ 交付物面板、文件操作
subagent37✅ 子代理视图(时长/状态/只读)
feedback20✅ 消息反馈(分类/详情)
workflowRun / schedule.catalog18+18✅ 工作流运行、定时提醒
job / question15+15✅ 后台任务、提问组件
open-in-app39✅ 「在编辑器中打开」菜单(30 款应用名保留原样)
goal / plan / skill12+6+7✅ 目标、计划模式、技能面板
reference / approval10+5✅ 引用、审批组件
session-log-download9✅ Session 日志导出
documentMarkdown / documentHtml / sidebarImage / sidebarPdf / sidebarCodePreview / sidebarDocumentPreview4+4+5+9+3+18✅ 文档预览类(Markdown/HTML/图片/PDF/代码/文本)
合计1069除 trajectory 外全部官方界面维吾尔语化

切到 ug 后:上述 1,069 条显示维吾尔语;trajectory(轨迹,175 条,用户暂缓) 由逐 key 回退机制显示英文。

安装(web profile)

// ~/.dsh/profiles/web/package.json
{
  "dependencies": { "dsh-uyghurche-ui": "file:D:/Deepseek git/dsh-uyghurche-ui" },
  "dsh": { "profile": { "bundles": [ "dsh-uyghurche-ui" ] } }
}

然后 pnpm install 并重启 web profile。设置 → 通用 → 语言,选择 ئۇيغۇرچە 即立即生效并记住。

测试

node scripts/build-client.mjs   # 修改 lib/dict/*.js 后必须重新拼接 client.js
node test/smoke.mjs    # 包形态 + 宿主半部 + 客户端契约
node test/client.mjs   # 用真实上游 LocaleRuntime 跑 apply(ctx) 全流程
node scripts/coverage.mjs  # 对照安装版键表审计 1,069 键覆盖率

已知限制

  • 逐 key 回退:未翻译的 key 显示英文(不是空白)。
  • @linxin666/dsh-web-all 有 8 处 legacy 语言回退(lang.startsWith("en") ? en : zh), 界面语言为 ug 时这些子插件显示中文——第三方包自身实现问题,本包无法修正。
  • dsh-better-sidebar 的界面文案不走 ctx.locale,不跟随界面语言。
  • 注册期一次性读取的文案(如 /model 命令描述)在切换语言后不刷新,重启后生效。
  • B1 已知限制:镜像范围只覆盖对话区 + 设置界面,两侧栏与其它浮层(toast、非模态菜单)保持 LTR; 图标镜像不做(属 B2,散落在 77 处方向图标);部分物理属性未逐一覆盖,个别间距仍偏 LTR; 输入框保持 LTR(混排输入安全)。

B1:RTL 镜像(对话区 + 设置界面)

  • 范围:对话区与设置界面(含其它 main 槽面板与模态)。左右两侧栏保持 LTR—— 不换边、不做边框/内距/面板锚定补偿,列宽拖拽手柄照常可用。
  • 实现:不给 `` 设 dir。设 dir 会让三栏 grid 整体换边(左栏被翻到屏幕右侧), 要只留侧栏 LTR 就得逐个补偿 grid 定位,脆弱。改为把 direction: rtl 打在两个锚点上 —— direction 是可继承属性,等价于在该子树设 dir="rtl",且纯 CSS 命中,React 重渲染不会掉:
    • [class*="_centerCol"] —— 中栏:对话区 + main 槽面板;
    • [role="dialog"][aria-modal="true"] —— 设置模态。它虽是 position:fixed 的全屏浮层, DOM 上却挂在侧栏的 sidebar.settings 槽里,只锚中栏会漏掉它。
  • ug 激活时注入覆盖层 ``(lib/rtl.css,随 bundle 内联),切走/卸载时移除,完全恢复 LTR。
  • 覆盖内容:内容面文字方向与对齐、维语字体栈(全界面)、LTR 反向保护(代码/终端/编辑器/输入框)、 消息标记与重试按钮的物理值换向。
  • 带启动自检:_centerCol 锚点未命中时 console 警告。
  • 锚点核对:_centerCol 仅由 dsh-client-ui-layout 定义(scripts/audit-class-suffixes.mjs)。

C 级:日期/时间/数字

  • 上游仅有的显示级 Intl.DateTimeFormat 调用(定时任务时间)已传 document.documentElement.lang → 切到 ug 时自动使用维吾尔语格式(ICU 完整支持: 月份名、相对时间、复数 one/other、numberingSystem=latn)。
  • 本包内置 Intl 默认 locale 钩子:ug 激活期间,未显式指定 locale 的 Intl.DateTimeFormat/NumberFormat/RelativeTimeFormat、Date.prototype.toLocale*、 Number.prototype.toLocaleString、String.prototype.localeCompare 默认切到 ug, 使 trajectory 的记录时间、日期解析辅助、文件排序等裸调用跟随界面语言; 切换语言或卸载时原样恢复,显式传 locale 的调用零影响。

路线图

  • 剩余:trajectory(175 条,用户暂缓);B2 图标镜像(散落在 77 处方向图标)、scrollLeft 语义; 若要把两侧栏也纳入镜像,需要上游把三栏 grid 的换边与 dir 解耦(或在布局层暴露方向开关)。

术语一致性:与 dsh-uyghurche 的 195 条开发术语表对齐 (copy=كۆچۈرۈش、close=يېپىش、edit=تەھرىرلەش、save=ساقلاش、 delete=ئۆچۈرۈش、search=ئىزدەش、button=كۇنۇپكا、path=يول、 language=تىل …)。