Gandi 3.0文档
官网 打开编辑器
文档/设置与外观

多语言

编辑器的界面、积木和扩展都能换语言。设置 → 通用 → 语言,选完立刻生效,不用刷新。

语言

第一次打开时按浏览器的语言挑一门;挑过一次之后就听你的,换浏览器语言也不会把它顶掉。

换语言会换掉什么#

这一块 谁在管
界面:菜单、面板、按钮、提示、对话框 编辑器自己的语言包
积木上的字 积木库(和 Scratch 同一份翻译)
扩展的积木 扩展自己;官方扩展用 Scratch 的翻译
你作品里的名字(角色名、造型名、变量名) 不换,那是你的数据

最后一条是有意的:换语言不该动作品里的任何一个字。新建的东西(新角色叫 Sprite1 还是「角色1」)按建的时候那门语言定下来,之后就跟着作品走。

缺翻译时会看到什么#

看到中文。这是设计成这样的:语言包里查不到的条目退回中文原文,所以最坏的情况是一句 中文夹在英文界面里,而不是一块空白或者 panel.sprites.upload 这样的内部名字。

有哪几门语言#

语言下拉里列的是当前有语言包的那几门,各自写自己的名字(English、日本語、 한국어),因为正在挑语言的人多半看不懂现在这门。

从右往左写的语言(阿拉伯语、希伯来语)会把整个界面镜像过来。

想加一门语言#

加一门语言 = 加一个 JSON 文件,不用改代码:

  1. npm run i18n:extract 出一份语料(src/i18n/messages.json,记着每条文案出现在哪儿)。
  2. npm run i18n:terms -- ja 从 Scratch 官方的语言包里借走标准译名(角色 / 造型 / 舞台 这些词必须和 Scratch 一致,不然用 Scratch 的人认不出来)。
  3. npm run i18n:todo -- ja 看还差多少,按区域分批翻。
  4. 翻好放进 src/i18n/locales/ja.json,语言下拉里就出现了。

翻译时读 src/i18n/GLOSSARY.md:译名对照,和四条铁律(用 Scratch 的词、短、 句末不加句号、按钮用 Title Case)。

复数不用操心中文没有这回事 —— 英语两档、俄语三档、阿拉伯语六档,各语言写各自的:

"{n} 块积木": "{n, plural, one {# block} other {# blocks}}"

相关#

  • 设置 —— 语言开关在「通用」那一页
  • 主题 —— 换语言和换主题是两件事