-
Notifications
You must be signed in to change notification settings - Fork 0
ja Custom Languages
cHiDeScaler-Neo は、標準収録されていない言語をユーザー自身で追加できる設計になっています。
Neo本体を改造・再ビルドする必要はありません。
翻訳したJSONファイルをNeoの locales/ フォルダーへ追加すると、次回起動時に自動検出されて Language メニューへ追加されます。
Neo v697では次の言語を標準収録しています。
| 言語 | ファイル |
|---|---|
| 日本語 | ja-JP.json |
| English | en-US.json |
| 简体中文 | zh-CN.json |
| 繁體中文(台灣) | zh-TW.json |
| 한국어 | ko-KR.json |
| Português (Brasil) | pt-BR.json |
| Español | es.json |
| Français | fr-FR.json |
| Deutsch | de-DE.json |
es.jsonはNeoでは汎用スペイン語タグesとして使用しています。
es-ES.jsonへ単純にリネームしないでください。
Neoのフォルダー内にある、
cHiDeScaler-Neo/
└─ locales/
を開きます。
外部から追加した言語JSONも、この locales/ 直下へ配置します。
翻訳の基準として、
locales/en-US.json
をコピーしてください。
英語版がNeoの翻訳キーの基準です。
GitHub上でも確認できます。
コピーしたJSONを、追加したい言語の BCP 47言語タグを使った名前へ変更します。
イタリア語の例:
en-US.json
↓
it-IT.json
最終的な配置:
cHiDeScaler-Neo/
└─ locales/
├─ en-US.json
├─ ja-JP.json
├─ ...
└─ it-IT.json
言語タグの参考:
JSON先頭にある次の3項目を変更します。
イタリア語の例:
{
"_language_name": "Italiano",
"_language_code": "IT",
"_language_tag": "it-IT"
}Languageメニューに表示する言語名です。
その言語自身で記述することを推奨します。
例:
"_language_name": "Italiano"NeoのLanguageボタン内に表示する短いコードです。
例:
"_language_code": "IT"GUI表示を考慮し、2~4文字程度の短い表記を推奨します。
言語を識別するBCP 47タグです。
例:
"_language_tag": "it-IT"通常はJSONのファイル名と同じタグにしてください。
例えば英語版に、
"capture.start": "▶ Start"とある場合、
"capture.start": "▶ Avvia"のように右側の値だけを翻訳します。
次の左側:
"capture.start"はNeoが翻訳を探すためのキーなので変更しないでください。
翻訳文の中に、
{name}
のような {...} がある場合は、その部分を削除・翻訳・変更しないでください。
例:
"preset.delete_confirm": "Delete preset '{name}'?"イタリア語に翻訳する場合でも、
"preset.delete_confirm": "Eliminare il preset '{name}'?"のように {name} はそのまま残します。
Neoのカスタム言語は、存在しない翻訳キーを自動的に英語へフォールバックします。
そのため、翻訳途中でも使用できます。
例えば:
{
"_language_name": "Italiano",
"_language_code": "IT",
"_language_tag": "it-IT",
"capture.start": "▶ Avvia",
"capture.stop": "Ferma"
}のような部分翻訳でも、存在しない項目は英語で表示されます。
ただしNeoがカスタム言語として認識するため、少なくとも
"capture.start"は含めてください。
実際に配布・公開する翻訳では、en-US.json を基準にできるだけ全項目を翻訳することを推奨します。
JSONを保存したらNeoを一度終了し、再起動してください。
Neoは起動時に、
locales/*.json
を検索してカスタム言語を読み込みます。
正常に読み込まれると、Language メニューに例えば、
Italiano [IT]
のように追加されます。
その項目を選択すれば、追加した翻訳へ切り替わります。
カンマの不足、余分なカンマ、引用符の不足などがある不正JSONは読み込まれません。
例:
{
"_language_name": "Italiano",
"_language_code": "IT",
"_language_tag": "it-IT",
"capture.start": "▶ Avvia"
}JSONエディターやJSON Validatorで確認すると原因を見つけやすくなります。
Neoは、ユーザーが誤って別用途のJSONを locales/ に入れた場合に言語ファイルとして扱わないよう、
capture.start
が存在しないカスタムJSONを無視します。
en-US.json をコピーして作成するのが最も安全です。
次の名前はNeo標準言語として予約されています。
ja-JP.json
en-US.json
zh-CN.json
zh-TW.json
ko-KR.json
pt-BR.json
es.json
fr-FR.json
de-DE.json
ユーザー追加言語には別の言語タグを使用してください。
例えばイタリア語なら:
it-IT.json
カスタム言語JSONは、
locales/
の直下へ配置してください。
例:
locales/it-IT.json
ユーザー追加言語を選択している場合でも、Neoの一部のステータス・統計情報は内部診断との整合性を保つため英語表示になる場合があります。
通常のGUI項目でカスタムJSONに翻訳が存在しない場合は、英語へフォールバックします。
NeoのアップデートでGUI項目が増えると、新しい翻訳キーが追加される場合があります。
アップデート後は最新の、
と自分の言語JSONを比較し、追加されたキーを翻訳してください。
不足しているキーがあってもNeoは英語へフォールバックするため、古い翻訳JSONが原因でGUI全体が使用不能になることはありません。
作成した言語ファイルは、
<BCP 47 tag>.json
1ファイルで共有できます。
利用者はそのJSONを、
cHiDeScaler-Neo/locales/
へコピーしてNeoを再起動するだけで使用できます。
Neo本体のEXEやソースコードを変更する必要はありません。