国際化とシナリオのローカライズ
自動読み込み KND_I18n は、Godot UI の翻訳、言語設定、ローカライズ済み .ks ファイル、言語変更時の再読み込みを一元管理します。現在の言語は display/language に保存されます。
組み込み言語コードは zh_Hans、zh_Hant、en、ja、ko です。zh-CN、tc、zh-TW などの旧表記は自動的に正規化されます。
言語の変更
gdscript
KND_Settings.set_setting("display", "language", "ja")
# または
KND_I18n.set_locale("ja")gdscript
KND_I18n.locale_changed.connect(func(locale: String): print(locale))set_locale() は TranslationServer と設定を更新し、登録済みの対話マネージャーにシナリオの再読み込みを通知します。
シナリオファイルの命名
res://dialogues/chapter.ks の翻訳は同じディレクトリに配置します。
text
res://dialogues/chapter.zh_Hant.ks
res://dialogues/chapter.en.ks
res://dialogues/chapter.ja.ks検索順は完全な言語コード(pt_BR)、基本言語(pt)、元の .ks です。切り替え時は安定した node_id、同じインデックス、開始ノードの順で位置を復元します。
独自の UI 翻訳
gdscript
var translation := Translation.new()
translation.locale = "fr_CA"
translation.add_message("开始游戏", "Commencer")
KND_I18n.register_translation(translation)
KND_I18n.set_locale("fr_CA")削除には unregister_translation("fr_CA")、利用可能な言語一覧には get_available_locales() を使用します。
手動読み込み
gdscript
var shot: KND_Shot = KND_I18n.load_localized_script(
"res://dialogues/chapter.ks", "ja"
)読み込みに失敗した場合は null を返し、明確なエラーを出力します。