返回目录
其他 待识别

dsh-uyghurche-ui

Furdavus/dsh-uyghurche-ui

DSH Web 界面维吾尔语(UEY)语言包:官方 locale API 注册 ئۇيغۇرچە,1,069 条界面文案(逐 key 英文回退)+ 全界面 RTL 镜像 + Intl 本地化

Stars
0
Forks
0
Issues
0
更新
3 天前

PROJECT TOPICS

项目标签

PROJECT README

README

dsh-uyghurche-ui

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

现状(A1–A5 + C + B1)

命名空间 键数 状态
common / settings.locale 39+1
conversation 159 ✅ 输入框、消息流、附件、终端、排队
chat 103 ✅ 统计、压缩、重试、用量、时间
workspace 63 ✅ 会话列表、工作区、搜索、状态
sidebar / sidebarFiles / sidebarRight 5+13+21 ✅ 侧边栏、文件面板、右侧栏
model / command / slash.menu 20+14+9 ✅ 模型选择、命令面板、斜杠菜单
settings 12 ✅ 设置外壳、连接状态
settings.models 100 ✅ 模型设置(API 密钥、提供方、目录)
settings.plugins 52 ✅ 插件设置(终端、Agent 循环、搜索、Subagent 模型)
settings.agentPreset 51 ✅ Agent 预设
settings.pluginInventory 36 ✅ 插件列表
settings.theme 9 ✅ 外观/字号
settings.permission / permission.access 12+8 ✅ 权限预设
cordis 50 ✅ Cordis 插件面板(运行/审批/回退)
deliverables 38 ✅ 交付物面板、文件操作
subagent 37 ✅ 子代理视图(时长/状态/只读)
feedback 20 ✅ 消息反馈(分类/详情)
workflowRun / schedule.catalog 18+18 ✅ 工作流运行、定时提醒
job / question 15+15 ✅ 后台任务、提问组件
open-in-app 39 ✅ 「在编辑器中打开」菜单(30 款应用名保留原样)
goal / plan / skill 12+6+7 ✅ 目标、计划模式、技能面板
reference / approval 10+5 ✅ 引用、审批组件
session-log-download 9 ✅ Session 日志导出
documentMarkdown / documentHtml / sidebarImage / sidebarPdf / sidebarCodePreview / sidebarDocumentPreview 4+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—— 不换边、不做边框/内距/面板锚定补偿,列宽拖拽手柄照常可用。
  • 实现:不给 <html> 设 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 激活时注入覆盖层 <style>lib/rtl.css,随 bundle 内联),切走/卸载时移除,完全恢复 LTR。
  • 覆盖内容:内容面文字方向与对齐、维语字体栈(全界面)、LTR 反向保护(代码/终端/编辑器/输入框)、 消息标记与重试按钮的物理值换向。
  • 启动自检_centerCol 锚点未命中时 console 警告。
  • 锚点核对:<hash>_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/RelativeTimeFormatDate.prototype.toLocale*Number.prototype.toLocaleStringString.prototype.localeCompare 默认切到 ug, 使 trajectory 的记录时间、日期解析辅助、文件排序等裸调用跟随界面语言; 切换语言或卸载时原样恢复,显式传 locale 的调用零影响。

路线图

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

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

CLASSIFICATION EVIDENCE

分类依据

项目类型待识别
功能分类其他
规则置信度

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。