Table of Contents

Class LocalizationSystem

Namespace
Framework.Systems.Localization
Assembly
Assembly-CSharp.dll

ILocalizationSystem 구현체. 언어 코드 / 다국어 키 이중 Dictionary로 문자열 관리.

public class LocalizationSystem : ILocalizationSystem, IInitializable
Inheritance
object
LocalizationSystem
Implements

Remarks

InitializeAsync는 현재 stub — 실제 운용 시 IConfigLoader를 통해 JSON 로드. GetString: 현재 언어 → 키 순서로 조회. 없으면 key 반환 + Warning 로그. ChangeLanguage: 언어 코드 교체 후 OnLanguageChanged 발행 → UI가 구독해 일괄 갱신. AddEntry: 초기화 단계 또는 테스트에서 직접 데이터 주입에 사용.

Constructors

LocalizationSystem(ILogSystem)

public LocalizationSystem(ILogSystem log)

Parameters

log ILogSystem

Properties

CurrentLanguage

현재 활성 언어 코드.

public string CurrentLanguage { get; }

Property Value

string

Methods

AddEntry(string, string, string)

언어별 문자열 엔트리 직접 추가. 초기화 또는 테스트에서 사용.

public void AddEntry(string lang, string key, string value)

Parameters

lang string

언어 코드 (예: "ko", "en", "ja").

key string

다국어 키.

value string

해당 언어 문자열.

ChangeLanguage(string)

언어 변경. OnLanguageChanged 이벤트 발행.

public void ChangeLanguage(string languageCode)

Parameters

languageCode string

언어 코드 (예: "ko", "en", "ja").

GetString(string)

키에 해당하는 현재 언어 문자열 반환. 없으면 key 자체 반환.

public string GetString(string key)

Parameters

key string

다국어 키.

Returns

string

InitializeAsync(CancellationToken)

로컬라이제이션 데이터 로드. 현재 stub — 실제 구현 시 IConfigLoader 사용.

public UniTask InitializeAsync(CancellationToken ct = default)

Parameters

ct CancellationToken

초기화 취소 신호.

Returns

UniTask

Events

OnLanguageChanged

언어 변경 시 발행. 인자: 변경된 언어 코드.

public event Action<string> OnLanguageChanged

Event Type

Action<string>