국제화와 스토리 현지화
자동 로드 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", "ko")
# 또는
KND_I18n.set_locale("ko")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.ko.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", "ko"
)로드에 실패하면 null을 반환하고 명확한 오류를 출력합니다.