其实我只是觉得右键菜单中“插入任意文件”两项翻译得有点太长了,想要缩短一下。
原文
查看插件源码的 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 时生效。
以防有人需要,这是我的 zh-cn.ts 代码的 Gist 地址
完整仓库 PlayerMiller109/action-Sync-External
同 en.ts 统一格式和空白字符后,再添加了修改。
翻译没有优劣之分,自用为主。
结果边改边看,发现翻译确实有不统一和理解起来比较困难的地方。英文原版情况稍好,但由于时间跨度长,前后用词也并非完全统一,表达同一意义的句子结构有时也不尽相同。
对照中英文件、插件维基及作者的 YouTube 视频等,对有疑义的项目查看插件内部如何调用以及实际操作确定,我将这些情况总结并同样分享在代码所在地址。
注意:有一些不被翻译文件控制的默认中文翻译,如 View mode →查看模式、frame →画框等,翻译文件只能和它们同步。
考虑将翻译提交到原插件?
但也许让作者审核数百个并无功能变动的改动并不合适呃?不过如果你已经和插件作者建立了良好的合作关系,想要参考或直接拿去提交也是可以的。
最后,祝端午快乐。