Skip to content

국제화와 스토리 현지화

Konado는 현재 로캘, UI 번역, 폴백, 변경 알림을 Godot의 TranslationServer로 통합 관리합니다. 별도의 국제화 상태를 유지하지 않으며, Godot이 이해하지 못하는 KonadoScript 파일에만 현지화 오버레이와 구조 검증을 제공합니다.

내장 UI는 Godot 네이티브 .po 파일로 간체 중국어, 번체 중국어, 영어, 일본어, 한국어를 지원합니다.

언어 전환

플레이어의 선택을 저장하려면 설정 API를 사용합니다:

gdscript
KonadoSettings.set_setting("display", "language", "ko")

현재 세션에서만 전환하려면 Godot을 직접 사용합니다:

gdscript
TranslationServer.set_locale("ko")
print(TranslationServer.get_locale())

사용자 노드는 Godot의 기본 알림으로 변경을 처리할 수 있습니다:

gdscript
func _notification(what: int) -> void:
	if what == NOTIFICATION_TRANSLATION_CHANGED:
		_refresh_text()

Konado 대화 관리자도 같은 알림을 받아 현재 스토리의 현지화 내용을 안전하게 교체합니다.

UI 번역

프로젝트 설정 → 현지화 → 번역에서 .po, .mo 또는 Godot이 가져온 번역 리소스를 추가합니다. 안정적이고 고유한 메시지 키 사용을 권장합니다:

gdscript
title_label.text = tr("MY_GAME_SETTINGS_TITLE")

임시 번역은 Godot API를 통해 런타임에 등록할 수 있습니다:

gdscript
var translation := Translation.new()
translation.locale = "fr_CA"
translation.add_message("MY_GAME_SETTINGS_TITLE", "Paramètres")
TranslationServer.add_translation(translation)

스토리 파일 이름

기본 스토리:

text
res://dialogues/chapter.ks

현지화 파일:

text
res://dialogues/chapter.zh_Hans.ks
res://dialogues/chapter.zh_Hant.ks
res://dialogues/chapter.en.ks
res://dialogues/chapter.ja.ks

Konado는 전체 로캘, Godot이 추론한 언어와 문자 체계, 기본 언어, 기본 스토리 순서로 검색합니다. 예를 들어 zh_CNzh_Hans로, 마지막에는 chapter.ks로 폴백할 수 있습니다.

현지화 스토리는 텍스트뿐 아니라 배우, 스탠딩 이미지, 배경, 카메라, 오디오, 연출 시간 등의 표현 매개변수도 변경할 수 있습니다. 명령 유형, 제어 흐름, 안정 명령 ID는 기본 스토리와 일치해야 합니다. 편집기는 연출 차이를 경고로, 구조 차이를 오류로 표시합니다. Konado는 적용 전에 전체 오버레이를 검증하므로 잘못된 파일이 재생 상태를 부분적으로 교체하거나 손상시키지 않습니다.

현지화 스토리 수동 로드

일반 재생에서는 자동으로 처리됩니다. 사용자 워크플로에서는 스토리 어댑터를 사용할 수 있으며, 로캘을 생략하면 TranslationServer를 따릅니다:

gdscript
var shot: KonadoShot = KonadoStoryLocalization.load_localized_script(
	"res://dialogues/chapter.ks"
)

Konado.NET에서는 언어 전환에 TranslationServer, 현지화 스토리 탐색과 로드에 KonadoApi.StoryLocalizationApi를 사용합니다.

Released under BSD3-Clause License.