言語を足す
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" の処理がありません。
それは翻訳ファイルではなくスタイルシートの変更です。