其实我只是觉得右键菜单中“插入任意文件”两项翻译得有点太长了,想要缩短一下。
原文
查看插件源码的 rollup.config.js,Excalidraw 似乎也只是将中文翻译文件作为文本读取。
下载插件的 zh-cn.ts,将代码中 export default
及以前的部分删除,改为 x =
。

将 Excalidraw 插件 main.js 中 const PLUGIN_LANGUAGES =
的值改为:
{"zh-cn": LZString.compressToBase64(app.vault.adapter.fs.readFileSync(<翻译文件基于系统的绝对路径>, "utf-8"))}

以上就完成了翻译文件的导入。接下来有什么想要修改的翻译就在本地 zh-cn.ts 修改,下次启动 Ob 时生效。
翻译没有优劣之分,自用为主。
结果边改边看,发现翻译确实有不统一和理解起来比较困难的地方。英文原版情况稍好,但由于时间跨度长,前后用词也并非完全统一,表达同一意义的句子结构有时也不尽相同。
对照中英文件、插件维基及作者的 YouTube 视频等,对有疑义的项目查看插件内部如何调用以及实际操作确定,我将这些情况总结并同样分享在代码所在地址。
注意:有一些不被翻译文件控制的默认中文翻译,如 View mode →查看模式、frame →画框等,翻译文件只能和它们同步。
考虑将翻译提交到原插件?
但也许让作者审核数百个并无功能变动的改动并不合适呃?不过如果你已经和插件作者建立了良好的合作关系,想要参考或直接拿去提交也是可以的。
最后,祝端午快乐。
这两天尝试“适配分享的”全自动化流程,刚刚也第一次定时执行成功了。之前说每次更新再改一下 main.js,以及多端同步自己找打包方法之类,现在也可以直接下这个仓库的 release。
虽然形式是插件,重点却是分享翻译及工作流。你可以修改这个工作流去同步更多别的东西。
提示:
PLUGIN_LANGUAGES 原本还有俄语翻译,这里为了方便(和缩小文件体积)只留了中文翻译。
GitHub Actions 定时需要排队。假设工作流指定 10:00 同步,可能 10:30 10:40 才执行。属实是新人杀手了。
(截 2.15.1)基本转正,个别未同步(如“插件 Wiki”还是“插件维基”,相关讨论见 #2419)。
基本方法如下:
核心关注两类:
一是需要特定知识的翻译。
如“more drawings”单看可能被理解为“几张绘图”,但该项实际位于启动画面,前面还有默认文字,连起来是“187 more drawings”,因此只能翻译为“张绘图”。
若你不太理解,可访问 Excalidraw.com 在线操作,就能看到一部分继承自上游、无法被插件更改的翻译内容。
如“Graph view”直译“图形视图”,但实际指的是 Obsidian 核心插件“关系图谱”。
如“Miro-style”的 Miro 实际指的是白板工具 Miro.com,需补充解释。
二是某些翻译过后依然会造成理解障碍的表述。
明确操作结果后,重新组织语言进行解释。
针对可能被问到的一些问题,粘贴如下:
## 通过场景理解
软件翻译涉及许多实际操作场景。如果您对某些翻译有疑问,请注意,它们可能只是系列操作或连续界面步骤中的片段。您可以通过实际场景进行测试和体验。
## 术语
在原始英文文本中,某些术语及其同义词有时会互换使用。此时,我们的翻译选择应基于这些项目的实际功能或表现。为减轻他人负担,你可以参考这些选择,但不要因此陷入完美主义担忧。
细则请继续查看 #2455 (comment)
因为痛点基本解决,之后又可以回归自用为主了。