国際化とストーリーのローカライズ
Konado は現在のロケール、UI 翻訳、フォールバック、変更通知を Godot の TranslationServer で一元管理します。独自の国際化状態は持たず、Godot が解釈できない KonadoScript に対してのみ、ローカライズ用オーバーレイと構造検証を追加します。
内蔵 UI は Godot ネイティブの .po ファイルで、簡体字中国語、繁体字中国語、英語、日本語、韓国語に対応しています。
言語を切り替える
プレイヤーの選択を保存する場合は設定 API を使用します:
KonadoSettings.set_setting("display", "language", "ja")現在のセッションだけを変更する場合は Godot を直接使用します:
TranslationServer.set_locale("ja")
print(TranslationServer.get_locale())独自ノードは Godot の通知で変更を受け取れます:
func _notification(what: int) -> void:
if what == NOTIFICATION_TRANSLATION_CHANGED:
_refresh_text()Konado のダイアログマネージャーも同じ通知を受け取り、現在のストーリーを安全に差し替えます。
UI 翻訳
プロジェクト設定 → ローカライズ → 翻訳 に .po、.mo、または Godot がインポートした翻訳リソースを追加します。安定した一意のメッセージ ID を推奨します:
title_label.text = tr("MY_GAME_SETTINGS_TITLE")一時的な翻訳は Godot API から実行時に登録できます:
var translation := Translation.new()
translation.locale = "fr_CA"
translation.add_message("MY_GAME_SETTINGS_TITLE", "Paramètres")
TranslationServer.add_translation(translation)ストーリーファイル名
既定のストーリー:
res://dialogues/chapter.ksローカライズ版:
res://dialogues/chapter.zh_Hans.ks
res://dialogues/chapter.zh_Hant.ks
res://dialogues/chapter.en.ks
res://dialogues/chapter.ja.ksKonado は完全なロケール、Godot が推定した言語と文字体系、基本言語、既定ストーリーの順に検索します。たとえば zh_CN は zh_Hans、最後に chapter.ks へフォールバックできます。
ローカライズ版では、テキストに加えて、アクター、立ち絵、背景、カメラ、音声、演出時間などの表現パラメーターを変更できます。命令の種類、制御フロー、安定命令 ID は既定版と一致する必要があります。エディターでは演出の差異を警告、構造の差異をエラーとして表示します。Konado は適用前にオーバーレイ全体を検証するため、不正なファイルが再生状態を部分的に破壊することはありません。
ローカライズ版を手動で読み込む
通常の再生では自動的に処理されます。独自フローではストーリーアダプターを使用でき、ロケールを省略すると TranslationServer に従います:
var shot: KonadoShot = KonadoStoryLocalization.load_localized_script(
"res://dialogues/chapter.ks"
)Konado.NET では言語切り替えに TranslationServer、ストーリーの解決と読み込みに KonadoApi.StoryLocalizationApi を使用します。