Class LocalizationSystem
- Namespace
- Framework.Systems.Localization
- Assembly
- Assembly-CSharp.dll
ILocalizationSystem 구현체. 언어 코드 / 다국어 키 이중 Dictionary로 문자열 관리.
public class LocalizationSystem : ILocalizationSystem, IInitializable
- Inheritance
-
objectLocalizationSystem
- Implements
Remarks
InitializeAsync는 현재 stub — 실제 운용 시 IConfigLoader를 통해 JSON 로드. GetString: 현재 언어 → 키 순서로 조회. 없으면 key 반환 + Warning 로그. ChangeLanguage: 언어 코드 교체 후 OnLanguageChanged 발행 → UI가 구독해 일괄 갱신. AddEntry: 초기화 단계 또는 테스트에서 직접 데이터 주입에 사용.
Constructors
LocalizationSystem(ILogSystem)
public LocalizationSystem(ILogSystem log)
Parameters
logILogSystem
Properties
CurrentLanguage
현재 활성 언어 코드.
public string CurrentLanguage { get; }
Property Value
- string
Methods
AddEntry(string, string, string)
언어별 문자열 엔트리 직접 추가. 초기화 또는 테스트에서 사용.
public void AddEntry(string lang, string key, string value)
Parameters
langstring언어 코드 (예: "ko", "en", "ja").
keystring다국어 키.
valuestring해당 언어 문자열.
ChangeLanguage(string)
언어 변경. OnLanguageChanged 이벤트 발행.
public void ChangeLanguage(string languageCode)
Parameters
languageCodestring언어 코드 (예: "ko", "en", "ja").
GetString(string)
키에 해당하는 현재 언어 문자열 반환. 없으면 key 자체 반환.
public string GetString(string key)
Parameters
keystring다국어 키.
Returns
- string
InitializeAsync(CancellationToken)
로컬라이제이션 데이터 로드. 현재 stub — 실제 구현 시 IConfigLoader 사용.
public UniTask InitializeAsync(CancellationToken ct = default)
Parameters
ctCancellationToken초기화 취소 신호.
Returns
- UniTask
Events
OnLanguageChanged
언어 변경 시 발행. 인자: 변경된 언어 코드.
public event Action<string> OnLanguageChanged
Event Type
- Action<string>