跳到主要内容

加一种语言

OpenCLI 内置十种翻译:English、简体中文、繁體中文、日本語、한국어、Español、 Português (Brasil)、Français、Deutsch、Русский。

别的语言就是一个文件 —— 而修正上面某一种里的一句话,也是一个文件。

在界面里​

Customize → Language → Add a language file… 收下一个 .json 文件并留着它。 它立刻出现在选择器里。

手动​

同一个文件,放进 ~/.opencli/locales,用语言命名:

~/.opencli/locales/nl.json

两条路写的是同一个地方,所以在界面里加进来的东西,之后可以手动改,也可以拷到 另一台机器上。

里面是什么​

每一条的左边,是界面里原样出现的那句英文;右边是要显示的东西:

{
"name": "Nederlands",
"strings": {
"Dispatch": "Verzenden",
"Scheduled tasks": "Geplande taken",
"Runs ({count})": "Uitvoeringen ({count})"
}
}

name 是语言选择器里显示的名字。不写就用文件名。光一个映射表也行,不要外面那层:

{ "Dispatch": "Verzenden" }

从内置的那一份开始​

内置的翻译就是同一种文件,在 web/src/locales/。 拷一份,把每行右边换掉,你手里就是一个完整的起点,而不是一张要自己去找的句子清单。

想看界面用到的每一句:

python3 scripts/i18n-check.py

占位符​

句子里的 {name} 会被填进去。保留同样的占位符,顺序随你的语言怎么顺—— 能重排,本来就是它们存在的大半理由:

{ "Allowed {count} of {total}": "{total} 中允许了 {count} 个" }

复数​

plural() 在两个形式之间选。英语、德语、西班牙语、法语、葡萄牙语够用; 它没有俄语在 2–4 时要的第三种形式。一种语言需要多于两个形式时, 把句子写成让数字自己说话 —— 写 запусков: {count},而不是一个必须跟它保持一致的名词。

中文、日文、韩文用单数形式,让数字去干活,这一步已经替你处理好了。

修正一句内置翻译​

用一个已经内置的语言命名的文件,是合并进去,不是替换掉它。 想改一句,就写一条:

{ "Dispatch": "派活儿" }

其余的照旧用内置的措辞。

什么时候生效​

从界面加的文件立刻生效。手动放进目录的,在窗口连上来的时候读,所以要重开窗口。 解析不了的文件会被跳过,网关日志里留一行 —— 其他语言不受影响。

没翻的句子​

没有对应条目的句子显示英文,所以一份翻了一半的翻译读起来是夹杂,而不是一屏空白。 不需要翻完才有用。

从右往左​

阿拉伯语、希伯来语、波斯语不在内置之列,而把其中一种作为文件加进来,页面仍然会从左往右排。 界面还没有 dir="rtl" 的处理;那是改样式表的事,不是改翻译文件。