Skip to content

国際化とシナリオのローカライズ

自動読み込み KND_I18n は、Godot UI の翻訳、言語設定、ローカライズ済み .ks ファイル、言語変更時の再読み込みを一元管理します。現在の言語は display/language に保存されます。

組み込み言語コードは zh_Hanszh_Hantenjako です。zh-CNtczh-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 を返し、明確なエラーを出力します。

Released under BSD3-Clause License.