跳至主要内容

加一種語言

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" 的處理;那是改樣式表的事,不是改翻譯文件。